A SQL playground that runs in your tab: CSV import, schema explorer and exportable results
The gap between "I have a CSV and a question" and "I have an answer" is usually an install. A database, a client, a connection
string, a load script. For a five-line query that is an absurd amount of ceremony.
SQLite compiled to WebAssembly
The whole SQLite engine is a small enough C library that it compiles to WebAssembly and runs inside a browser tab. It is the real
engine, not a subset — the same one shipping on every phone in the world. Databases live in memory in your tab, so nothing is
uploaded and nothing survives a refresh unless you download it.
Import a CSV as a table
Point the tool at a CSV and it creates a table from the header row, infers column types from the values, and inserts the rows. From
that moment it is ordinary SQL: joins, GROUP BY, window functions, CTEs. This is the fastest path from spreadsheet to answer that
does not involve pivot tables.
The schema explorer is not decoration
Half of writing a query is remembering what the columns are called. A sidebar listing every table with its row count, expandable to
column names and types, with a one-click "select rows" that drops a starter query into the editor, removes most of the typing and
all of the guessing.
Export what you found
A result grid you cannot get data out of is a dead end. Export to CSV to hand results to a spreadsheet, or to JSON to paste into
code or a fixture file.
Good uses
- Practising SQL for an interview without provisioning anything.
- Reproducing a bug against a small fixture dataset.
- Answering a one-off question about an exported report.
- Teaching joins to someone who should not have to install Postgres first.
Where it stops
It is SQLite, so Postgres-specific syntax will not run, and the dataset must fit comfortably in your tab's memory — tens of
megabytes is fine, gigabytes are not. For everything smaller than that, no setup beats no setup.