Free tool · runs in your browser

Browser SQL Playground

Drop in a CSV, Parquet, or JSON file and query it with real analytical SQL. A full DuckDB database runs inside your browser through WebAssembly, so your data never leaves your device.

🔒 100% private — a real database runs locally, nothing is uploaded
⌘/Ctrl + Enter to run
Your results will appear here. Load the sample dataset to see it in action.

How it works

This page loads DuckDB, a fast columnar analytics database, compiled to WebAssembly. When you drop in a file it is registered directly with the engine and exposed as a table, so a query like SELECT * FROM your_file runs against your real data. Because the whole engine lives in the page, there is no server round trip, no upload queue, and no privacy trade off. The first run downloads the engine once and your browser caches it after that.

What you can do with it

Explore a CSV someone sent you without opening a spreadsheet, join two files together, aggregate millions of rows, peek inside a Parquet export, or flatten nested JSON, all with plain SQL. DuckDB supports window functions, CTEs, GROUP BY, joins across your files, and most of the SQL you already know. It is genuinely useful for the quick "what is actually in this file" questions that come up every day.

Why run a database in the browser?

Uploading a data file to some random online tool to run one query is a privacy risk you do not need to take. Here the data stays on your machine, the queries are instant because nothing travels over the network, and there are no row caps or paywalls. It is the same engine data engineers run on the command line, just sitting in a tab.

Is my data uploaded anywhere?

No. DuckDB runs entirely in your browser via WebAssembly. Files are read locally and never sent to a server, which is why it works offline once the engine is cached.

Which file formats are supported?

CSV and TSV, Parquet, and JSON or NDJSON. Drop several files and each becomes its own table, so you can join across them.

How big a file can I query?

DuckDB is built for analytics, so hundreds of thousands of rows are no problem. The real limit is your device's available memory rather than an arbitrary server cap.

Can I run more than one statement?

Yes. Separate statements with semicolons and they run in order. The results shown are from the last statement that returns rows, so you can create temporary tables and then select from them.

Does it work on my phone?

It runs on modern mobile browsers, but the engine is a few megabytes and large files use real memory, so a laptop is the better experience for heavy work.

I build tools like this every day.

Senior full-stack engineer, available for senior or contract work, fully remote. See the rest of the lab or get in touch.