CSV to Table ConverterCSV to Table
Start with CSV
Paste CSV on the left or load a sample to preview the table.
What is the CSV to Table Converter?
Someone sends you an export and you open it in a text editor, because that is what is to hand. Forty columns of commas wrap across the window, the header row scrolls off the top after the first screen, and working out which column holds the value you came for turns into counting separators with a finger on the monitor. Paste the same text here and it becomes a table: headers pinned in place, one row per record, sortable and filterable.
CSV looks like the simplest format in the world until you meet a real file. A field containing a comma has to be quoted; a quote inside that field has to be doubled; a field can contain line breaks and still be one field. Those rules come from RFC 4180, and the parser here implements them, so an address like "Southwark, London" stays in one cell instead of shoving every column after it one place to the right.
Nothing is uploaded. Parsing happens in JavaScript on the text in the editor, which matters more for CSV than for most formats — the files people need to eyeball in a hurry are customer lists and billing exports, and those should not go to a stranger's server just to find out how many rows they have.
How to Use the CSV Viewer
- Paste Your CSV – Drop the text into the left editor. Quoted fields, embedded commas and line breaks inside quotes are all handled. Click "Sample" to see the shape first if you would rather.
- Check the Delimiter – The separator is detected from the text, so comma, semicolon, tab and pipe files all open without being told which is which. If a file splits oddly, the Delimiter menu in the header pins it by hand.
- Say Whether Row One Is a Header – On by default, since most exports carry column names. Turn it off for a file that starts straight into data and the columns are numbered instead, so no record is quietly swallowed as a header.
- Filter and Search – Each column has a filter box, and the search field above the table matches every column at once. Both are case-insensitive substring matches.
- Sort Columns – Click a header to sort. Numeric columns sort by value rather than alphabetically, so a signal-strength column of negative readings comes out in the order you would expect and 9 sorts before 10.
- Maximize the Table – Wide exports are painful in a split pane. Maximize hands the table the whole window and raises the page size to 25 rows.
Pro Tip: If every row lands in a single column, the delimiter guess was wrong — that is what a European export using semicolons looks like when read as commas. Set it explicitly in the Delimiter menu and the columns snap into place.
Example
An inventory export of provisioned SIMs. The site column contains a comma, so it is quoted in the source and still arrives as one cell. The ICCID column is 19 digits long, and it comes through with every digit intact.
msisdn,iccid,site,plan,rsrp 447700900142,8901240544102066246,"Southwark, London",Unlimited 5G,-92 447700900458,8901240544102066253,"Leith, Edinburgh",Pay As You Go,-104 447700900773,8901240544102066261,"Digbeth, Birmingham",Business 200GB,-78
| msisdn | iccid | site | plan | rsrp |
|---|---|---|---|---|
| 447700900142 | 8901240544102066246 | Southwark, London | Unlimited 5G | -92 |
| 447700900458 | 8901240544102066253 | Leith, Edinburgh | Pay As You Go | -104 |
| 447700900773 | 8901240544102066261 | Digbeth, Birmingham | Business 200GB | -78 |
Common Use Cases
Reading an export before you load it anywhere
Before a CSV goes into a database or a billing run, someone has to confirm it is what everyone thinks it is. A table answers that in seconds: column names visible, row count on screen, and a column that is blank for most records obvious in a way it never is in raw text. Sorting by a key column surfaces duplicates too, since they end up adjacent.
Files that will not open cleanly in a spreadsheet
Excel and Google Sheets are opinionated about CSV. They reformat dates, drop leading zeros from postcodes and reference numbers, and push long identifiers into scientific notation. When you want to see what the file contains rather than what a spreadsheet thinks it means, a viewer that treats every cell as text is the more honest tool.
Semicolon and tab-separated data
The comma is not universal. Exports generated in locales that use a comma as the decimal separator switch to semicolons, and database and log tooling frequently emits tabs. The text/csv media type registration allows the separator to vary for exactly this reason, so detection is automatic here and overridable when the guess is wrong.
Checking data on its way into a document
Tabular data rarely stops at the CSV. If the rows are headed for a README as a Markdown table, reading them here first tells you which columns are worth keeping, and dropping the finished table into an online markdown viewer confirms the pipes line up before you commit. For describing tabular data properly, the W3C's Model for Tabular Data covers the metadata a bare CSV cannot carry.
Frequently Asked Questions
Will long ID numbers keep all their digits?
Yes. JavaScript numbers hold about 15 reliable digits, so a 19-digit ICCID like 8901240544102066246 becomes 8901240544102066000 the moment anything converts it — which most CSV libraries do, since they offer type inference and many enable it by default. This page never converts. A CSV cell is text, so it is displayed as the exact characters in your file, and leading zeros and 1.50 survive along with it.
Why is my whole file in one column?
The delimiter was guessed wrong, almost always because the file is semicolon-separated. Detection scores each candidate on how consistently it produces the same field count per row — reliable for normal exports, but a file of one or two rows does not give it much to work with. Pick the separator in the Delimiter menu and it re-parses instantly.
What happens to fields containing commas or line breaks?
They are handled as RFC 4180 requires. A field wrapped in double quotes may contain commas, line breaks and doubled quotes ("") standing for a literal quote, and all of it stays in the one cell. This is what splitting on commas by hand always gets wrong, and why a naive split shifts every column after the offending field.
My rows have different numbers of fields — is that a problem?
No. The table is built as wide as the longest row and shorter rows get empty cells at the end. Nothing is discarded, deliberately: a row with an extra field usually means a quoting bug upstream, and dropping the extra value would hide the evidence rather than show it.
What about the strange characters at the start of my first column?
That is a byte order mark, written by Excel when you export as "CSV UTF-8". Left in place it becomes part of the first column's name, which is why an id column sometimes refuses to match id downstream. It is stripped here before parsing. The Unicode BOM FAQ explains why it keeps appearing.
Can I use it for TSV files?
Yes. Tab-separated values are the same format with a different separator, and tabs are one of the detected delimiters, so a .tsv file opens with nothing to configure. Pipe-delimited data works the same way.
Is my CSV uploaded anywhere?
No. Parsing runs in your browser on the text in the editor, and the conversion makes no network request. Open the Network tab and paste a file if you want to confirm it.