Convert CSV to a SQLite database — without uploading anything
When a CSV export gets too big for Excel — or you find yourself writing increasingly desperate VLOOKUPs across three files — the honest answer is a database. This tool builds one in your browser: drop one or more CSV files and download a single .sqlite database, ready to query with real SQL. Each file becomes a table named after the filename, column names come from the header row, and numeric values are stored as numbers so aggregation and sorting behave correctly. It runs sql.js, which is the actual SQLite engine compiled to WebAssembly — not an imitation, so the output file is a genuine SQLite database. And because everything happens on your machine, that sales export or customer dump never leaves your device.
How it works
- Drop one or more .csv files — each becomes a table named after its file.
- Column names come from the header rows; numbers are stored as numbers.
- Download the single .sqlite database and start querying.
Frequently asked questions
What do I open the .sqlite file with?
Any SQLite client: DB Browser for SQLite (free, graphical), DBeaver, or the sqlite3 command-line tool that ships with macOS and most Linux distributions. It’s a standard SQLite database file, so anything that speaks SQLite can query it.
Is this really SQLite, or a lookalike?
It is SQLite itself — the official source compiled to WebAssembly as sql.js and run in your browser. The database it writes is a normal SQLite file, which is why every standard tool opens it.
Can I trust this with confidential business data?
The database is built entirely in your browser’s memory and downloaded from there — no server ever receives your CSVs or the resulting database. For customer lists and financial exports, that’s the whole point: the data never crosses the network. Disconnect after the page loads if you want proof.
How large can the CSVs be?
There’s no artificial limit — the constraint is your device’s memory, since the database is assembled in RAM. Files in the hundreds of megabytes are routine on a modern laptop; multi-gigabyte inputs can work but depend on how much memory your machine and browser will give the page.