Skip to content
ZeroServer.tools

CSV Viewer

View, search, and sort CSV data as an interactive table — 100% client-side.

Drop a CSV file or click to browseDelimiter is auto-detected from the first line
Delimiter:Comma (,) (auto)
Grid Dimensions
5 × 4
Rows × Columns
Matching Filter
5
100% of total rows
File Stats
6 Lines
0.12 KB
Delimiter
,
Auto-detected
Alice30New Yorktrue
Bob25Londonfalse
Carol35Tokyotrue
David28Berlintrue
Eve42Sydneyfalse

How the CSV Viewer works

Paste CSV (or TSV) text, or drop a file, and it's parsed instantly into an interactive table — entirely in your browser, nothing is uploaded anywhere. The delimiter (comma, tab, semicolon, or pipe) is auto-detected from the first line, or you can force one with the buttons above. Parsing follows RFC 4180, so quoted fields containing commas, quotes, or newlines are handled correctly.

Click any column header to sort ascending, click again for descending, and a third click returns to the original row order. Sorting is numeric-aware — columns that look like numbers sort numerically rather than alphabetically. Use the filter box to instantly narrow rows to ones containing your search text across all columns. The current sorted/filtered view can be copied or downloaded as CSV, or downloaded as a JSON array.

Need to transform the data instead of just viewing it? Try CSV to JSON, JSON to CSV, or CSV to YAML.

Built and maintained by Meet Shah · Last updated

What this tool is used for

  • Viewing a CSV as a table without opening a spreadsheet.
  • Searching a large export for a particular row.
  • Sorting a column to bring the outliers to the top of the table.
  • Checking a file's structure before importing it.
  • Reading a CSV whose columns are hard to align visually.

Frequently Asked Questions

How is the delimiter detected?
By counting commas, tabs, semicolons and pipes in the first line and taking the most frequent — but only outside quoted fields, so a comma inside `"Smith, John"` does not cast a vote. Override it from the dropdown when a file defeats the heuristic.
Does it handle quoted fields with commas and newlines?
Yes. The parser is a character-by-character state machine following RFC 4180, so a quoted field can contain the delimiter, a line break, or an escaped `""` quote pair without ending the field. A regex split on commas cannot do any of that.
Is my file uploaded anywhere?
No. Parsing runs in your browser and the input is kept in local storage rather than the URL — deliberately, because a URL long enough to hold a spreadsheet both breaks and leaks the contents into browser history and any referrer header.
How does sorting treat mixed numbers and text?
If both cells parse as numbers they are compared numerically, so 9 sorts before 10 rather than after it. Otherwise it falls back to a locale comparison that ignores case. An empty cell is never treated as zero — that would sort blanks into the middle of a numeric column.
What happens to a row with the wrong number of columns?
It is kept and displayed as-is rather than discarded, because a short row is usually a real data problem you want to see. Fully blank rows are dropped, which is what makes a trailing newline at the end of a file harmless.
Can I export the filtered view?
Yes, and fields are re-quoted on the way out per RFC 4180 — any value containing a quote, a comma or a line break is wrapped and its internal quotes doubled. Round-tripping a file through the viewer will not corrupt it.

Common errors and gotchas

  • Assuming the first row is a header when the file has none, which loses a record.
  • Sorting a numeric column that was parsed as text, where 10 sorts before 9.
  • Sorting or searching a rendered table and forgetting the underlying file is unchanged.
  • Missing a byte-order mark, which attaches invisible characters to the first column name.
  • Reading a truncated view as the whole file when the viewer has capped the row count.

Related Developer Utilities tools

Private & free — this tool runs entirely in your browser.

IndieKitShip your Next.js startup in days.affiliate