~/sql-explorer ☀ LIGHT apps ← about me
SQL Explorer
Full SQLite in your browser · zero upload · .sqlite files never leave your machine
▸ Database no database loaded
🗃️
Drop a .sqlite / .db file
or click to browse · processed locally
Samples load locally in your browser · no upload
▸ Schema
▸ SQL History
19:36:23 SELECT Name FROM Artist ORDER BY Name DESC LIMIT 5 ✓ 5 rows · 0ms
19:36:18 SELECT Name FROM Artist ORDER BY Name DESC; LIMIT 5 ✗ near "LIMIT": syntax error · 2ms
19:36:01 SELECT Name FROM Artist LIMIT 5 ORDER BY Name DESC; ✗ near "ORDER": syntax error · 1ms
19:35:31 -- index: IFK_EmployeeReportsTo on Employee SELECT sql FROM sqlite_master WHERE name='IFK_EmployeeReportsTo'; ✓ 1 rows · 0ms
19:35:23 -- index: IFK_AlbumArtistId on Album SELECT sql FROM sqlite_master WHERE name='IFK_AlbumArtistId'; ✓ 1 rows · 0ms
19:35:19 -- index: IFK_AlbumArtistId on Album SELECT sql FROM sqlite_master WHERE name='IFK_AlbumArtistId'; ✓ 1 rows · 1ms
19:35:12 SELECT Name FROM Artist ORDER BY Name DESC LIMIT 5; ✓ 5 rows · 0ms
19:34:18 SELECT Name FROM Track LIMIT 10; ✓ 10 rows · 0ms
19:33:32 SELECT Name, UnitPrice FROM Track ORDER BY UnitPrice DESC, Name LIMIT 5; ✓ 5 rows · 8ms
00:40:02 SELECT * FROM Track; ✓ 3503 rows · 7ms
00:39:42 SELECT COUNT(*) FROM Track; ✓ 1 rows · 0ms
00:39:37 SELECT * FROM Track; ✓ 3503 rows · 8ms
00:39:24 SELECT * FROM Track; ✓ 3503 rows · 9ms
00:38:31 SELECT COUNT(*) FROM Track; ✓ 1 rows · 0ms
00:38:12 SELECT * FROM Track; ✓ 3503 rows · 11ms
00:35:49 SELECT COUNT(*) FROM Track; ✓ 1 rows · 0ms
FAQ — SQL Explorer, SQLite in the browser

Frequently Asked Questions — SQL Explorer

Does my data actually stay on my machine?

Yes — nothing is uploaded. This page runs SQLite compiled to WebAssembly directly inside your browser tab. When you drop a .sqlite file, it's read by JavaScript via the File API and handed to the in-memory SQLite instance. No network request carries your data anywhere.

The only external request is the initial one-time download of the sql.js WASM binary from a public CDN (cdnjs). After that, queries run entirely offline.

Which SQL syntax is supported?

Full SQLite SQL — which means standard SQL plus SQLite-specific extensions: window functions, CTEs, JSON functions, FTS5, RTREE, and all the usual aggregates. Syntax like PRAGMA, ATTACH DATABASE, and WITH RECURSIVE works. What doesn't work: PostgreSQL-only or MySQL-only extensions (JSONB, ILIKE, MySQL's LIMIT x, y — use LIMIT y OFFSET x instead).

How big a database can it handle?

Practical limit is your browser's memory — SQLite loads the whole database into RAM. Databases up to a few hundred MB are fine on a modern laptop. Multi-gigabyte files will struggle or fail. For those, use a desktop client like DB Browser for SQLite.

Can I modify the database and download it?

Yes. INSERT, UPDATE, DELETE, CREATE TABLE, DROP, etc. all work on the in-memory database. When you're done, click ⬇ db in the run bar to download the modified .sqlite file. The original file on your disk is never touched.

Keyboard shortcuts?

⌘ / Ctrl + Enter — run the current query.
⌘ / Ctrl + Shift + Enter — run only the selected text.
Tab in the editor inserts two spaces instead of moving focus.

What are the sample databases?

Chinook — a media-store schema (artists, albums, tracks, invoices) used in almost every SQL tutorial. Good for joins and aggregates.

Northwind — the classic Microsoft demo database (customers, orders, products, employees).

Employees — a tiny HR-style database good for quickly testing syntax.

Samples load fully in-memory and can be modified freely. Your edits don't persist unless you export the .sqlite.

Is this tool free to use?

Yes, completely free. No account, no subscription, no ads. It is one of the free browser-based tools at jasperbernaers.com.