✳ OMNIVIEWER

Query your CSV with SQL.

safe · secure · no server · works offline · fast

…or paste a file you copied in Finder, or just start typing at the cursor.

Or try it now

↓ scroll for about & FAQ

Preview

Drop a CSV file, or use the file picker.

Run SQL over a CSV — without uploading it or spinning up a database

Drop a .csv file and OmniViewer streams it into a real in-browser SQLite database, then lets you query it: write SELECT … FROM data with WHERE, GROUP BY, ORDER BY, joins and aggregates, and get a result table back. The whole file streams into the engine — nothing is uploaded and there is no server.

SQL is the fastest way to answer a real question about a dataset — a count, a top-N, a sum per category — without loading the file into a spreadsheet or writing a script. The same drop also shows the CSV as a table, converts it to JSON, reports per-column stats, and opens raw and hex views.

It’s one lens on OmniViewer’s CSV Viewer — 20 GB Tables, Sort, Filter & SQL: drop a file and every tab is one click away. OmniViewer opens every file format, entirely in your browser — no upload, no server.

FAQ

Is my CSV uploaded anywhere?

No. OmniViewer is a static page with no server-side processing: your CSV is read directly by your browser and never leaves your computer. That is true of every tab, including the SQL engine and the exporter — the parsing all happens in Web Workers on your own machine.

What is a CSV file?

CSV (comma-separated values) is a plain-text format for tabular data: one record per line, with fields separated by a delimiter — usually a comma, sometimes a tab or semicolon — and quoting for fields that contain the delimiter, a quote or a newline. It is loosely standardised by RFC 4180.

How large a CSV can I open?

Effectively unlimited. The table has been tested in-browser with a 21 GB file of 100 million rows: a WebAssembly RFC 4180 parser streams every byte across a pool of Web Workers to get the exact row count and a sparse row-to-byte index, and the table then paints by reading only the bytes for the rows on screen. Sorting, filtering and finding stream the file too, so they cover every row rather than a loaded prefix.

Can I sort and filter the whole file, not just the first rows?

Yes. Click a column header to sort by it, or type in the filter box to keep only matching rows (substring or regular expression, one column or all of them). Both run a streaming scan over the file in a Web Worker and build an explicit list of surviving rows, so they see every record. Filtering is capped at 5 million matching rows and sorting at 2 million rows — past that the sort is refused rather than silently truncated, and filtering first is the way through.

Can I query my CSV with SQL?

Yes. The SQLITE tab streams the file into a real in-browser SQLite database and lets you write SELECT … FROM data with WHERE, GROUP BY, ORDER BY, joins and aggregates. It is offered for files up to about 1 GB, because the database is held in WebAssembly memory. Above that, export a streamed .sql dump instead and load it with sqlite3 out.db < dump.sql.

Can I split a big CSV into smaller files?

Yes. Open export ▾ on the table and choose how many files you want. The CSV is copied through byte for byte in 1 MB blocks — original quoting and line endings preserved — switching to the next output file only on a real record boundary, so a quoted field containing a newline is never cut, and every part carries the header row. With the File System Access API it writes straight into a folder you pick, so the size is bounded by your disk, not by memory.

How do I know what delimiter or encoding my CSV uses?

The delimiter is sniffed from the first line and shown in the info bar, and you can override it from the toolbar (comma, semicolon or tab). The hex view shows the exact bytes, so you can see whether lines end in CRLF or LF and whether there is a byte-order mark. OmniViewer detects text vs binary from the content, not the extension.

How does this relate to hugecsv.com?

It is the same tool. hugecsv.com was the standalone big-CSV workbench by the same authors; its engine — the WebAssembly streaming parser, the full-file sortable and filterable table, column resizing, the streaming exporter and the splitter — now runs here at omniviewer.org/csv, so one viewer opens every format without giving up the deep CSV tooling.