SQLite Viewer & Editor
Look inside any SQLite database, change it, and download the result.
Open a SQLite database
Ctrl+Enter (⌘+Enter) runs everything, or only the selected text. Several statements run one after another.
About the SQLite Viewer & Editor
Open a SQLite database — a .sqlite, .sqlite3 or .db file from an app, a phone backup, a browser profile or a project — and see what is inside: every table, view, index and trigger, with row counts and the statements that created them. Browse any table page by page, sort by a column, filter rows (contains, equals, greater than, empty…), and read every value in full, BLOBs included.
You can also change the data: edit a cell, add or delete rows, undo, or run your own SQL with a results grid and a history of your queries. When you are done, download the changed database as a .sqlite file, a SQL dump (like sqlite3 .dump), or any table or query result as CSV, Excel, JSON or SQL INSERT statements. The engine is real SQLite (compiled to WebAssembly by the sql.js project) running in your browser: the file is never uploaded.
How to use it
- Drop the database file on the box or choose it (files up to 300 MB). Or press Open the sample database to try the viewer on a small shop database.
- Pick a table or view in the Database list. Browse data shows its rows: click a column heading to sort, type in Search to find a value in any column, or add a filter such as price at least 10. Move between pages at the bottom.
- To change a value, select the cell and press Enter (or double-click it), edit it in the Cell box, and press Save — or Set NULL. Add row and Delete selected work on the table shown; Undo takes back the last change.
- Use Structure for the columns, types, keys, indexes and the CREATE statement, and Run SQL for your own queries (Ctrl+Enter or ⌘+Enter runs them).
- Press Download database to save your changes, or SQL dump for the whole database as SQL text. Each table and query result has its own CSV, Excel, JSON and SQL export.
Examples
SELECT customer, total FROM order_totals WHERE status <> 'cancelled' ORDER BY total DESC LIMIT 3;
customer total Fatima Al-Sayed 70 Yuki Tanaka 69 Amara Okafor 58
order_totals is a view: it joins orders, customers and order lines. Views are shown like tables but cannot be edited directly.
Browse “products”, select the price of BK-101, type 7.25, press Save
The price is stored as the number 7.25 (the column is REAL). Undo puts back 6.5.
Common uses
- Looking at the data an app keeps in SQLite (most Android and iOS apps, browsers, Lightroom, many desktop tools) without installing DB Browser for SQLite or the sqlite3 command line.
- Fixing a few wrong values in a project’s database and downloading the corrected file.
- Exporting a table from a
.dbfile to Excel or CSV for a report, or to a SQL dump for another database. - Checking a schema — columns, keys, indexes, triggers — before writing code against it.
How values are stored when you edit
SQLite gives each column an affinity from its declared type (SQLite: Datatypes, §3.1): a type containing INT is INTEGER; CHAR, CLOB or TEXT is TEXT; BLOB or no type is BLOB; REAL, FLOA or DOUB is REAL; anything else NUMERIC. When you save a cell, SQLite applies that affinity, exactly as it would for an UPDATE: typing 42 into an INTEGER column stores the number 42, while a TEXT column keeps 007 with its zeros. The cell box tells you which affinity the column has. Columns that identify the row — an INTEGER PRIMARY KEY or the primary key of a WITHOUT ROWID table — are not edited in the grid; change them with an UPDATE in Run SQL.
What the SQLite engine supports
- SQLite 3.49 with window functions,
WITH(common table expressions, also recursive),RETURNING,UPSERT, generated columns,STRICTtables and JSON functions (json_extract,->>,json_each…). - Full-text search tables made with FTS3 and FTS4. FTS5 and R*Tree tables (used, for example, by some GeoPackage files) cannot be opened: the rest of such a database still can.
- Math and statistics functions from sql.js:
sqrt,power,exp,log(natural logarithm),log10,ceil,floor,pi,median,stdev,variance.lnandtruncare not available: uselog(x)andCAST(x AS INTEGER). REGEXPwith JavaScript regular expressions:WHERE name REGEXP '^A'.
Downloads
Download database writes a compact copy of the whole database (as VACUUM INTO does) with all tables, indexes, views and triggers. SQL dump writes CREATE and INSERT statements for everything, in the format of the sqlite3 shell’s .dump, with values written by SQLite’s own quote(), so numbers, text and BLOBs come back exactly. Table and query exports follow the browse filters and sort; Excel files hold up to 1,048,575 rows below the header.
Limitations
- The database is held in this page’s memory: databases up to 300 MB can be opened. Changes are lost when you close the page unless you download the database (the page asks before you leave with unsaved changes).
- A database that was open in WAL mode can have recent changes in a separate “-wal” file; only the main file is read, so open it once in the app that made it (or run a checkpoint) first.
- Encrypted databases (SQLCipher and similar) cannot be opened.
- A query that runs too long can be stopped, but stopping restarts the engine and reloads the database as it was last opened or downloaded.
Privacy
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot. The SQLite engine (about 650 KB of WebAssembly) is downloaded from this site the first time you open a database; after that it also works offline. Your database is never uploaded.
Frequently asked questions
How do I open a .db file?
If it is a SQLite database (most .db files from apps are), drop it on this page: its tables appear at once. A file that is not SQLite — the first bytes of every SQLite file are “SQLite format 3” — is refused with a message, so you know it needs another program.
Is my database uploaded?
No. The file is read by SQLite running in your browser and never leaves your device. Only the engine itself is downloaded from this site, once. The statements you run are kept in this browser’s History list for next time (Clear history removes them); the database itself is not stored.
How do I convert a SQLite table to Excel or CSV?
Open the database, pick the table, and use Export table → CSV or Excel. Filters and sorting you set in Browse data apply to the export, so you can export just the rows you need. For a query result, run it in Run SQL and use the export buttons under the result.
Can I undo a change?
Yes: Undo takes back the last cell edit, new row or deletion, one step at a time. Revert all goes back to the file as you opened it. Statements you run in Run SQL cannot be undone one by one (use Revert all, or BEGIN … ROLLBACK).
How is this different from the SQL playground?
This tool is built for opening and editing existing database files: browsing, filtering, editing rows, structure and exports. The SQLite Online playground is an editor for writing and testing SQL, with completion and query plans.
Why is a value shown as BLOB?
BLOB columns hold raw bytes — often images, files or encoded data. The grid shows the size and the first bytes (and “PNG image” or “JPEG image” when it recognises one). Export the table as CSV or SQL to get them as hexadecimal, or as JSON to get them as base64.