Boneyard Tools

SQLite Database Info (Header Reader)

Drop in a .sqlite or .db file to read the details packed into its 100-byte header: page size and count, the total file size, text encoding, the file format read and write versions, the user and application id, and whether the database uses write-ahead logging. This tool only parses the header, it does not run any SQL or open the database. The file is read entirely in your browser and never uploaded.

How to read a SQLite database header

  1. Drag a .sqlite, .db, or .sqlite3 file onto the box, or click browse to pick one.
  2. Read the page size, page count, file size, encoding, and version report that appears instantly.
  3. Check the WAL badge to see if the database uses write-ahead logging.

Examples

A typical app database

app.db (a SQLite 3 database)
Page size 4096, 250 pages, 1.0 MB, UTF-8, write version 1, no WAL

Frequently asked questions

Is my database uploaded anywhere?

No. The file is read and parsed entirely in your browser using JavaScript. Nothing is sent to a server, so even a database full of private data stays on your device.

Does this run SQL or open the database?

No. It only reads the fixed 100-byte header at the start of the file. It never executes SQL, opens the database engine, or reads any table rows, so your data is never queried, only the header fields are decoded.

What is the page size and why does it matter?

SQLite stores a database as a sequence of fixed-size pages. The page size, set when the database is created, is a power of two from 512 up to 65536 bytes. Multiplying it by the page count gives the total database size in bytes.

What does the WAL badge mean?

WAL stands for write-ahead logging, a journaling mode SQLite uses for better concurrency. When the file format write or read version in the header is 2, the database is in WAL mode, and this tool shows a WAL badge.

What are user_version and application_id?

Both are 32-bit values an application can store in the header. user_version is a free integer many apps use as a schema version for migrations, set with PRAGMA user_version. application_id marks the file as belonging to a specific application, set with PRAGMA application_id.

Which files can it read?

Any SQLite 3 database, regardless of extension. The header must begin with the magic string SQLite format 3. Files that do not start with it, such as older SQLite 2 databases or unrelated files, are reported as not a SQLite database.

Related tools