Open a CSV file
See what is really in the file. Leading zeros survive, dates are not invented, and the delimiter and encoding are worked out for you. Nothing is stored.
- Never stored
- No queue, no waiting
- No signup, no watermark
How it works
Drop the file in
CSV, TSV, or anything separated by semicolons or pipes — the separator is detected automatically.
Read it as a table
Sortable, searchable, with row and column numbers. Every value is shown exactly as stored.
Find what you need
Filter rows, jump to a column, and see which cells are empty or ragged.
Reading a CSV without letting Excel touch it
The reason to look at a CSV here rather than in Excel is that Excel edits it while opening it. A leading zero on a postcode or an account number is stripped, because the column looks numeric. An identifier longer than fifteen digits is rounded. Anything resembling a date is reformatted into the local convention, so 03/05 changes meaning depending on the country. And a gene name like SEPT1 becomes a date — a problem so persistent that geneticists renamed the genes. Nothing of the sort happens here: values are shown exactly as the bytes in the file say they are.
CSV has no real standard, so the first job is working out what the file is. The delimiter may be a comma, a semicolon or a tab — European locales export semicolons, because the comma is their decimal separator — and the encoding may be UTF-8 or a legacy code page, which is what turns accented names into mojibake when guessed wrongly. Both are detected rather than assumed, which handles almost every real export, and both can be overridden when detection gets it wrong rather than leaving you stuck.
Quoting is where naive viewers fail. A quoted field can legally contain commas, line breaks and doubled quote marks, so a row holding a postal address spans several physical lines in the file while remaining one record. Anything that splits on commas mangles exactly those rows — which is why a file looks fine in a text editor and wrong in a viewer, or the reverse.
A ragged file — rows with more or fewer fields than the header — is shown as it is rather than being quietly padded or truncated, because a row with the wrong number of fields is usually the symptom of a quoting problem further up, and hiding it hides the bug. The whole file is parsed in the page, so memory use is proportional to its size.
When you want something else
At the command line, csvkit is built for exactly this: csvlook prints an aligned table, csvstat summarises every column, and csvclean reports and fixes the ragged rows. Miller — mlr --icsv --opprint cat data.csv — does the same at speed and handles files larger than memory. VisiData is the one to know about for exploring interactively: it opens a multi-gigabyte file instantly in a terminal, with sorting, filtering and frequency counts.
If you must open a CSV in Excel, use Data → From Text/CSV rather than double-clicking it. The import dialogue lets you set each column's type before anything is parsed, which is the only reliable way to stop the conversions above from happening. Double-clicking gives Excel permission to guess, and it guesses confidently.
Frequently asked questions
Is my file stored anywhere?
No. Nothing is stored, nothing is kept, and it works with the Wi-Fi switched off once the page has loaded. A CSV is usually a customer list, an export or a finance report, which is exactly the kind of file that should not be handed to a stranger's server.
Why does Excel ruin my CSV?
Because Excel converts as it opens, without asking. A product code of 00123 becomes the number 123 and the zeros are gone for good. A part number like 5-3 becomes 5 March. A long order number becomes 1.23457E+14. A German CSV separated by semicolons lands entirely in column A. None of this is in your file — it is what Excel did to it on the way in. This viewer shows every value as text, exactly as stored, so you can see what you actually received.
What separators and encodings work?
Commas, semicolons, tabs and pipes, detected by looking at the file rather than by its extension — a "CSV" exported by a German system is usually semicolon-separated. Encoding is detected too: UTF-8 with or without a byte-order mark, UTF-16, and the Windows-1252/Latin-1 files that older systems produce. If the encoding is wrong you get "é" where "é" should be, and the page lets you change it.
Does it handle quoted fields with commas in them?
Yes — properly, to RFC 4180. A field wrapped in quotes can contain commas, line breaks and escaped quotes, and all three are handled. Splitting on commas without respecting quotes is the classic CSV bug, and it silently shifts every column after the offending field.
How large a file can it open?
Available memory, rather than a fixed size cap — files of many megabytes and hundreds of thousands of rows are fine. Only the rows on screen are drawn, so scrolling stays smooth on a large file.
Can I edit or convert it?
This page is for reading. To convert, our [CSV to Excel](csv-to-excel) and [CSV to JSON](csv-to-json) tools do exactly that, and they keep leading zeros as text rather than letting a spreadsheet eat them.
Good to know: The whole file is parsed in the page, so a very large export will use memory proportional to its size. Delimiter, quoting and encoding are detected rather than assumed, which handles almost every real export — if detection gets it wrong you can override it rather than being stuck.
Put this tool on your website
Free for any blog, class page or help article. Paste one snippet and your visitors can use it right on your page.
Related tools
XML Viewer
Read XML as a tree you can collapse
Markdown Preview
See your Markdown the way GitHub renders it
CSV to Excel
CSV to XLSX with real numbers and dates
JSON Formatter
Make unreadable JSON readable
Word Counter
Words, sentences and reading time
Character Counter
Characters, bytes and what your limit really counts