CSV Viewer
View CSV, TSV or PSV data as a table — auto-detected delimiter, row and column counts and per-column types — entirely in your browser.
- Runs locally in your browser
- No upload required
Capabilities
- Drag and drop
- Local file intake
Try it
Supported formats
Privacy
Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.
Parsed 2 data row(s) and 2 column(s) using a comma delimiter.
How it works
- Auto-detected a comma delimiter (high confidence).
- Skipped 0 leading line(s), parsed quoted fields and reported malformed rows.
- Inferred each column's type conservatively without altering any cell.
- Nothing is uploaded; the table is built locally in your browser.
Methodology
- Score comma, tab, pipe and semicolon by the consistency of the column count across the sampled records outside quotes, and report the winner with its runner-up.
- Parse with an RFC 4180 state machine that handles quoted fields, embedded delimiters/newlines and doubled quotes, bounded by explicit row/cell/character caps.
- Infer each column's type as boolean, integer, number, date or text only when every non-empty cell matches; otherwise report text.
Usage
- Paste delimited text or choose a local .csv/.tsv/.psv file.
- Choose the delimiter (or leave it on auto-detect) and set the quote and header options.
- Read the table, counts and inferred types; adjust the options if the delimiter was mis-detected.
Examples
These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.
Auto-detect a small CSV
{
"text": "name,role\nAda,pioneer\nAlan,engineer",
"delimiterMode": "auto",
"delimiter": ",",
"quote": "\"",
"firstRowHeader": true,
"skipRows": 0,
"trim": false
}View tab-separated data
{
"text": "id\tvalue\n1\t42\n2\t7",
"delimiterMode": "tab",
"delimiter": ",",
"quote": "\"",
"firstRowHeader": true,
"skipRows": 0,
"trim": false
}Limitations
Delimiter detection you can audit
The viewer scores each candidate delimiter by running the parser with it and measuring how consistently the column count holds. The chosen delimiter and its runner-up are both reported, so a mis-detection is visible rather than hidden.
Quoted fields are handled by a full RFC 4180 state machine: a quoted comma or newline never splits a cell.
Bounded, not unbounded
Parsing is incremental with explicit character, row and cell caps. Input past a cap is truncated with a named finding instead of freezing the tab.
Frequently asked questions
- Is my data uploaded?
- No. The table is parsed locally in your browser; nothing is uploaded, stored or logged.
- Does it open Excel files?
- No. Binary .xlsx/.xls/.ods spreadsheets are out of scope; paste or choose CSV/TSV/PSV text instead.
Sources
Send feedback
Tell us if this tool helped, report a problem, or suggest a tool. Only the message you type is sent — never the input you used in the tool.
Was this tool useful?
Prefer to write to us directly? See the contact page.