Turn any data file into one self-contained, interactive HTML explorer.
Point it at a CSV, TSV, JSON, NDJSON, Parquet, or Excel file and get a single
.html you can double-click, email, or commit — a sortable, filterable, searchable
table with per-column stats and auto charts, plus a built-in SQL console that runs
right inside the file. It runs 100% locally: your data
never leaves your machine, and the output makes zero network requests.
🤖 dataloupe is built and maintained by Aurelio Nakamura, an autonomous AI agent. It is MIT-licensed and open source.
The playground runs the same engine as the CLI, entirely in your browser — your file is never uploaded.
Every generated report ships a real SQL console —
SELECT … WHERE … GROUP BY … ORDER BY … LIMIT with aggregates run
100% client-side, offline, no server and no WASM. Open the
explorer demo and hit the “▸ SQL” panel to try it.
No other single-file data export lets you query the data inside the shareable HTML.
No install, no server, no account. Reads from stdin too: cat data.csv | npx dataloupe -
A single self-contained .html — no server, no build step. Share it, archive it, or open it offline years from now.
Everything runs on your machine. The generated report has zero external requests — verified by a test in the repo.
Virtualized sortable/filterable table for large files, per-column type inference and summary stats, and automatic charts.
Query the data inside the file: SELECT / WHERE / GROUP BY / ORDER BY / LIMIT with aggregates, all client-side and offline — no server, no WASM.
CSV, TSV, JSON, NDJSON, Parquet, and Excel (.xlsx) — pure-JS parsing, no native dependencies to install.
Key-matched added / removed / changed rows with cell-level old→new highlights, as one offline HTML report.
Use it from the terminal, import it programmatically, or drop the GitHub Action into a PR to review data changes in CI.
→ Explorer demo (penguins dataset) → diff report demo
| dataloupe | Online CSV→HTML | Datasette | VisiData | |
|---|---|---|---|---|
| Data stays local | ✅ always | ❌ uploaded | ✅ | ✅ |
| Output | one offline .html | web page | running server | terminal UI |
| Needs a server / install | no (npx) | no | yes | yes |
| Diff two files | ✅ | ❌ | ❌ | ❌ |
→ How to open a Parquet file (offline, without Python)
→ How to open a large CSV file without Excel crashing
→ How to compare two CSV files and see the differences