data tool
CSV to table
Paste CSV and read it as a grid instead of squinting at commas. Every column header carries its own profile, so you can see the type, the blanks and the range without scrolling, and any row whose field count disagrees with the header is named by row and line.
Runs on your device. Nothing is uploaded.
Loading the tool…
How to use it
- 1
Paste or drop the file
The grid appears straight away. The separator and the header row are worked out from the text, so there is nothing to set before you can read it.
- 2
Read the column headers
Each header names the column, tags it as text, number, currency, percent, date or boolean, shows how full it is, and gives its range or its most common value.
- 3
Check the warning strip
Any row whose field count disagrees with the header is listed by row and by line, and marked in the grid with a flag in the row gutter rather than colour alone.
- 4
Sort and filter
Tap a header to sort on that column in the order its type deserves. The filter box narrows the grid to rows containing what you type.
The header is where the information is
A plain table tells you what is in row four. It does not tell you that the salary column is nine tenths full, that the started column runs from 2021 to 2024, or that city has only four distinct values across five rows. All of that is attached to the column it describes, in the header, because that is where you are already looking when you are deciding whether a file is fit to import.
Ragged rows are the fault worth catching
When rows disagree on field count something upstream went wrong: an unescaped quote, a line break inside a field that was never quoted, or two exports pasted together with different headers. A file that imports without complaint but silently shifts one column is far more expensive than one that fails loudly, so the count is checked on every row and the offenders are named by row and by line.
Quoted fields are the whole problem
RFC 4180 says a field holding a comma, a quote or a line break is wrapped in double quotes, and a quote inside such a field is written twice. Splitting on commas ignores both rules, which is how one address column becomes three and every column after it shifts. This parser walks the text character by character and tracks whether it is inside quotes, so Sales, retail stays one field and Support "tier 2" keeps its quotes.
Separators are regional
The C in CSV says comma, but exports from systems set to European locales usually use a semicolon, because those locales write decimals with a comma. Tab separated text avoids the argument entirely and is what lands on your clipboard when you copy a range out of a spreadsheet. The separator is guessed by parsing a sample with each candidate and keeping the one that gives the most consistent row width.
Limits
- Rows are drawn two hundred at a time. A large file still parses, you just page through it.
- Values are shown exactly as written. Nothing is reformatted, rounded or converted.
- The type on each column is a guess from its values, so a column of postcodes can read as numbers.
- Files over 25 MB are refused. Paste a slice of a larger export instead.
What it does not do
- It does not edit cells, or repair a broken row for you.
- It does not join, group or pivot. It reads one file at a time.
- It does not keep your file. Reloading the page clears everything.
Questions people ask
Is my data uploaded?
No. The parsing runs in your browser and the page makes no network request after it loads. That matters more here than on most tools, because the CSV people want to inspect is usually an export of customer records, payroll or staff details. Closing the tab is all it takes to be rid of it.
Why is everything in one column?
The separator guess was wrong. Open Advanced options and set it to semicolon or tab. Exports from systems set to European locales use a semicolon, because those locales write decimals with a comma. If you pasted straight out of a spreadsheet, tab is almost always the right answer.
What does the bar under each column name mean?
It is how full that column is. A full grey bar means every row has a value there. An amber bar that stops short means some rows are blank, and the count of blanks sits next to the type tag. It is the quickest way to spot a column that only half arrived.
A row does not have the right number of fields. What now?
Some row carries more or fewer values than the header names. The usual causes are a quote opened and never closed, an unquoted line break inside a field, or two exports pasted together. The warning gives both the row and the line, so open the file at that line and the fault is normally just above it.
How does it decide a column is a date or a number?
It reads every value in the column and takes the type that at least nine in ten of them match. Slash dates are ambiguous, so the whole column votes: a part above twelve can only be a day, which settles whether the file was written day first or month first.
Can I sort by a column?
Yes. Every header is a button, and it sorts in the order its type deserves, so numbers sort numerically, dates chronologically and text alphabetically. Tapping the same header again reverses it. Sorting also changes what a download contains, because the download follows whatever is on screen.
Can I get JSON out of it?
Open Advanced options, set the download format to JSON, and it saves an array of records keyed by the header row. If you would rather see both formats at once and edit either one, use the CSV and JSON converter, which keeps the two sides in step as you type.
Turn these columns into a form
Take what you made here into forms.
Create a form with OneCraftRelated tools
- CSV and JSON converterConvert CSV to JSON and JSON back to CSV as you type. Both panes stay live, and a fault is flagged on the line it sits on. Nothing is uploaded.
- JSON formatterFormat and inspect JSON in your browser. A collapsible tree beside the text, errors pinned to the line and column, and warnings for duplicate keys.
- Word counterCount words, characters, sentences and paragraphs as you type, and see which sentences are hard work. Runs in your browser, nothing is uploaded or stored.
- Case converterSee sentence case, title case, camelCase, snake_case and eleven more rendered from your own text, then press the one you want to copy it. Runs in your browser.
Sources
Written and checked by the OneCraft team. Last checked .