Related tools
What this CSV → JSON flow gives you
Built for spreadsheet-to-API handoffs: control how rows split, how bytes decode, and whether headers become keys—then grab clipboard-friendly JSON or a downloadable file without leaving your machine.
- Delimiter you can dial in: Auto-detect from the header line or force comma, semicolon, tab, or pipe when exports use regional conventions.
- Encoding that fixes garbled text: UTF-8 for most pipelines; switch encodings when European CSVs show mojibake in the textarea.
- Objects or raw matrices: Toggle first row as keys for `{ "column": "value" }` rows, or keep a 2D array when you already normalize in code.
- Copy, download, repeat: Pretty-printed JSON is ready for Postman, jq, or committing to repos—regenerate instantly after tweaks.
- Privacy-first execution: No background upload queue: sensitive exports stay in-memory inside your browser.
Why convert CSV to JSON?
JSON is the lingua franca of REST APIs, serverless functions, and NoSQL loaders. Moving CSV to JSON lets you validate shapes, diff outputs, and pipe rows into apps without rewriting parsers in every language.
- API and automation ready: Feed the same structure into fetch bodies, CLI tools, or document stores.
- Structured for code: Arrays and objects map cleanly to TypeScript, Python, or Go types after conversion.
How the conversion works
The textarea or FileReader supplies text decoded with your chosen encoding. Rows split on the delimiter you pick (or the auto guess), then the engine either zips headers with values or emits nested arrays before JSON.stringify runs locally.
- Decode and split: Uploads honor UTF-8, Windows-1252, or ISO-8859-1; delimiters trim ragged exports.
- Shape the payload: Header mode builds an object per row; array mode preserves every cell positionally.
- Emit formatted JSON: Two-space indentation aids review; download or copy once the structure looks right.
Parsing options explained
Each toggle changes how characters become fields and how fields become JSON properties.
- Delimiter: Auto inspects the first line for comma vs semicolon vs tab vs pipe; manual mode overrides stubborn files.
- Encoding: Applies only to uploaded files—pasted text is already decoded by the browser, so re-paste after fixing source encoding if needed.
- First row as keys: Maps headers to JSON keys; disable when you need uniform arrays or duplicate column titles would collide.
When to use each file encoding
If letters or currency symbols look wrong before conversion, pick a different decoder before you hit Convert.
- UTF-8: Default for data warehouses, SaaS exports, and anything saved as Unicode.
- Windows-1252: Typical for Excel-on-Windows CSV in Western European locales.
- ISO-8859-1: Fallback Latin-1 pipeline when UTF-8 and Windows-1252 still misread characters.
CSV parsing and JSON.stringify run in your browser so large files never hit our servers; heavy output updates are deferred so the UI stays responsive.
Frequently asked questions
Why are my CSV columns splitting wrong in the JSON?
The delimiter probably does not match the file. Use Auto (reads the first line) or switch to comma, semicolon, tab, or pipe until the preview rows look correct.
What does first row as keys do?
When enabled, row one becomes property names and each following row becomes one JSON object. When disabled, the parser emits a JSON array of string arrays—useful for irregular headers or matrix data.
Which encodings are supported for uploads?
UTF-8 is the default for modern exports. Windows-1252 and ISO-8859-1 cover many legacy or regional Excel CSV saves when accents look wrong.
Does my CSV get uploaded to your servers?
No. Parsing and stringify run entirely in your browser tab.
Can I copy JSON instead of downloading?
Yes. After conversion, use Copy JSON; if the clipboard is blocked, fall back to Download JSON.