To view a SQLite database file online for free, open the SQLite Viewer, drop in your .db, .sqlite or .sqlite3 file, and you can browse every table, read its schema and run read-only queries in your browser — nothing is installed and, because the viewer loads the database with the sql.js engine on your own device, the file is never uploaded. This guide explains what SQLite files are, where you are most likely to meet one, how to explore one safely, and the queries that answer the questions people actually open a database to ask.
SQLite is the quiet database inside an enormous share of the software you already use. Phone apps store their data in it, browsers keep history and cookies in it, desktop programs use it for settings and libraries, and countless small websites and tools export it as their backup format. It is a complete database in a single ordinary file, which is exactly why files ending in .db or .sqlite turn up in inboxes, exports and backup folders — and why the person who receives one often has no program installed that can open it.
What You Can Do in the Viewer
The viewer is deliberately read-only, and that is a feature worth understanding before anything else. It accepts SELECT, WITH, PRAGMA and EXPLAIN queries only, so it can never write to, damage or accidentally "tidy up" the file you opened. Clicking a table browses its first 100 rows; the schema panel shows how each table is built; query results can be exported as CSV for a spreadsheet. Because everything runs locally in the browser tab, closing the tab ends the session with nothing stored anywhere.
| Task | How the viewer handles it | Good to know |
|---|---|---|
| Browse a table | Click the table name; first 100 rows shown | Use a query with LIMIT and OFFSET for deeper pages |
| Read the structure | Schema panel lists columns, types and keys | PRAGMA table_info(table_name) gives the same in query form |
| Ask a question | Run a read-only SELECT with filters, joins and grouping | Only SELECT, WITH, PRAGMA and EXPLAIN are accepted |
| Take data away | Export any query result as CSV | Export the result you need, not the whole database |
Step by Step: Your First Look Inside a File
Start with structure, not data. Open the file, read the table list, and open the schema for the two or three tables whose names you recognise. Row counts come next — they are the fastest health check a database offers, and the chart below shows the shape of a healthy small-shop export: order items outnumber orders, orders outnumber customers, and no table that should hold years of trading is empty. Only then run a real question: the most recent 20 orders, the customers who appear most often, the products that never sold. That order — structure, counts, questions — works on almost every file you will ever open, from a phone-app export to a website backup.
Row counts in an illustrative shop database (a fast health check) — hover or tap each bar for details.
A worked example makes the pattern concrete. A freelancer is handed the SQLite export of a small shop's old ordering app and asked whether the customer list is worth migrating. Structure first: six tables, including customers, orders and order_items. Counts second: 342 customers and 1,205 orders say the file is real trading data, not an empty shell. Questions third: a grouped query shows 96 customers ordered more than once and the most recent order is nine days old — the list is live and worth migrating. Ten minutes of looking replaced a guess with a decision, and the original file was never modified in the process.
Five Queries That Answer Most Questions
| Question | Query pattern |
|---|---|
| What is in this table? | SELECT * FROM orders LIMIT 20 |
| How much data is there? | SELECT COUNT(*) FROM customers |
| What is the newest activity? | SELECT * FROM orders ORDER BY created_at DESC LIMIT 20 |
| Who or what appears most? | SELECT customer_id, COUNT(*) AS n FROM orders GROUP BY customer_id ORDER BY n DESC LIMIT 10 |
| How do two tables connect? | SELECT o.id, c.name, o.total FROM orders o JOIN customers c ON c.id = o.customer_id LIMIT 20 |
Adapt the names to the schema in front of you — the patterns matter more than the spelling. If a query errors, the usual cause is a column name guessed wrong; the schema panel holds the real names.
Privacy rule that outranks convenience: a database file often contains other people's personal data — customers, patients, students, employees. This viewer processes the file on your own device, which removes the upload risk, but your own duties remain: only open files you are entitled to hold, work on a copy when you can, and never forward a raw database where a CSV of the needed rows would do. If a different tool asks you to upload a database to its server, that is the moment to stop and think.
Where SQLite Files Come From
App exports are the most common source: many phone and desktop apps offer a "backup" or "export" that is quietly a SQLite file. Browser data is another — history and cookie stores are SQLite databases, which is how forensic and support tools read them. Developers meet .db files in project folders and test fixtures. And small websites built on tools that use SQLite store the whole site database as one file, which makes a copy of that file a genuinely complete backup — one reason our website backup guide treats database files with respect. In every case the safe first move is the same: open a copy, in a read-only viewer, and look before you leap.
Five Mistakes People Make With Database Files
- Editing the only copy. Any tool that can write to a database can also corrupt it. Duplicate the file first; explore the duplicate.
- Judging a database by its file size. A 40 MB file may hold mostly images or logs; row counts and schema tell the real story.
- Sharing the whole file when a query result would do. Export the twenty rows someone needs instead of sending a database containing everyone.
- Assuming an empty result means missing data. Filters, date formats and case sensitivity hide rows quietly; check counts without the filter before concluding anything.
- Opening files from untrusted sources carelessly. A read-only browser viewer is the safe route precisely because nothing executes and nothing is written.
Related Tools and Guides
Data rarely travels in one format. The JSON Formatter cleans up the JSON exports that often accompany a database, and converting a document with the DOCX to HTML converter is the same "look inside a file without installing its parent program" idea applied to Word files — our guide to converting DOCX to HTML walks through it.
Need a database-driven feature on your website? Book a free consultation with Asad Webs — tell us what your data needs to do and we will reply with honest next steps.
SQLite, CSV or JSON: Which File Are You Actually Holding?
Exports arrive in three common shapes, and telling them apart saves time. A CSV opens in any spreadsheet and holds exactly one table, with no types and no relationships — simple, and lossy. A JSON export nests records inside each other, which suits apps and APIs but turns painful to browse by eye once it grows. A SQLite file is the whole database — every table, its schema and its indexes — in one file that needs a database tool to read. If the export you received has multiple related tables (customers and their orders, products and their stock), SQLite preserves what CSV flattens away, which is why a quick structural look with row counts, as above, tells you more in two minutes than an hour of scrolling a spreadsheet export.
Frequently Asked Questions
Is the SQLite Viewer really free, and do I need an account?
Yes. It runs in your browser with no sign-up: open the page, drop in a .db, .sqlite or .sqlite3 file, and browse or query it straight away.
Is my database uploaded to a server?
No. The viewer loads the file with the sql.js engine (SQLite compiled to WebAssembly) on your own device. Nothing is uploaded, and closing the tab ends the session.
Can the viewer damage or change my database?
No. Queries are read-only by design — SELECT, WITH, PRAGMA and EXPLAIN only — so the file cannot be written to or changed by accident. Even so, exploring a copy is good practice.
How much of a big table can I browse?
Clicking a table shows its first 100 rows. For more, run a query with LIMIT and OFFSET, or filter with a WHERE clause and export the result as CSV.
What file extensions does it accept?
.db, .sqlite and .sqlite3 — the three names SQLite databases commonly travel under. The content matters, not the name: a SQLite file renamed by an app still opens.
Why does my query return no rows when the table looks full?
Usually a filter detail: a date stored as text, a capitalisation difference, or a column name guessed slightly wrong. Run SELECT COUNT(*) without the filter, then add conditions one at a time, and check real column names in the schema panel.
Can I use it for a database containing customer data?
Technically yes, and the on-device processing removes the upload risk — but only open files you are entitled to hold, and share CSV extracts of just the rows needed rather than the whole database.

Be the first to share a useful question or thought.