Orpheus

CSV to JSON Converter

Convert CSV to JSON, handling quoted commas properly.

Options
First row is a header
Convert numeric values to numbers
Result

Everything is processed in this tab. Nothing you paste is sent anywhere.

Every tool runs entirely in your browser. Your files are never uploaded to a server.

CSV to JSON turns rows into objects keyed by the header. The part that matters is quoting: a field containing a comma is wrapped in quotes, so splitting on commas breaks most real data.

How to use CSV to JSON Converter

  1. Paste your CSV. Including the header row, if it has one.
  2. Set the delimiter. Semicolon is common in European exports, where the comma is a decimal separator.
  3. Copy the JSON. Numeric conversion is optional and off by default, for good reason.

About converting CSV to JSON

CSV is barely a format. There is an RFC describing it, published years after the convention was already in wide use, and a great deal of real-world CSV does not follow it. The parts that are agreed: fields are separated by a delimiter, a field containing the delimiter or a line break is wrapped in double quotes, and a literal double quote inside a quoted field is written twice. Any parser that splits on commas fails the second rule and therefore fails on most data containing addresses, names or free text. What is not agreed is nearly everything else. The delimiter itself varies by locale, because countries using the comma as a decimal separator export with semicolons, which is why the same spreadsheet opens correctly in one place and as a single column somewhere else. Character encoding is rarely declared, so a file with accented names may arrive as mojibake. Line endings differ. And there is no type information at all: every value is text, which is why automatic numeric conversion is a data-loss risk rather than a convenience. A leading-zero postcode, a version string like 1.10, and an identifier longer than fifteen digits are all silently altered by a converter that guesses.

Frequently asked questions

Why does my CSV break when a field contains a comma?
It should not — a field containing the delimiter is wrapped in double quotes, and a proper parser respects that. Tools that simply split on commas fail here, which is why addresses and free-text fields are where CSV imports usually go wrong.
Why is numeric conversion off by default?
Because it damages data. A postcode of 01234 becomes 1234, a price of 1.10 becomes 1.1, and a long ID loses precision. Only values that round-trip exactly are converted here, and even then it is opt-in.
My European CSV uses semicolons — is that valid?
Yes. Locales where the comma is the decimal separator use a semicolon as the field delimiter, and Excel follows the system locale when exporting. That is why the same file opens correctly on one machine and as a single column on another.
What if rows have different numbers of columns?
Missing values become empty strings and a warning is shown. Ragged rows usually mean an unescaped quote somewhere earlier has swallowed a line break, so the row count is worth checking against what you expected.

Last updated