CSV Editor — Examples
Hands-on runs with the CSV Editor: import an Excel CSV and hand it back, export as JSON or Markdown, rescue a messy file, and transpose data.
Back to the overview: CSV Editor · Open the tool live: www.jpkc.com/tools/csv/
The manual explains every button and option in detail. This page adds concrete workflows: typical tasks, walked through step by step. The tool's interface is in English, so the button and field names are the real labels.
Example 1: Import a semicolon CSV from Excel
A classic wherever the comma is the decimal separator — Germany and much of continental Europe: Excel exports CSV with a semicolon instead of a comma.
- Open the CSV Editor. Import delimiter and Import encoding are set to automatic by default.
- Click Open and choose your file (or drag it straight onto the editor area).
- Detection test-parses the first 30 lines with each candidate and picks the semicolon because it splits the lines into columns most consistently. Classic Excel "CSV" is also usually encoded in Windows-1252: the tool notices that the file isn't valid UTF-8, reads it as Windows-1252, and shows a yellow notice above the table. The toast after opening confirms both: "… (… rows, semicolon-separated, WINDOWS-1252)".
- The data now sits cleanly in columns, and accented characters look right. If everything ended up in one column after all, detection got it wrong — open Settings and set Import delimiter to Semicolon (
;). As long as you haven't edited anything yet, the tool reads the file again right away. The same goes for Import encoding if special characters look wrong.
Example 2: Edit a column and export as JSON
You have a contact list as CSV and need it as a JSON array of objects for an API or a script.
- Import the file (Example 1). Enable First row is header in Settings — the first row turns into column headers immediately, no reload needed. Now the columns carry real names like
name,email,city. - Fix what you need to: double-click a cell and type the new value. Rename a whole column? Right-click the column header → Rename this column. Drop a redundant column? Right-click the column header → Delete selected columns. (Double-clicking the column header, by the way, sorts by that column.)
- Click JSON. Because header mode is on, the result is an array of objects with the headers as keys, downloaded under your file's name, such as
contacts.json:
[
{
"name": "Alice",
"email": "alice@example.com",
"city": "Berlin"
},
{
"name": "Bob",
"email": "bob@example.com",
"city": "Hamburg"
}
]- If you need plain row arrays instead, turn First row is header off before exporting — the headers move back into the first row, and JSON produces an array of arrays.
If the header row has gaps or duplicate names, the tool cleans them up when you turn header mode on: an empty header in third position becomes Column 3, a second email becomes email_2. That way no value overwrites another in the JSON.
Example 3: Check auto-detection on a messy file
You've been handed a foreign file and don't know what it's built with.
- Leave Import delimiter and Import encoding on automatic and open the file. Read the toast: it names the detected delimiter (comma / semicolon / tab / pipe) and the encoding.
- Check the notice box: if a yellow box appears above the table, the parser found something — for instance "Line 57: a quote is never closed — the rest of the file ended up in one field." or "3 rows had fewer columns and were filled with empty cells." The line number takes you straight to the broken spot in the source file.
- Eyeball it: do the values sit cleanly in separate columns? Then it's right. If everything is stuck in one column or columns are shifted, set the delimiter manually in Settings — the file is read again right away. Cycle through the candidates (comma, semicolon, tab, pipe) until the table looks right.
- Fields with embedded delimiters or line breaks must be quoted by the source file — then the parser splits them correctly. A single quote in the middle of a value (
Monitor 27" wide), on the other hand, is no problem: it simply stays put. But if the notice box reports a quote that is never closed, the file really is broken at that point — fix it at the source or in the table.
Example 4: Pull data in from Excel or Google Sheets by pasting
You don't want to export a file at all — just bring in a selection from a spreadsheet.
- In Excel, Google Sheets, or Numbers, select the range you want and copy it (Ctrl+C).
- Click Paste in the CSV Editor. (If the browser asks, allow clipboard access.)
- Spreadsheets copy tab-separated; auto-detection recognizes this as a tab and builds the table correctly. The toast reports the row count and "tab-separated".
- Edit the data and export it as CSV or JSON — or send it back into another spreadsheet with Copy (tab-separated).
Example 5: Transpose a sideways table
Some exports put the attributes in rows instead of columns — a "Name" row, a "City" row, and so on, with the records as columns.
- Import the file (with First row is header turned off).
- Click Transpose. m rows × n columns becomes n rows × m columns — the table is flipped, and the toast names the old and new size.
- Now enable First row is header if needed: the former row names, which now sit in the first row, become the header row immediately.
- Export as usual. If the flip didn't produce what you wanted, simply click Transpose once more — that flips the table back. Undo won't help here, because Transpose rebuilds the table.
If header mode is already on when you transpose, the column names are not lost: they are rotated along and end up in the first column, while the former first column becomes the new header row.
Example 6: Work safely and survive a reload
You're editing a larger file across several sessions and don't want to lose anything.
- Work normally — the tool saves the table to browser storage automatically 1.5 seconds after each change. In the status bar you see
Saved in this browser · 14:32with the time of the last save. If you close the tab and come back later, the table is still there, including column names and file name. - Before a risky action (a large delete, a transpose, toggling the header switch), export an intermediate version via CSV to be safe. The automatic save overwrites itself with every change; it doesn't keep an older state.
- If a cell edit went wrong, Undo (Ctrl+Z) helps. After a rebuild such as Transpose, reopen your intermediate version instead.
- If the status bar shows the warning
Too large to keep in this browser, the table is too big for browser storage — the tool no longer saves it, and only an export preserves your changes. - When you're done and want a clean slate, click Reset: after the confirmation prompt, the table and the saved data are cleared.
Example 7: Hand a file back Excel-ready
You've cleaned up a list of orders or form submissions and want to send it to someone who will open it in Excel with a double-click.
- Open the file and edit it as usual.
- Open Settings and check Export delimiter: with Same as opened file, a semicolon file comes back out as a semicolon file — exactly what an Excel set to a semicolon locale (German, for instance) expects on double-click. For data from the clipboard or a different target, set it explicitly to the delimiter the recipient needs, such as Semicolon (
;) or Comma (,). - Tick CSV export with UTF-8 BOM. The export is always UTF-8; the BOM at the start of the file makes sure Excel recognizes that too and displays accented characters correctly.
- If the data comes from untrusted sources (forms, shop orders), also tick Protect against formula injection. A smuggled-in value such as
=HYPERLINK("https://example.com","Click")is then written as'=HYPERLINK(…)and shown as text in Excel instead of being executed. Negative numbers such as-12.50stay unchanged. - Click CSV — not Save as… in the context menu or Ctrl+S, which ignores the settings from steps 2 to 4. The file carries the name of the original file.
Example 8: Bring a table into your docs as Markdown
You want to drop a small overview — pricing tiers, versions, configuration values — into a README or a wiki.
- Load the data via Open, or copy it from a spreadsheet and click Paste.
- The Markdown export always uses the first row as the table header — in header mode the column names, otherwise the first data row. If your data lacks a header row, right-click to insert a row at the top and type in the headings.
- Tidy up whatever doesn't belong in the docs: delete columns by right-clicking the column header, sort by a column (double-click its header).
- Click Markdown. The result looks something like this:
| Plan | Price/month | Users | Note |
| --- | ---: | ---: | --- |
| Basic | 9.90 | 1 | no support |
| Team | 29.00 | 10 | email support |Columns that contain numbers throughout are right-aligned (---:); a | inside a cell is escaped, and line breaks become <br>. You can include the file directly or keep working on it in the Markdown Editor.
Going deeper: the overview for the big picture, the manual for every function in detail, and the tips & tricks for the pitfalls. You can try all of it directly in the tool.