CSV Viewer — Sort, Filter & Profile CSV Files
Open any CSV as a clean table you can sort and filter, with a profile of every column — type, fill rate, unique values, min, max and mean — and export just the rows you filtered.
CSV Viewer
Runs in your browser — nothing you enter is uploaded or stored.
Scratchpad auto-saved
How it works — in four simple steps
No signup and nothing to install — it all runs in your browser.
Open your CSV
Drop a .csv file on the box, press Open file, or paste the text. Sample loads a small sales export.
Sort and filter
Click a column header to sort; type in Filter rows to narrow the table down.
Read the profile
Check each column's type, fill rate and range to spot blanks, outliers and stray text.
Export
Press Download filtered CSV to save the rows you're looking at, in the order shown.
A column marked “mostly numeric” has a few non-numeric values — usually the ones to clean before importing.
Features
Sort any column
Numeric, date and natural text sorting with one click, ascending or descending.
Instant filtering
Type to keep only the rows containing your text in any column; counts and stats follow.
Column profile
Type, fill rate, unique count, min, max, mean and most frequent value for every column.
Export what you see
Download the filtered, sorted rows as a new CSV with an Excel-friendly BOM.
Exactly as written
No reformatting: leading zeros, long IDs and date formats display as they are in the file.
Private by design
Parsing and conversion run in your browser with JavaScript — your data is never uploaded, logged or stored.
About the CSV Viewer
Opening a CSV in a spreadsheet just to look at it has side effects: Excel reformats dates, drops leading zeros and can mangle encodings, and Google Sheets requires an upload. This viewer reads the file in your browser and shows it exactly as written — every value as text, nothing reformatted — with the parsing done by a strict RFC 4180 parser that understands quoted commas, doubled quotes and multi-line cells.
Click any column header to sort; numbers sort numerically, text sorts naturally (so item2 comes before item10), and empty cells go last. Type in Filter rows to keep only rows containing that text in any column — the row count, the table and the column profile all update together, and Download filtered CSV saves exactly what you see, with a BOM so it opens cleanly in Excel.
The column profile is a quick data-quality check: it classifies each column (integer, decimal, boolean, date, text, or mostly numeric when a few values break the pattern), shows how many cells are filled and how many distinct values there are, and gives min, max and mean for numbers, the range for dates, and the most frequent value for text. A column that's 98% filled or mostly numeric is often where the data problems are.
How the viewer treats your data
| You do / the file has | What happens |
|---|---|
| Click a header | sort ascending, click again for descending |
| Numbers | sorted numerically, profiled with min / max / mean |
| ISO dates | sorted and shown as a date range |
| Text | natural sort; most frequent value shown |
| Filter box | keeps rows containing the text in any column |
| Download filtered CSV | the visible rows in the current order |
Things that trip people up
- Not an editor. The viewer is read-only by design so it can never change your data. To edit, convert to Excel with CSV to Excel.
- Very large files. Files of tens of megabytes load fine; only the first 200 rows are drawn at first (Show more adds 500 at a time) while sorting, filtering and stats use every row.
- Mostly numeric columns. A numeric column with a few text values (n/a, -, unknown) is flagged as mostly numeric; those stray values usually need cleaning before import.
- Wrong columns? If everything lands in one column, set the delimiter manually — semicolon files from European Excel are the usual cause.
The CSV format at a glance
| Specification | RFC 4180 (2005) |
|---|---|
| File extension | .csv |
| Media type | text/csv |
| Data types | text only — every cell is a string |
| Comments | No |
| Nesting | None (flat rows) |
Fields containing a comma, a double quote or a line break must be wrapped in double quotes, and a quote inside is written twice ("").