twilight ventures

open a .db or .sqlite file in a JetBrains IDE

A file called cache.db comes off a phone, or out of a container, and from the outside it tells you nothing at all. Inside is a SQLite database, the file phones and desktop apps keep, holding an application's whole local store with its schema and its rows together.

installing and opening

Install SQLite Lens from the JetBrains Marketplace and restart the IDE when it asks. It runs in IntelliJ IDEA, PyCharm and every other JetBrains IDE on 2024.2 or newer, Android Studio from Ladybug. Then open the file the way you open anything else in the project tree: a .sqlite, .sqlite3, .db3 or .db file gets a SQLite Lens tab of its own, and so does any file that starts with the SQLite magic bytes, whatever its extension. If a .db file comes up as text instead, right-click it, choose Override File Type, and pick SQLite Lens Database. Files far beyond the IDE's large file limit open the same way.

SQLite Lens in IntelliJ IDEA: a schema tree with row counts, a paged table and a cell inspector
orders.sqlite: the schema tree with row counts, the orders table paged 100 rows at a time out of 300,000, a cell in the inspector.

what you get to look at

The schema tree comes up first, with tables and their row counts, then views, indexes, triggers and virtual tables, and under each table its column types, its primary key and any foreign keys. Click one and rows page in as you scroll, in constant-memory pages of up to 5000. Go-to-row lands anywhere, and there is no row cap.

Ctrl+F streams a search down every row with live progress, next and previous jumping between hits. A full scan of our 5M-row bench file runs at about 350 MB/s. A cell too big for the grid opens in the inspector, where long text is windowed and a BLOB shows as hex, text or an image.

The open is read-only. No lock is taken and no -wal, -shm or journal file appears beside the database, so it is safe to open a database a running app still owns. Pending WAL frames are surfaced with a one-click snapshot reload that never touches the original.

free, and what Pro adds

Reading is free. Pro is a subscription with a 30-day trial. It adds an execute-only SQL console and exports of a table or the search matches to CSV, JSONL or Parquet. It also writes a column profile report, diffs two database files with exact counts, sorts a whole table, and reads the frames still waiting in the -wal. The product page lists both tiers and quotes the price as the store shows it.

where it stops

An encrypted database does not open. The file reports the reason, and nothing else happens.