Run SQL queries against Parquet, CSV, JSON, NDJSON, and Excel files directly in your browser using DuckDB-WASM. Load several files and JOIN across them, or start from the one-click sample dataset — nothing leaves the page.
Run SQL on Parquet — right in the browser
This page embeds DuckDB compiled to WebAssembly: a real analytical SQL engine running on your machine. Load files and query them by name — no import step, no server, no signup. Your data never leaves the browser.
What it supports
Multiple files, mixed formats — Parquet, CSV, TSV, JSON, NDJSON, XLSX register under their own names and JOIN together; load from disk, drag-and-drop, or a pasted URL. Remote Parquet is read with HTTP range requests, so a multi-GB file is queryable without downloading it.
A whole folder as one table — drop a directory of Parquet or CSV files and query it by the folder's name; key=value subfolders become columns (Hive partitioning).
DuckDB database files — drop a .duckdb file and its tables attach read-only under the file's name.
Full DuckDB SQL — window functions, CTEs, GROUP BY ALL, SUMMARIZE. One session across runs: TEMP tables, SET and USE persist, and multi-statement scripts show a result per statement.
A schema panel lists each file's columns and types and every table, view and attached database in the session (click to insert); an examples menu offers ready-to-run starters, including a JOIN template with two files loaded.
Schema-aware autocomplete: file, table and view names after FROM/JOIN, columns with types, function signatures, snippets.
Editor built for iteration: Cmd/Ctrl+Enter runs (a selection or the statement at the cursor runs alone), Cmd/Ctrl+Shift+Enter runs the whole script, Cmd/Ctrl+Shift+F formats, errors are underlined on the failing statement, long queries can be cancelled, last 50 queries kept locally.
Sortable results grid with per-column types and execution time; export to CSV, JSON, or Parquet — Parquet is written by DuckDB itself, so the full result and every column type survive; copy as CSV or Markdown; or open the result in the chart builder.
Shareable links — the SQL mirrors into the URL fragment, which stays in your browser; your last SQL and the names of the files you had open are restored on the next visit, and an optional switch keeps the files themselves on your device.
The auto-limit guard
Single-statement SELECTs without their own LIMIT are wrapped in LIMIT 10000 by default so a stray SELECT * cannot freeze the tab — toggle it off for full output. Explicit-LIMIT queries, multi-statement scripts, and DDL run untouched.