How is the delimiter detected?
The tool counts comma, semicolon, tab, and pipe characters in the first five lines and picks the most frequent. European exports often use semicolon (because comma is the decimal separator) — auto-detect handles that without configuration. You can also turn auto-detect off and pick the delimiter manually.
Does it handle quoted fields with commas inside?
Yes. The parser is RFC 4180 aware: fields wrapped in double quotes can contain the delimiter, newlines, and embedded quotes (escaped as ""). Most spreadsheet exports follow this convention.
Can I edit cells after rendering?
No — this is a viewer, not a spreadsheet. To edit, paste into Excel/Google Sheets, edit there, and copy back as CSV. We may add inline editing in a future release; let us know if you need it.
What if my CSV has no header row?
Toggle the "first row is header" switch off. The first data row will then be treated as a row, and columns will be labelled Column 1, Column 2, etc.
How are numbers sorted?
Sorting uses localeCompare with the numeric option, so values sort in natural order — 9 before 10, 1.10 after 1.9. Mixed numeric/text columns sort with text first, then numbers, in the order localeCompare prescribes.
Why is my row count wrong?
Usually because a value contains an unescaped quote or a newline. The parser respects RFC 4180 quoting; if your producer wraps multiline values in quotes, they're handled correctly. Otherwise re-export with proper quoting.
Is my CSV uploaded anywhere?
No. Parsing, sorting, filtering, and copying all run in your browser. There is no network call when you paste, sort, or filter — verify in DevTools Network tab.
What is the maximum file size?
There is no hard limit but rendering tens of thousands of rows in the DOM can slow the browser. For very large files, filter or chunk before pasting, or use a streaming tool like xsv or csvkit on the command line.