Convert Parquet to SQL Online
Convert Parquet files to SQL INSERT statements directly in your browser. Copy or download the generated SQL — no upload required.
About converting Parquet to SQL
Parquet to SQL produces a script you can paste into a database client: one CREATE TABLE statement followed by one INSERT per row. It is useful for moving a small dimension or lookup table from a data lake into PostgreSQL, SQLite or MySQL for an app, for seeding a test database, or for attaching a reproducible dataset to a bug report.
The column list comes straight from the Parquet schema, which is the advantage over starting from CSV. Integer widths and DECIMAL precision and scale are copied exactly, so a DECIMAL(10,2) column stays DECIMAL(10,2). DOUBLE becomes DOUBLE PRECISION and FLOAT becomes REAL, names that PostgreSQL, MySQL and SQLite all accept. Identifiers are wrapped in double quotes, which MySQL only accepts with ANSI_QUOTES enabled.
The script covers the first 1,000 rows only. That keeps it pasteable, and row-by-row INSERTs are slow for bulk data anyway. For a full Parquet file, most databases have a native route: DuckDB and ClickHouse read Parquet directly, PostgreSQL has extensions like pg_parquet, and anything else can load a CSV with COPY or LOAD DATA.
Worked example
A small sample file, converted with the default settings.
Input (Parquet)
Parquet file (binary, columnar) — shown as a table with its schema
| order_id | customer | ordered_at | amount | shipped |
|---|---|---|---|---|
| 1001 | Acme Ltd | 2026-03-02 09:15:00 | 249.5 | true |
| 1002 | Brightside Co | 2026-03-02 14:40:00 | 1200 | false |
| 1003 | Acme Ltd | 2026-03-05 08:05:30 | 89.99 | true |
| 1004 | Northwind | 2026-03-07 17:22:00 | NULL | false |
Schema: order_id BIGINT, customer VARCHAR, ordered_at TIMESTAMP WITH TIME ZONE, amount DOUBLE, shipped BOOLEAN
Output (SQL)
CREATE TABLE IF NOT EXISTS "data" (
"order_id" BIGINT,
"customer" TEXT,
"ordered_at" TIMESTAMP,
"amount" DOUBLE PRECISION,
"shipped" BOOLEAN
);
INSERT INTO "data" VALUES (1001, 'Acme Ltd', '2026-03-02 09:15:00', 249.5, true);
INSERT INTO "data" VALUES (1002, 'Brightside Co', '2026-03-02 14:40:00', 1200, false);
INSERT INTO "data" VALUES (1003, 'Acme Ltd', '2026-03-05 08:05:30', 89.99, true);
INSERT INTO "data" VALUES (1004, 'Northwind', '2026-03-07 17:22:00', NULL, false);What changes when you convert Parquet to SQL
- The table name is the file name with anything other than letters, digits and underscores replaced by underscores. The statement is CREATE TABLE IF NOT EXISTS.
- BIGINT, INTEGER and DECIMAL(p,s) keep their declared types. DOUBLE becomes DOUBLE PRECISION, BOOLEAN stays BOOLEAN and DATE stays DATE.
- TIMESTAMP WITH TIME ZONE becomes plain TIMESTAMP, and values such as '2026-03-02 09:15:00' are written in UTC. TIME stays TIME. VARCHAR, BLOB, UUID and nested types become TEXT.
- NULL is written as the keyword NULL, as in the INSERT for order 1004. Text values are single-quoted with inner quotes doubled.
- Struct, list and map values are written as JSON strings in TEXT columns, ready to cast to jsonb in PostgreSQL.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Frequently Asked Questions
Why does the script stop at 1,000 rows?
The SQL output is meant for copying into a client or a migration file. For more rows, filter or page through the data with LIMIT and OFFSET in the SQL Query tool, or load the whole file with your database's Parquet reader or a CSV bulk load.
Will the script run on MySQL?
With one change. Enable ANSI_QUOTES or replace the double-quoted identifiers with backticks. The column types, DOUBLE PRECISION included, are valid MySQL as written. PostgreSQL and SQLite run it unchanged.
Where did my time zone go?
TIMESTAMP WITH TIME ZONE is declared as TIMESTAMP and the values are written as UTC wall-clock times. On PostgreSQL, change the column type to TIMESTAMPTZ and set the session time zone to UTC before running the inserts.
What is SQL format?
SQL (Structured Query Language) is the standard language for querying and manipulating relational databases. The output contains CREATE TABLE and INSERT INTO statements ready to run against any SQL-compatible database.
Related Tools
Parquet Viewer Online
View and inspect Parquet files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Validate Parquet Files Online
Validate Parquet file structure in your browser. Check null counts, distinct values, and data types for every column — no upload required.
Deduplicate Parquet Files Online
Remove duplicate rows from Parquet files instantly in your browser. No upload, no server — 100% private.
Convert Parquet to CSV Online
Convert Parquet files to CSV format directly in your browser. No upload required — your data never leaves your device.
Convert Parquet to Excel Online
Convert Parquet files to Excel format directly in your browser. No upload required — your data never leaves your device.
Convert Parquet to JSON Online
Convert Parquet files to JSON format directly in your browser. No upload required — your data never leaves your device.