In-Browser SQL Playground
Run SQL entirely in your browser — no server, no signup, no data leaving the device. A pure-JS SQL engine executes CREATE TABLE, INSERT, and SELECT (WHERE, JOIN, GROUP BY, HAVING, ORDER BY, LIMIT, DISTINCT) against in-memory tables. Export results as CSV/JSON/Markdown. Schema browser, sample datasets, query history, shareable URL. 100% client-side.
About In-Browser SQL Playground
Run SQL entirely in your browser — no server, no signup, no data leaving the device. A pure-JS SQL engine executes CREATE TABLE, INSERT, and SELECT (WHERE, JOIN, GROUP BY, HAVING, ORDER BY, LIMIT, DISTINCT) against in-memory tables. Export results as CSV/JSON/Markdown. Schema browser, sample datasets, query history, shareable URL. 100% client-side. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
Does this tool use a real database like SQLite or DuckDB?
No — this is a small pure-JavaScript SQL engine built from scratch that runs entirely in your browser. It implements CREATE TABLE, INSERT, and SELECT (with WHERE, JOIN, GROUP BY, HAVING, ORDER BY, LIMIT, DISTINCT) over in-memory tables. It's designed for teaching, ad-hoc analysis, and quick experimentation — not as a replacement for a full database. For very large datasets or transactional guarantees, use sql.js (SQLite WASM) or DuckDB-Wasm.
What SQL features are supported?
DDL: CREATE TABLE (with INTEGER, TEXT, REAL, NUMERIC, BLOB types; PRIMARY KEY; NOT NULL; DEFAULT; IF NOT EXISTS) and DROP TABLE. DML: INSERT (single and multi-row). Queries: SELECT with column projection (including * and alias.*), WHERE (=, !=, <, >, <=, >=, LIKE with % and _, IN, NOT IN, BETWEEN, IS NULL, IS NOT NULL, AND, OR, NOT), INNER and LEFT JOIN, GROUP BY with COUNT/SUM/AVG/MIN/MAX aggregates, HAVING, ORDER BY (ASC/DESC), LIMIT and OFFSET, DISTINCT, and scalar functions (UPPER, LOWER, LENGTH, ABS, ROUND, COALESCE, TRIM, CONCAT). Multi-statement scripts are supported (semicolon-separated).
How are NULLs and types handled?
NULL is a first-class value. SQL three-valued logic is honored: any comparison (=, <, >, etc.) with a NULL operand returns NULL (treated as false in WHERE), and NULL = NULL is NULL — use IS NULL or IS NOT NULL to test for NULL. Arithmetic with NULL propagates NULL. Column types are declared in CREATE TABLE; values are coerced on INSERT (e.g. TRUE stored as a boolean for NUMERIC columns, integers truncated for INTEGER). The literal NULL, TRUE, and FALSE are recognized in INSERT and SELECT.
Can I save or share my queries and data?
Yes. The schema + data can be exported to a JSON file and re-imported later (full round-trip). Query results can be exported as CSV, JSON, or Markdown. Your recent 20 queries are kept in localStorage history. And the current SQL can be shared via a URL — the entire query is encoded in the URL hash so the recipient sees exactly what you wrote.
What extra features does this tool have versus others?
(1) Pure-JS SQL engine — no WASM, no server, instant load. (2) Multi-statement script execution with per-statement timing. (3) WHERE with full operator set (=, !=, <, >, <=, >=, LIKE, IN, BETWEEN, IS NULL, AND, OR, NOT). (4) INNER + LEFT JOIN. (5) GROUP BY with COUNT/SUM/AVG/MIN/MAX + HAVING. (6) ORDER BY (ASC/DESC) on source columns, output aliases, or aggregates. (7) LIMIT / OFFSET / DISTINCT. (8) Scalar functions: UPPER/LOWER/LENGTH/ABS/ROUND/COALESCE/TRIM/CONCAT. (9) Three bundled sample datasets. (10) Schema browser sidebar. (11) Results export as CSV/JSON/Markdown. (12) Database export/import (full round-trip). (13) localStorage query history (max 20). (14) Shareable URL with embedded SQL. 100% offline — no upload.
Related tools
.bashrc / .zshrc Alias & Config Manager
Build shell aliases, functions, exports, and PATH edits in a visual editor, then export a clean, commented .aliases file sourced from both .bashrc and .zshrc — with shadowing detection against shell builtins and common CLI tools, function suggestions when args are needed, starter packs (git, docker, kubectl, navigation, safety, ls, dev, devops, data science), import of existing rc files, dedupe, history (localStorage), and shareable URL. 100% client-side.
Add / Subtract Date Calculator
Add or subtract years, months, weeks, days, hours, minutes and seconds from a starting date/time. Calendar-day or business-day mode with custom weekend + holiday list. Month-end policy toggle (clamp to last day vs overflow). Repeat/series mode (e.g. every 2 weeks x 10) with CSV export. Shareable URL. 100% client-side.
Age Calculator
Calculate exact age from a birth date in calendar years/months/days (no negative-day bugs) plus totals in months/weeks/days/hours/minutes/seconds. Next-birthday countdown with weekday. Feb-29 birthday policy toggle. Milestones (1,000 days, 10,000 days, 1 billion seconds). Zodiac sign + Chinese zodiac. Age gap comparison. Shareable URL. 100% client-side.