CSV Viewer
Open delimited files with type detection and sorting.
About CSV Viewer
A CSV and TSV reader that detects the delimiter, handles quoted fields and multi-line values, infers column types and lets you sort, search and filter millions of rows without freezing the page.
Opening a CSV in a spreadsheet application is how data gets damaged: leading zeros vanish, long numbers turn into scientific notation, and anything resembling a date is converted into one.
This shows you the file as it is.
- Processed on your deviceEverything you open or type here is handled by this page and never uploaded anywhere.
- No queue, no limitsNothing waits on a server, so the only limit is your own hardware.
- No account neededNo sign-up and no email address required.
How CSV Viewer works in your browser
PapaParse reads the file, detecting the delimiter from the content — comma, tab or semicolon — and handling quoted fields, escaped quotes and line breaks inside cells. Those are the cases that defeat splitting on commas, and they are common in exported data.
Cells that look like plain numbers are read as numbers, and true and false as booleans, so that columns sort numerically. Everything else stays as the text in the file: dates are not reinterpreted, a code such as 00123 keeps its leading zeros, and a reference longer than 15 digits is not rounded.
That is the reason to look at a CSV here before opening it anywhere else: this shows what the file contains, and a spreadsheet shows what it decided the file meant.
When to use it
Checking an export before importing it, to see what the data actually says. Reading a CSV without a spreadsheet application silently reformatting it. Diagnosing an import that failed, by finding the row where the structure breaks. Inspecting a delimiter-separated file whose separator you do not know.
Frequently asked questions
Do I have to tell it which delimiter my file uses?
No. The delimiter is detected from the file itself, so commas, tabs, semicolons and pipes all work. Quoted fields and values containing line breaks are parsed correctly.
How many rows can it handle?
Millions. Rows are virtualised so only what is visible is drawn, which is why sorting and searching stay responsive on files that would freeze a spreadsheet application.
Why are my numbers showing as text?
Column types are inferred from the values present. A column containing anything non-numeric — a stray label or a footnote row — is treated as text so nothing is silently altered.