SQL on CSV & Excel

Run SQL queries on CSV, Excel, Parquet and JSON files.

  • Runs on your device, nothing uploaded
  • Free, no sign-up, no watermark
  • SQL engine (DuckDB) loads once

Before you start

These tools are free for everyday use. Please only use files you have the right to use, and don’t use them to mislead, harass or harm anyone, for example by changing documents or IDs, or editing photos of people without their consent.

To keep things that way, images are checked on your device for explicit or violent content, and extracted text is checked for threats. The checks run in this tab, so nothing is uploaded.

Drop data files here

CSV, TSV, Excel (.xlsx), Parquet or JSON, up to 300 MB each (Excel up to 50 MB) and 10 files. Add several to join them.

How to use it

  1. Drop one or more CSV, Excel (.xlsx), Parquet or JSON files. Each file becomes a table, and each Excel sheet becomes its own table.
  2. Write a query in the editor and press Run or Ctrl+Enter. Click a table or column name to insert it.
  3. Export the full result as CSV, Parquet or JSON.

Good to know

  • The engine is DuckDB, so you get full analytical SQL: joins, window functions, GROUP BY ALL, PIVOT and more.
  • Files can be up to 300 MB each (Excel files up to 50 MB), with up to 10 files at a time. Phones have less memory, so smaller files work best there.
  • Column types are detected automatically. Use CAST(col AS DATE) or TRY_CAST to change them in a query.
  • The screen shows the first 1,000 rows. Exports always include every row.
  • Old .xls files are not supported. Save them as .xlsx or .csv first.

Questions

Is my data uploaded?

No. Your browser reads the file, and DuckDB runs inside this tab. Only the DuckDB engine itself is downloaded, from the jsDelivr CDN, the first time you use the tool.

Can I join two files?

Yes. Drop both files, then join them like any two tables: SELECT * FROM orders o JOIN customers c ON o.customer_id = c.id.

What SQL dialect is this?

DuckDB SQL, which is close to PostgreSQL with many extras. If you know SQL Server or MySQL, most queries work as written; date functions differ slightly.

Can it open Excel files with several sheets?

Yes. Each sheet with data becomes a separate table named after the file and sheet.

More tools