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
- Drag a .sqlite, .db, or .sqlite3 file onto the box, or click browse to pick one.
- Read the page size, page count, file size, encoding, and version report that appears instantly.
- 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
File Type Identifier
Find out what a file really is from its magic bytes, not its extension. Detects images, audio, video, archives, fonts, and more in your browser. Private.
Strings Extractor
Extract readable text from any binary file in your browser, like the Unix strings command. See each printable run with its byte offset, set a minimum length.
CSV File Inspector
Inspect a CSV file in your browser: detect the delimiter, encoding and BOM, count rows and columns, guess the header, and preview sample rows. Private.
Base64 File Encoder
Encode any file to Base64 and a data URI in your browser. Drop a file to get the raw Base64 and a ready data: URI to copy. Nothing is uploaded.
CBOR Decoder
Decode a CBOR file (RFC 8949) to readable JSON in your browser. Handles integers, byte strings, arrays, maps, tags, and floats. Nothing is uploaded.
ELF Header Inspector
Drop a Linux or Unix binary to read its ELF header: 32 or 64-bit, endianness, file type, CPU architecture, OS ABI and entry point. Runs in your browser.