A full-featured SQLite editor, right inside VS Code.
Click any .db file and browse, edit, query, and export it in place. Think phpMyAdmin, but for SQLite. No native dependencies, no telemetry. Free.
- Free
- No telemetry
- Zero native deps
- Win · macOS · Linux

A real editor, not just a viewer.
It just works
SQLite runs as WebAssembly with file I/O through a Node VFS. No native binaries, nothing to compile, no “module failed to load”. Identical on Windows, macOS, and Linux.
A true editor
Inline cell editing, row insert / delete / duplicate, CSV import, a SQL runner, and undo. Every editing feature is included, and it's all free.
Fast
A canvas-rendered grid handles 100k+ row tables smoothly, with virtualized scrolling, sorting, and paging. Writes go to the file page by page, so big databases are never fully loaded into memory.
AI-ready
Copy a whole schema as Markdown, or export any table as a SQL dump, ready to paste straight into your favorite assistant.
Private by design
No telemetry, no tracking, no network calls. Your databases never leave your machine.
See it in action.




Everything, included.
Eleven things SQLitePad does, all free.
Open by clicking
.sqlite, .sqlite3, .db, .db3 and .s3db files open directly in the editor, with no command-palette dance.
Full editing
Inline cell editing with type-affinity coercion, insert via a form panel, delete, set NULL with Del. Every change is committed immediately and transactionally.
SQL query runner
CodeMirror editor with theme-aware highlighting and schema autocompletion; multi-statement scripts, run-selection, per-statement timings; save a SELECT as a view in one click.
Filters & quick search
Per-column filters (=, contains, ranges, NULL/empty), right-click a cell to filter or exclude, plus a debounced box searching every column.
Foreign-key superpowers
Filter an FK column by searching the referenced table by name; jump to the referenced row; FK autocompletion in insert forms; preview columns remembered per database.
Import & export
Import CSV into tables (header matching, preview, single transaction); export tables or query results to CSV / JSON / Markdown / SQL dump, either to a file or the clipboard.
Undo & history
A session audit log showing old → new values for every change; undo with Ctrl+Z or from the History tab. Updates, inserts and deletes are fully reversible.
Row details
A vertical field view for wide rows, JSON pretty-printing, BLOB hex preview with image detection (PNG/JPEG/GIF/WebP) plus download/replace, and inline FK previews.
Schema view
Columns, primary keys, foreign keys, indexes, and pretty DDL. Copy the whole schema as Markdown.
Safe by default
Read-only toggle, modal confirmation for multi-row deletes, external-change detection with a refresh banner, WAL databases handled via exclusive locking.
Remembers your layout
Column widths, pinned columns, and FK preview choices persist per database.
Lightweight
One focused extension, no paid tiers, no account. Install it and open a database.
Getting around.
| Action | How |
|---|---|
| Open a database | Click the file in the Explorer |
| Sort | Click a column header (asc → desc → off) |
| Edit a cell | Double-click it, type, Enter |
| Set NULL | Select cell(s), press Del |
| Insert a row | Toolbar + Insert |
| Delete rows | Select via row markers, press Del |
| Run SQL | Query tab, Ctrl+Enter |
| Save query as view | Query tab → Save as view… |
| Filter via a foreign key | FK column header ▾ → search the referenced table |
| Lock the file | Toolbar 🔒 Read-only |
Where the edges are.
- !
WAL-mode databases open with locking_mode=EXCLUSIVE (the WASM VFS has no shared memory), so other processes can't write while the editor holds the file.
- !
Editing needs a row identity: rowid tables and WITHOUT ROWID tables with a primary key are editable; views and exotic rowid-less results are read-only.
- !
BLOB values are viewed and replaced through the row detail panel, not inline in the grid.
- !
Not yet available in VS Code for Web; it reads and writes files directly on disk.
What's shipped.
- Failed multi-statement scripts in the Query tab now roll back cleanly, instead of leaving earlier statements committed.
- Quick search and LIKE filters treat % and _ as literal characters, so searching for “50%” no longer matches everything.
- A render error now shows a recoverable screen with a Reload button, not a blank panel.
- CSV import no longer drops a final all-empty record.
- Column filters match TEXT values exactly, so zero-padded codes like 0123 and phone numbers stay intact while numeric columns still compare as numbers.
- Memory guard: CSV imports over 50 MB and exports over 500,000 rows are refused with a clear message, instead of freezing the editor.
- WITHOUT ROWID inserts with a server-assigned primary key are now undoable, and large tables page faster thanks to cached row counts.
- Smaller fixes: expression-based indexes show correctly in the schema view, the multi-row delete warning is accurate, and truncated files are rejected.
- Custom editor for .sqlite / .sqlite3 / .db / .db3 / .s3db files.
- Virtualized grid: sort, page, pin and resize columns, layout saved per database.
- Inline editing, insert / delete / duplicate, with immediate transactional persistence.
- SQL runner, foreign-key tools, schema view, CSV import and CSV/JSON/Markdown/SQL export.
- Undo / history, read-only toggle, external-change detection, WAL support.
Found a bug? Got an idea?
SQLitePad's source is private, but bug reports and feature requests are very welcome, and they're tracked publicly on GitHub. Pick a template and tell me what happened.