# CSV Editor — Tips & Tricks

> Clever tricks for the CSV Editor: delimiter and encoding pitfalls, the header mode, JSON quirks, and combining it with other JPKCom tools.

Source: https://www.jpkc.com/db/en/tools/csv/tips/

Back to the overview: [CSV Editor](https://www.jpkc.com/db/en/tools/csv/) · Open the tool live: [www.jpkc.com/tools/csv/](https://www.jpkc.com/tools/csv/)

The [manual](https://www.jpkc.com/db/en/tools/csv/manual/) explains every function, the [examples](https://www.jpkc.com/db/en/tools/csv/examples/) show the workflows. This page is about what both assume but rarely spell out: where CSV trips up in practice and how to get around it. The interface is in English, so the button and field names are the real labels.

## Delimiter pitfalls

- **Auto-detection only sees the first line.** It counts comma, semicolon, tab, and pipe in that line and takes the most frequent character. That's fast and usually right — but if the header line is atypical (say, a single title column while the data is multi-column), it can get it wrong. Rule of thumb: take one look after importing. If everything is stuck in one column, set the delimiter manually in **Settings** and reload.
- **Semicolon is the German default.** Excel in German-speaking regions exports CSV with `;`, because the comma is reserved as the decimal separator. If you edit such files regularly, set the **CSV Delimiter** to **Semicolon** straight away — the setting persists in the browser.
- **The same delimiter applies on export.** What you set in Settings determines not just the import but also the delimiter of the file downloaded via **CSV**. If it's on **Auto-detect**, the tool exports with a **comma**. To write a semicolon file back out as a semicolon file, set the delimiter to **Semicolon** before exporting.
- **Copy is always tab — whatever is set.** The **Copy** button copies tab-separated, so the data pastes straight into Excel or Google Sheets. Don't confuse this with the CSV export: if you need a comma- or semicolon-separated file, use **CSV**, not **Copy**.

## Encoding and special characters

- **The file should be UTF-8.** The editor reads the file as text. If it's in an old encoding (such as Windows-1252/Latin-1, as older Excel versions produce), umlauts and special characters show up as garbled text. Save the source file as **UTF-8** first (in Excel: "CSV UTF-8") and reload it.
- **Embedded commas, line breaks, and quotes** are only safe if the source file correctly wraps them in `"…"` and doubles any contained quotes. The parser is RFC 4180-compliant and resolves this correctly — but only if the file follows the rule itself. A file broken at the source can't be rescued by any delimiter.
- **On export the editor does it right.** Fields with a delimiter, a quote, or a line break are quoted automatically and contained quotes are doubled — the emitted `data.csv` is clean even when the input wasn't.

## Using header mode correctly

- **"First row is header" works in both directions.** On **import** the checkbox makes the first row column headers instead of a data row. On **export** it prepends the headers as the first row for CSV and switches JSON from an array of arrays to an **array of objects** (header = key). So set or clear the checkbox deliberately, depending on the shape you need at the end.
- **Enable it and reload.** If you opened the file without header mode and realize the first row really is the headers, enable the checkbox and load the file **again** — the setting takes effect on import, not retroactively on the already loaded table.

## JSON quirks

- **All values are strings.** The JSON export writes every cell value as a string — `"30"` instead of `30`, `"true"` instead of `true`. That's honest (CSV has no types), but may need post-processing for an API. If you need numbers or booleans as real JSON types, run the result through the [JSON Editor](https://www.jpkc.com/db/en/tools/json/) or a small script.
- **Without a header you get arrays.** With header mode off, the JSON is an array of row arrays — good for purely positional data, bad if you want named fields. For named fields, turn header mode on.

## Storage and privacy

- **Everything stays local.** There is no upload and no server — the file is read in the browser, edited, and downloaded again. Especially for sensitive CSV files (customers, orders, internal exports), that's the real advantage: the data does not leave your machine.
- **The automatic save lives in browser storage.** The tool saves your table to LocalStorage after each change — convenient for a reload, but tied to **this browser on this machine**. On a foreign or shared device, clean up with **Reset** when you're done.
- **Very large files hit limits.** Browser storage is bounded; for very large tables the automatic save can fail (with a notice). Editing then continues, but don't rely on the auto-save — export to a file along the way.

## Combining with other JPKCom tools

CSV is usually a waypoint. The pattern: inspect and fix in the CSV Editor, then process further in the right tool.

- **Working on after the JSON export?** The **[JSON Editor](https://www.jpkc.com/db/en/tools/json/)** formats and validates the result and helps turn the string values into real types.
- **Into a format other than CSV or JSON?** With **[Convertor PRO](https://www.jpkc.com/db/en/tools/convertor/)** you convert the JSON export onward to YAML, TOML, XML, and back.
- **Reviewing an exported file?** The **[Source Viewer](https://www.jpkc.com/db/en/tools/source/)** shows it with syntax highlighting before you hand it on.

---

More context: the [overview](https://www.jpkc.com/db/en/tools/csv/) for the big picture, the [manual](https://www.jpkc.com/db/en/tools/csv/manual/) for every function, and the [examples](https://www.jpkc.com/db/en/tools/csv/examples/) for the step-by-step workflows. You can try all of it directly in the [tool](https://www.jpkc.com/tools/csv/).

