Guide

DuckDB online: run DuckDB in your browser with nothing to install

DuckDB is hard to beat for running analytical SQL over a flat file. The catch is setup: you install the CLI or a Python package first. DuckDB also compiles to WebAssembly, so the same engine can run in a browser tab. Here’s what that gets you, which DuckDB features are worth learning, and where the browser version falls short.

What DuckDB-WASM is

DuckDB-WASM is the official WebAssembly build of DuckDB. It’s the same columnar engine as the CLI, compiled to run in any modern browser. There’s no database server behind it. The page downloads the engine once, and every query runs on your own CPU.

NoEgress puts a workbench around it: SQL editor, table view, pivot table, column profile, and charts. Think of it as a DuckDB UI you don’t have to install. Every file you open becomes a DuckDB table.

Open a file and query it

Drop in a CSV, Excel workbook, or JSON file and it shows up as a table named after the file. Big CSVs stream from disk into DuckDB, so there’s no fixed row limit. Then start where you would in the CLI.

SUMMARIZE orders;

DuckDB SQL features worth knowing

DuckDB SQL is close to PostgreSQL, with a few shortcuts that make ad-hoc work much shorter. GROUP BY ALL groups by every column you didn’t aggregate, so you stop repeating the select list. EXCLUDE drops columns from SELECT *. QUALIFY filters on a window function without a subquery.

SELECT
  region,
  product,
  SUM(revenue) AS revenue
FROM orders
GROUP BY ALL
QUALIFY ROW_NUMBER() OVER (PARTITION BY region ORDER BY SUM(revenue) DESC) <= 3
ORDER BY region, revenue DESC;

PIVOT without a spreadsheet

DuckDB has a real PIVOT statement. It turns the values of one column into columns, which covers most of what people use pivot tables for. NoEgress also has a drag-and-drop pivot view on top of the same engine.

PIVOT orders
ON order_month
USING SUM(revenue)
GROUP BY region;

DuckDB in the browser vs the DuckDB CLI

The SQL is the same. The limits come from the tab. The browser caps memory, and DuckDB can only see files you open, not any path on your disk. Some extensions that need network access or native code aren’t available.

What you get back is zero setup, a table and a chart for every result, and a tool you can hand to a colleague who will never install a CLI. For a one-off look at a few files, that’s usually a good deal.

Is it private?

Yes, by design. The browser reads the file from your disk and loads it into DuckDB inside the tab. There’s no upload endpoint to send it to. Open the Network panel while you run a query and you’ll see nothing go out.

Frequently asked

Can I use DuckDB online without installing anything?

Yes. NoEgress runs DuckDB-WASM, the official WebAssembly build of DuckDB, in your browser. Open the workbench, pick a file, and write DuckDB SQL. No install, no account, no server.

Is DuckDB-WASM the same as regular DuckDB?

Same engine, same SQL, compiled to WebAssembly. The differences come from the browser: the tab caps memory, and DuckDB only sees the files you open.

Does my data get uploaded to run DuckDB online?

No. The engine runs in your tab, so queries run on your machine and the file stays there.

Try it on your own file

More guides

How to query a CSV file with SQL

How to open large CSV files Excel can't handle

How to run SQL on an Excel spreadsheet

How to analyze confidential data without uploading it

How to compare two CSV files and find what changed

Data quality checks to run before trusting a dataset

How to query a JSON file with SQL

How to ask a local AI model about your CSV or Excel data