Skip to content

DuckDB SQL Playground

Run SQL queries in your browser with DuckDB. Try built-in datasets, or upload CSV and Parquet files as local tables.

Free to use. No account required. No install. Queries run locally in your browser with DuckDB-WASM.

Ready · loads on first run

Learn the patterns behind the starter queries

DuckDB in the browser

A free browser SQL workbench

Use SQLShed as a free in-browser SQL workbench when you need a quick place to test SELECT statements, joins, aggregates, date filters, window functions, or DuckDB syntax. You can start with built-in practice datasets or upload a CSV or Parquet file and query it locally.

There is nothing to sign up for and no database server to set up. DuckDB is an embedded SQL database built for analytical queries, and SQLShed runs it through WebAssembly so the playground behaves like a small local database inside this browser tab.

Everything runs locally

Queries run in DuckDB-WASM on your device. Uploaded files, query text, and result rows are not sent to SQLShed. Reloading the page resets the built-in sample database.

Upload CSV or Parquet

Upload a CSV or Parquet file up to 10 MB and register it as a table for the current session. Uploaded tables stay local and are not included in shared links.

Runnable examples

The Examples menu above the editor loads a working query for the current dataset, grouped by task: explore, aggregate, join, window functions, and objects. Run one, then change it.

A practice engine, not a production database

The playground is designed for learning, exploration, and small file checks. For production data work, use your own database, permissions, backups, and review process.

DuckDB playground questions

What is DuckDB?

DuckDB is an open-source SQL database built for analytics. It runs inside another program instead of as a server, which is what lets SQLShed run it as WebAssembly in your browser tab. The playground is a small database that lives only in this page.

Is it free, and do I need an account?

It's free, with no account, email, or install. Open the page and run a query.

Do my queries leave my browser?

No. Queries run on your device, and your queries, uploaded files, and results are not sent to SQLShed or anyone else. The page does download the DuckDB engine from jsDelivr and the practice datasets from SQLShed. A share link keeps its query after the # in the address, which browsers never send to a server.

Can I query my own data?

Yes. Upload a CSV or Parquet file up to 10 MB and it becomes a table named after the file, which you can join to the built-in datasets. It stays in this tab, and share links never include it.

Do the tables I create stay between runs?

Tables and views you create stay until you reload the page, and a reload also clears uploaded files. Each Run opens a new connection, so a TEMP table lasts only for the Run that created it. Your last 30 queries stay in the History tab across reloads.

How is DuckDB's SQL different from PostgreSQL or MySQL?

Most everyday SQL runs the same. The differences you're likely to meet: dividing two integers gives a decimal (7 / 2 is 3.5, where PostgreSQL and SQL Server give 3), and DuckDB adds shortcuts such as GROUP BY ALL and QUALIFY. The lessons label anything DuckDB-only and show the portable form beside it.

Which examples should I start with?

Open the Examples menu above the editor. COUNT rows, GROUP BY, INNER JOIN, LEFT JOIN, WHERE IN, date filtering, calculated columns, and ORDER BY with LIMIT each load a working query for the current dataset. Run one, then change it.

Practice with sample data

Start with one of the 9 built-in practice datasets when you want realistic DuckDB data without setting up a database. Each one is loaded locally so you can test joins, aggregates, date filters, and text cleanup quickly.

Query your own files

Upload a CSV or Parquet file and register it as a table for the current browser session. That makes the playground useful for checking a quick SQL idea, exploring a spreadsheet export, or trying DuckDB syntax before moving into a larger project.

Learn without a server

SQLShed uses DuckDB-WASM, so queries run on your device instead of a remote database. The setup is intentionally lightweight: write a query, run it, inspect the result, then revise the SQL until the output matches the question.

Privacy note: the playground runs in your browser with DuckDB-WASM, which is downloaded from jsDelivr. Your queries, uploaded files, and results are not sent to SQLShed or anyone else. A share link keeps its query after the # in the address, which browsers never send to a server. Uploaded CSV and Parquet files are registered as tables you can query alongside the built-in datasets. The History tab keeps your last 30 queries in this browser's local storage; Clear history deletes them.