Open a CSV or TSV file as a clean table without launching a spreadsheet or importing anything. The viewer detects the delimiter automatically, keeps the header row pinned while you scroll, sorts any column with number-aware ordering, and filters every column at once as you type. Column stats give you non-empty and distinct counts plus min, max, and mean for numeric columns, and rows with missing fields are flagged instead of quietly misaligning the table.
Nothing is uploaded — the file is parsed and displayed entirely in your browser. If the file uses the wrong separator for your spreadsheet, fix it with the CSV delimiter converter; to move the data somewhere else, generate INSERT statements with CSV to SQL or convert it with CSV to JSON.
Frequently asked questions
Is my CSV file uploaded anywhere?
No. The file is opened with your browser's own File API and parsed by JavaScript running on your device; no part of it is sent to a server, stored, or logged. That makes the viewer safe for exports that contain customer lists, financial records, or anything else you would not want to hand to a third-party website. You can confirm it yourself: load the page, disconnect from the internet, and open a file — it still works. Closing or reloading the tab discards the data, because it only ever lived in the page's memory.
How large a CSV file can I open?
Files up to 50 MB are accepted, which is typically several hundred thousand rows. Above 20 MB you will see a warning, because parsing, sorting, and filtering happen on your device and can take a few seconds on a slower laptop or phone. To keep the page responsive, only the current page of rows (50, 100, or 500) is drawn at a time, and very large files are not echoed into the text box. If a file is bigger than the limit, a spreadsheet program or a command-line tool is the better choice; splitting the file into chunks also works.
How does sorting work with numbers, text, and blank cells?
Click a column header to sort ascending, click again for descending, and a third time to return to the original file order. A column counts as numeric when every non-empty cell is a number — including values like -3.5, 1e6, or 1,234,567 with comma thousands separators — and numeric columns are sorted by value, so 9 comes before 10. Text columns use a natural, case-insensitive order where "file2" comes before "file10". Blank cells always sink to the bottom in both directions, and rows with equal values keep their original relative order (a stable sort).
What do the column stats show?
Toggle "Show column stats" to see, for each column, whether it was detected as a number or text, how many cells are non-empty, and how many distinct values it holds — handy for spotting ID columns with duplicates or fields that are mostly blank. Numeric columns also get the minimum, maximum, and mean. Stats respect the filter box: type a search term and they recalculate for just the matching rows, so you can, for example, filter to one country and read that country's average instantly. Values like percentages or currency symbols are treated as text, not numbers.
My file shows everything in one column. What went wrong?
The delimiter was probably misdetected. The viewer samples the first rows and chooses between comma, semicolon, tab, and pipe by which one splits the rows most consistently; the label next to the delimiter menu shows what it picked. Files with only one column, very few rows, or an unusual separator can fool it. Choose the right delimiter from the menu — or pick Custom and type any separator, including multi-character ones — and the table redraws immediately. If the first row is data rather than column names, untick "First row is header" and columns are labelled Column 1, Column 2, and so on.