Skip to content
{ }JSON Formatter

CSV to JSON Converter

Paste CSV (or Excel copy-paste), get a JSON array of objects — header row becomes keys, numbers and booleans are typed automatically.

Input
Output
Paste input and press Convert to JSON.

Spreadsheet in, API-ready JSON out

The reverse of the classic export problem: you have a CSV file, an Excel sheet or a database dump, and the code you're writing wants JSON. Paste the raw CSV — the first row is treated as the header and provides the keys; every following row becomes one object in the output array.

Automatic typing and delimiter detection

Two conveniences that save manual cleanup afterwards:

  • Type detection42 becomes a number, true a boolean, empty cells become null. Quoted values stay strings, so ZIP codes with leading zeros survive if the CSV quoted them.
  • Delimiter auto-detection — comma, semicolon (the German/Austrian Excel default) and tab all work without telling the tool which one you have. Pasting directly from Excel produces tab-separated text, and that's fine too.

Clean input makes clean output

CSV is a deceptively loose format — the usual troublemakers are a missing header row (first data row becomes your keys), inconsistent column counts (rows get truncated or padded), and stray blank lines (skipped automatically here). If the result looks off, check the header line first; ninety percent of odd conversions trace back to it. The output is standard pretty-printed JSON — pipe it straight into the tree viewer to sanity-check the structure.

Frequently asked questions

My CSV uses semicolons (German Excel) — do I need to change anything?

No. The delimiter is auto-detected per document: comma, semicolon and tab all convert without configuration. Mixed delimiters inside one file are the only case that confuses detection — and that file is broken by any standard.

Why did my ZIP code 01010 turn into 1010?

Type detection reads unquoted 01010 as the number 1010. If the value is really a string, quote it in the CSV ("01010") and it stays a string with the leading zero intact.

Can I paste directly from Excel or Google Sheets?

Yes. Copying a range from a spreadsheet puts tab-separated text on the clipboard, and the tab delimiter is detected automatically. Header row included in the selection = keys included in the JSON.

What if my file has no header row?

The first data row would be misused as keys. Add a header line on top before converting — even a quick a,b,c — otherwise your first record disappears into the keys.

How large can the CSV be?

Parsing happens locally, so it scales with your machine, not with a server limit — files with tens of thousands of rows convert in well under a second on typical hardware.