Modern SQLite (and SQLCipher) database viewer/editor for VS Code: table browsing, Monaco-powered queries, ER diagrams, and quality-of-life tooling for JSON/BLOBs and large tables.
Beta note: features and stability are evolving. Please report issues/feedback on GitHub.
Offline + Secure: runs locally inside VS Code and the extension does not send your database contents anywhere (no cloud, no telemetry).
A quick tour of the main workflows (all offline, inside VS Code):
Browse + edit tables
|
Multi-table tabs
|
Schema view
|
Query editor (Monaco)
|
Foreign-key navigation
|
ER diagram
|
JSON viewer
|
BLOB viewer
|
SQLCipher (encrypted DBs)
|
External updates
|
- Free: no paywalls; MIT-licensed.
- Offline + secure by design: database contents stay on your machine (the extension doesn’t make network requests).
- Custom database editor for
.db,.sqlite,.sqlite3(opens as a rich UI, not plain text). - Database Explorer view (tables + columns) while a database is open.
- Multi-table tabs (open multiple tables/results, drag to reorder).
- Fast table browsing: pagination, quick search, sorting, column filters, resizable columns/rows, column pinning.
- Editing: inline cell edit + row delete (writes changes back to the database file).
- Context menu tools: copy cell/row/column, copy row/table as JSON, JSON viewer for JSON cells, BLOB viewer + copy as Base64/Hex.
- Export from the table UI: export currently visible rows to CSV.
- Foreign-key navigation: jump to referenced rows from FK cells.
- ER diagram: interactive relationship diagram (zoom/pan) built with D3.
- WAL-aware: checkpoints WAL on open (best-effort) and refreshes when
-wal/-shmchange.
- Open any
.db,.sqlite, or.sqlite3file. - If VS Code asks, choose Open With… → SQLite Database IntelliView.
- Use the left Database Explorer to open tables, then:
- Data tab: browse/edit rows
- Schema tab: inspect columns/keys
- Query tab: run SQL
- Diagram tab: generate an ER diagram
Tip: right-click a database file in Explorer → Open SQLite Database.
SQLite IntelliView runs locally inside VS Code. For best functionality, install these command-line tools and ensure they’re available on your PATH:
sqlite3(recommended): used for WAL checkpointing on unencrypted databases.sqlcipher(only for encrypted DBs): used to decrypt/re-encrypt SQLCipher databases and checkpoint encrypted WAL databases.
If you don’t install these:
- Unencrypted databases will still open, but WAL checkpointing may be limited.
- Encrypted (SQLCipher) databases won’t be able to open/decrypt.
- macOS (Homebrew):
brew install sqlite - Ubuntu/Debian:
sudo apt-get update && sudo apt-get install -y sqlite3 - Windows:
- Winget:
winget install --id SQLite.SQLite -e - Chocolatey:
choco install sqlite
- Winget:
Verify: sqlite3 --version
- macOS (Homebrew):
brew install sqlcipher - Ubuntu/Debian:
sudo apt-get update && sudo apt-get install -y sqlcipher - Windows:
- MSYS2:
pacman -S mingw-w64-x86_64-sqlcipher - Or install a SQLCipher build and add
sqlcipher.exeto yourPATH.
- MSYS2:
Verify: sqlcipher -version
- Windows:
readme/windows-path-setup.md - macOS:
readme/macos-path-setup.md
- Run SQLite IntelliView: Connect with SQLCipher Key and enter your key.
- Or use the input box at the top of the Database Explorer view.
- SQLCipher support requires the
sqlcipherCLI to be available on yourPATH(used for decrypt/re-encrypt and WAL operations).
If your database uses WAL mode, IntelliView will try to checkpoint the WAL before loading so you see up-to-date data, and will refresh when WAL/SHM files change.
If the database is locked by another process (or you only have read-only access), you may see stale data. Use:
- SQLite IntelliView: Checkpoint WAL and Refresh
For best results, ensure the sqlite3 CLI is available on your PATH (used for WAL checkpointing on unencrypted databases).
These VS Code settings control WAL behavior and external refresh noise:
sqliteIntelliView.walCheckpointMode("full" | "passive" | "off", default:"full"): controls how WAL checkpointing runs when opening a database with a-walfile.full: more aggressive checkpoint (best chance of up-to-date data).passive: less intrusive checkpoint attempt.off: skip auto-checkpoint on open.
sqliteIntelliView.walAutoCheckpoint(default:true): backward-compatibility toggle. If set tofalse, auto-checkpoint is disabled even ifwalCheckpointModeisfullorpassive.sqliteIntelliView.walMonitoring(default:true): watches DB/WAL/SHM files and auto-refreshes when changes are detected.sqliteIntelliView.externalRefreshDebounceMs(default:500): coalesces bursts of DB/WAL/SHM file events into a single refresh. Increase this if external writers are noisy.sqliteIntelliView.defaultPageSize: default rows per page in table views.
Tip: if you see repeated refresh notifications from busy external writers, keep walMonitoring on and increase externalRefreshDebounceMs (for example, 750 or 1000).
| Command | Purpose |
|---|---|
SQLite IntelliView: Open SQLite Database |
Open a database in the custom editor |
SQLite IntelliView: Connect with SQLCipher Key |
Connect to an encrypted database |
SQLite IntelliView: Refresh Database |
Refresh the Database Explorer view |
SQLite IntelliView: Checkpoint WAL and Refresh |
Force a WAL checkpoint (best-effort) |
SQLite IntelliView: Export Data |
Placeholder command (use the in-table Export button today) |
| Command | Windows/Linux | macOS |
|---|---|---|
| Open SQLite Database | Ctrl+Shift+O |
Cmd+Shift+O |
| Connect with SQLCipher Key | Ctrl+Shift+K |
Cmd+Shift+K |
| Refresh Database | Ctrl+Shift+R |
Cmd+Shift+R |
| Export Data | Ctrl+Shift+E |
Cmd+Shift+E |
These work while focus is inside the database editor webview:
| Action | Shortcut |
|---|---|
| Execute query | Ctrl+Enter / Cmd+Enter |
| Clear query editor | Ctrl+K / Cmd+K |
| Focus table search | Ctrl+F / Cmd+F (or / on the Data tab) |
| Refresh view (re-fetch) | Ctrl+Shift+R / Cmd+Shift+R |
| Hard reload from disk | Ctrl+Alt+R / Cmd+Option+R |
- Query results are capped (to keep the UI responsive). For very large exports, use the table UI’s CSV export or a dedicated SQLite client.
- Query editor writes are not persisted yet: non-
SELECTstatements may run in-memory but are not currently written back to disk; use inline cell editing / row delete for persisted changes. - Edits write to the database file. Consider working on a copy if the database is important or shared with other processes.
- SQL restrictions: some sensitive statements are blocked in the query editor (for example:
PRAGMA key,ATTACH DATABASE,DETACH DATABASE).
- “Database is locked” / WAL checkpoint fails: close other apps holding the DB, or run Checkpoint WAL and Refresh.
- Encrypted DB won’t open: ensure
sqlcipheris installed and onPATH, then reconnect with the correct key. - Stale data in WAL mode: checkpoint requires write access; read-only workspaces may not be able to merge WAL changes.
See CHANGELOG.md.
MIT License – see LICENSE.
Built with (bundled locally): sql.js (WASM SQLite), monaco-editor, d3, sortablejs.









