Database Explorer
Open SQLite files locally in your browser: inspect tables, row counts, columns and keys, run read-only SQL queries and export CSV or JSON.
Your inputs are processed in your browser and are not transmitted to our servers. Note: third-party resources (e.g. advertising and analytics from Google/Cloudflare) and an optional PayPal donation link may transfer data when loading or when clicked. Browser extensions or plugins may be able to read content that is visible in the input fields.
The result will appear here …
Open SQLite files: inspect structure, row counts and data
The Database Explorer reads SQLite 3 files on your device. Choose a file or drop it into the picker, then click “Open database”. The overview reports file size, tables, views and indexes. It uses COUNT(*) for readable tables rather than estimating row counts. Internal SQLite tables stay out of the table total; the index count includes automatic indexes.
Inspect tables and keys
Open a table by name or through the selector. The inspector shows its CREATE statement, column names, declared types and SQLite type affinities. It also lists primary key positions, declared NOT NULL constraints, defaults, hidden columns and generated columns. The NOT NULL field does not capture every implicit primary-key rule. Index details include their columns, while foreign keys show target tables and update and delete rules.
Browse 10, 25, 50 or 100 rows per page. Click a header to sort the entire table ascending, then click again for descending order. SQLite performs the sort before pagination. Views are browsable too. Custom collations and some virtual-table extensions may be unavailable in the bundled engine.
Run SQL without changing the file
The query box accepts one SELECT statement, including a WITH clause. For example, SELECT COUNT(*) FROM "customers"; counts a table named customers. Use the actual table names from your file. The tool blocks write commands, multiple statements and user-entered PRAGMA commands. The engine also enables query_only. It never changes your original file.
Query results stop at 10,000 rows, with the first 100 in the preview. A notice identifies a capped result, including exports. The engine runs in a dedicated worker. Actions time out after 20 seconds, or 45 seconds for the initial load. You then need to load the file again. “Check integrity” runs SQLite quick_check, not a full forensic inspection.
Export CSV, JSON or the schema
Export a full table as CSV or JSON regardless of the current page. Table exports have a one-million-row limit. Above that limit, the tool stops rather than silently exporting a subset. Query exports contain only the up to 10,000 rows from the last successful query. “Schema as SQL” saves CREATE statements without table data.
Binary values appear as hex text prefixed with 0x. Integers outside the safe JavaScript number range stay exact as strings. JSON preserves NULL; CSV uses empty fields. Formula-like text in CSV gets an apostrophe prefix to prevent spreadsheet formula execution. Duplicate result columns receive unique names. For text-file inspection, use the CSV Viewer or JSON Formatter.
WAL files, backups and memory
The explorer checks the SQLite format 3 signature and its null byte, and shows the journal mode from the header. WAL mode does not prove that a WAL file exists. If you also select sidecars ending in -wal, -shm or -journal, the overview lists their names. The browser cannot search the source folder for other files. Sidecar data is not merged. Use a consistent SQLite backup, especially if the source application is running.
sql.js holds the whole database in memory. Files above 50 MB require acknowledgment of the memory notice; files above 200 MB are rejected. The JavaScript and WASM assets are self-hosted and load only when you open a file. Only your browser processes the database. “Close and clear” terminates the worker and clears the view.
Frequently asked questions
Which database files can I open?
Unencrypted SQLite 3 files, often named .db, .sqlite, .sqlite3 or .db3. The content matters, not the extension. DuckDB, Access, SQL text dumps and encrypted SQLCipher files are unsupported. CSV and JSON are export formats only.
Does my database leave my device?
No. The explorer reads the selected file locally with sql.js. It sends neither the file nor SQL queries or results to a server.
Why are recent records missing?
They may still be in a WAL file. The explorer reads only the main database file. Use a complete SQLite backup from the source app, not a single file copied while the app is running.
Can I run UPDATE or DELETE?
No. The SQL field allows only read-only SELECT queries, including WITH. Write commands and PRAGMA are blocked. There is no save-database button.
Why does a file with a valid header still fail?
The file may be incomplete or corrupt, or it may require an extension absent from sql.js. Check a fresh backup in the source application. A valid signature alone does not guarantee a healthy database.