SQLite Query Playground
Drop a CSV, JSON, or SQLite file and query it with real SQL. Full SQLite engine runs in your browser.
Data source
Use the upload button to load a file. CSV and JSON become a table named data. Existing SQLite files open as-is.
The database lives in memory. Refresh the page and it resets.
Tip: press Ctrl+Enter (Cmd+Enter on Mac) to run.
What it does
Real SQLite, in your browser
This is not a simplified parser. Full SQLite compiled to WebAssembly runs locally, with joins, subqueries, and window functions.
Drop CSV, JSON, or SQLite
CSV and JSON become a table named data, with column types inferred. Existing .sqlite and .db files open directly.
Sortable, filterable results
Query results render in a scrollable table. Export the full result as CSV or JSON with one click.
Smart type inference
Numeric columns become INTEGER or REAL automatically, so SUM, AVG, and comparisons work without casting.
Runs entirely in your browser
Your files never leave your device. No upload, no server, no logging. Refresh the page to reset.
Keyboard friendly
Press Ctrl+Enter (Cmd+Enter on Mac) to run a query without leaving the editor.
How it works
Step 1
Load your data
Drop a CSV, JSON, or SQLite file, or try the built-in samples.
Step 2
Write SQL
Query the data table, join multiple tables from a SQLite file, or run anything SQLite supports.
Step 3
Export results
Copy the result as CSV or JSON, or download it as a file.
How it compares
| What matters | Typical tools | ToolDeck |
|---|---|---|
| Works offline | No | Yes, after first load |
| Sign-up required | Usually | No |
| File upload | Yes, to a server | Never, runs in your browser |
| Row or query limit | Common | None, limited by device memory |
| Export locked behind paywall | Often | Never |
| Cost | Credits or subscription | Free, unlimited |
Related tools
Questions people ask
Is my data uploaded anywhere?
No. The SQLite engine is compiled to WebAssembly and runs in your browser. Your CSV, JSON, and SQLite files are read locally and never sent to a server.
Which SQLite features are supported?
Everything the upstream SQLite engine supports, which is essentially all of it: joins, subqueries, CTEs, window functions, JSON1 functions, string and math functions, and most PRAGMAs. This is the real SQLite, not a reimplementation.
How are CSV and JSON handled?
CSV is parsed with a quote-aware parser that handles embedded commas, newlines, and doubled quotes. JSON is flattened so nested objects become columns like address_city. Both become a single table named data. Column types are inferred from the first 50 rows and columns become INTEGER, REAL, or TEXT.
Does the database persist between visits?
No. Everything lives in memory and resets when you refresh or close the tab. There is no persistent storage and no way to save the database to disk from within the tool yet. If you need persistence, export results as CSV or JSON.
What is the file size limit?
There is no hard limit, but the entire database is held in browser memory. A file that is a few hundred megabytes can push a browser tab hard. For typical CSV exports, JSON dumps, and small SQLite files it is instant.
Why does my column type look wrong?
Types are inferred from the first 50 non-empty values. If a column starts as text and later becomes numeric, the column stays TEXT so nothing is lost. Cast explicitly in your query with CAST(col AS INTEGER) or CAST(col AS REAL) if you need a different behavior.
Can I create and drop tables while playing?
Yes. Anything you can write in a SQLite console works here. CREATE TABLE, INSERT, UPDATE, DELETE, DROP, indexes, views, and triggers are all available inside the session.
Does it work on mobile?
Yes, but the layout is tuned for desktop and tablet. On phones the SQL editor and result table will feel cramped. For small queries it still works.