What is the SQLITE file format?
Files with the .sqlite extension are database files created using the SQLite library - a self-contained, server-less system for storing and managing relational databases. Data in .sqlite files is organized in tables, and each table may consist of any number of columns and records designed to hold different types of data. Internally, the file uses a B-tree structure split into fixed-size pages and always begins with the 16-byte ASCII magic string SQLite format 3, which makes it identifiable regardless of what extension is used - the same database may also appear as .db, .sqlite3, or .db3.
Access to .sqlite files is not restricted in any way, and managing them can be performed with many programs and programming languages that recognise and support this format. As a result, .sqlite database files are used to store many kinds of structured data: client lists, product catalogs, application settings, and any other content requiring an ordered structure. The format is therefore commonly built into web browsers, mobile operating systems, and countless desktop applications as an embedded database engine that requires no separate server process.
Security & safety
RISK: MEDIUMA .sqlite file is data, not code, so opening it in a viewer is safe. Treat the CONTENTS as sensitive, though: app/browser SQLite databases commonly hold private messages, contacts, history, tokens and location data - don't upload personal databases to online viewers, and prefer a local tool (DB Browser/sqlite3). Never run SQL from an untrusted source against your database (it can DROP/DELETE data). Be aware the database may have companion -wal/-shm files holding the newest changes.
Format details
in a nutshellPrograms that open SQLITE files
Technical details
deep spec| Storage engine | B-tree; table rows stored in table B-trees, index entries in index B-trees |
| Page size | 512 to 65,536 bytes per page; default 4,096 bytes (since SQLite 3.12, 2016) |
| File header | Fixed 100-byte database header; first 16 bytes are the ASCII magic string "SQLite format 3" followed by a NUL byte |
| Byte order | Big-endian for all multi-byte integers in the file header and B-tree pages |
| Text encoding | UTF-8, UTF-16LE, or UTF-16BE; chosen at creation time and recorded in the file header |
| Data types | Five storage classes: NULL, INTEGER, REAL, TEXT, BLOB; dynamic type affinity system |
| Transaction model | ACID-compliant; supports rollback journal and Write-Ahead Log (WAL) journal modes |
| Max database size | Up to ~281 TB (theoretical maximum with 65,536-byte pages and maximum page count) |
| Concurrency | File-level locking; WAL mode enables multiple concurrent readers alongside one writer |
| MIME type | application/vnd.sqlite3 (also application/x-sqlite3 in older usage) |
| Schema catalog | Internal schema stored in the sqlite_schema table (formerly sqlite_master) within the file itself |
| Alternate extensions | .db, .sqlite3, .db3, .s3db - format is identified by magic header bytes, not by file extension |
| Autovacuum | Optional AUTOVACUUM mode reclaims free pages automatically; without it, free pages are reused in place |
| Embedded deployments | Used internally by Android, iOS, Firefox, Chrome, Safari, macOS, and many other platforms |
| Released | SQLite 1.0 in 2000; the current SQLite 3 file format since 2004 |
| Open standard | Yes · royalty-free |
| Specification | www.sqlite.org |
SQLITE conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about SQLITE files.