Drop a file here or browse CSV, TSV or a plain text table. Nothing leaves your computer.
Reading options

No file open Drop a CSV above, paste some rows, or load the sample file.

About the Online CSV Viewer

What is a CSV viewer?

A CSV file is a table stored as plain text, one row per line, with the values separated by commas. Open one in a text editor and you get a wall of characters. Open it in Excel and you might get a dialog about separators, a column of order numbers turned into scientific notation, and every leading zero quietly stripped off. A CSV viewer sits in between: it reads the file as a table and shows it to you without changing anything.

We rebuilt this one in 2026 around a question the other viewers do not answer, which is what is actually in the file. Every column header here carries its detected type, how much of the column is filled in, how many distinct values it holds, and the range if it is numeric. That is usually the first thing you want to know about a file somebody just handed you, and it takes about a second to read. The file itself never leaves your machine, because the parsing all happens in JavaScript in your browser.

How to Use This Tool

  1. Drop a file on the box at the top, click it to browse, or paste rows straight into the text area beside it. There is a sample file button if you want to try the tool before handing over your own data.
  2. Check the separator. It is detected from the file, and the line under the table says which one was picked. Override it if the guess is wrong.
  3. Read the column headers. Each one shows the type, the fill rate as a bar, and a summary line: the range for numbers, the distinct count for everything else.
  4. Click a header to sort. A second click reverses it, and a third puts the file back in its original order.
  5. Type in the box above the table to search every column at once, or in the small box inside a column header to filter just that one. In a numeric column you can type >100 or <=50, and (blank) finds empty cells anywhere.
  6. Click any row to see all of its fields laid out vertically, which is far easier than scrolling sideways on a wide file.
  7. Use Columns to hide the ones you do not care about, then download what is left as CSV, JSON or SQL inserts.

Common Use Cases

A CSV turns up at the end of almost every export button ever written, so the reasons for opening one vary a lot.

  • Checking an export before you import it. Look at the column types and the fill rates and you will spot the empty column or the date format problem before your database does.
  • Opening a file Excel refuses. Excel stops at 1,048,576 rows. This page has no row limit of its own, only your computer's memory.
  • Reading a log or an analytics dump. Sort by a numeric column to find the outliers, or filter to one status value.
  • Handling data you should not upload. Customer lists, payroll exports and health records have no business going to somebody else's server, and nothing here does.
  • Working out somebody else's schema. The type and distinct count per column is most of a schema already.
  • Turning a table into something else. Filter down to the rows you want and export them as JSON for an API, or as INSERT statements for a database.
  • Checking for damage. The tool counts rows that do not have the expected number of fields and tells you which line the first one is on.

The column types this viewer recognizes

Types come from the values themselves, sampled across the first 5,000 rows. A column is only called a number if every value in it is one, so a single "N/A" in a price column shows up as text and mixed, which is exactly the warning you want.

TypeLooks likeWhat it changes
Integer42, -7, 1,024Sorts numerically, shows min, max and average
Number19.99, 1.5e3Sorts numerically, right aligned in a monospace font
Currency$19.99, £5, €12,50Sorts by the number inside the symbol
Percent42%, -3.5%Sorts by the number, keeps the sign
Date2026-08-05, 05/08/2026, ISO 8601Sorts chronologically rather than alphabetically
Time09:30, 17:45:00Sorts chronologically
Booleantrue, no, YFlagged so you know the column is a flag
Emailada@example.comFlagged, useful for spotting a column of addresses
URLhttps://example.com/xFlagged and colored
UUID8f14e45f-ceea-...Flagged as an identifier
IP address192.168.1.10Flagged as an identifier
JSON{"a":1}Flagged, common in event exports
TextAnything elseSorts alphabetically, case insensitively

Frequently Asked Questions

How do I open a CSV file without Excel?

Drop it on the box at the top of this page. The file is read by your browser and shown as a sortable table straight away, with no install and no account. This also avoids the things Excel does to a CSV on the way in, like turning 00123 into 123, reading a long order number as scientific notation, and converting anything that looks vaguely like a date. What you see here is what the file actually says.

Is my data uploaded anywhere?

No. The whole thing runs in JavaScript in your browser, so the file is read off your own disk and never crosses the network. You can prove it: open your browser's network tab, load a file, and watch for a request that never comes. Turning off your internet connection after the page has loaded also works, and the tool keeps going.

How large a CSV file can this open?

The practical ceiling is your computer's memory, because the file is held in the browser rather than streamed from a server. Files in the tens of megabytes open in a second or two on an ordinary laptop, and hundreds of thousands of rows are fine because only the rows on screen are ever drawn. We stop at 300 MB and say so rather than freezing the tab. If your file is bigger than that, split it first or filter it down with a command line tool.

Why does my CSV open as one long column?

Because the separator is not a comma. Files exported in Europe usually use semicolons, since the comma is the decimal point there, and files out of a database often use tabs. The separator is detected automatically here by looking for the character that gives every row the same number of fields, but you can pick one by hand from the dropdown if the file is unusual.

Can I sort and filter the data?

Yes, and the sorting knows what each column holds. Click a header to sort, click again to reverse, click a third time to go back to the file's own order. Numbers sort numerically, so 9 comes before 10 rather than after it, and dates sort chronologically rather than as strings. Empty cells always sink to the bottom whichever direction you pick. For filtering, the box at the top searches every column and the small box in each header filters that column alone.

Will this strip my leading zeros?

No. Every value is kept as the text it was in the file, so 00123 stays 00123 and a phone number starting with a zero survives. The tool even points out which columns have leading zeros, because those are the ones that would be damaged if you opened the same file in a spreadsheet. If you need to convert the file rather than read it, our CSV to JSON converter keeps them too.

What does the percentage in each column header mean?

It is the fill rate, the share of rows where that column has a value. A column at 12% is mostly empty, which usually means it is optional, badly populated, or the wrong column entirely. It is the fastest way to find the fields nobody actually filled in, and it is measured across the first 5,000 rows.

Can it open a TSV or a pipe separated file?

Yes. Tab, semicolon, pipe, colon and tilde are all recognized, and any of them can be chosen by hand. The file extension does not matter, so a .txt file holding a table opens the same way a .csv does.

What happens to rows with the wrong number of fields?

They are shown rather than dropped. Short rows are padded with empty cells, long rows are trimmed to the width of the table, and a note under the table tells you how many rows were affected and which line the first one is on. This is nearly always caused by an unescaped comma or a stray quote somewhere upstream, and knowing the line number is what lets you go and fix it.

Can I get the data back out?

Yes, and what you export is what you are looking at, filters and hidden columns included. Download it as CSV, as JSON with numbers and booleans converted to real types, or as a set of SQL INSERT statements. There is also a copy button that gives you a Markdown table, which is handy for a pull request or a ticket. For a proper conversion with more control, try our CSV to SQL converter.