/csv-json

CSV ↔ JSON Converter - Excel table data converter

Convert tabular spreadsheet data between CSV and JSON formats locally in the browser.

How it works

This tool lets you convert tabular data between CSV and JSON formats. The conversion happens live as you type, and everything runs locally in your browser so your data is never sent over the network.

Settings

  • Separator: Choose whether the data is separated by comma, semicolon, or tab.
  • First row is header: When enabled, the column names from the first row will be used as keys in the JSON objects.

About this tool

CSV and JSON are the two most common tabular formats in the world. CSV is compact and lightweight, used by Excel, accounting systems, banks and log exports. JSON is semi-structured, used by APIs, modern apps and NoSQL databases. This tool converts both ways directly in the browser: paste a CSV to get JSON back, or paste a JSON list to get a clean CSV you can open in Excel. Delimiters, quoting and NULL values are handled automatically, and your file never leaves the machine.

How to use it

  1. Paste the CSV or JSON content into the input area.
  2. The tool detects the format automatically, you can override the delimiter (comma, semicolon, tab) if needed.
  3. See the result in the other format live in the second panel.
  4. Click "Download" to save as .csv or .json, or "Copy" to put it on your clipboard.

Examples

CSV to JSON
Inputname,age,city Anna,32,Oslo Bjarne,45,Bergen
Output[ {"name":"Anna","age":"32","city":"Oslo"}, {"name":"Bjarne","age":"45","city":"Bergen"} ]
JSON to CSV
Input[{"id":1,"name":"A"},{"id":2,"name":"B, C"}]
Outputid,name 1,A 2,"B, C"
The value "B, C" is automatically wrapped in quotes because it contains the delimiter.

Common use cases

  • Import Excel exports into a JSON-based API.
  • Export a REST API response to a spreadsheet for further analysis.
  • Convert log files between formats before loading into Elasticsearch or BigQuery.
  • Migrate data between SaaS tools that only accept one of the formats.
  • Shape data for import into NoSQL databases (MongoDB, DynamoDB).

Frequently asked questions

Why does Excel use semicolon instead of comma?
In countries where the decimal separator is comma (Norway, Sweden, Germany, France, etc.) CSV must use another delimiter, typically semicolon. The tool detects both automatically, and you can force one.
What happens with nested JSON objects?
Nested objects and arrays are kept as JSON text inside the matching CSV column. CSV is flat, so this is the best option without losing information.
Does the tool handle special characters like æ, ø, å?
Yes, everything is loaded as UTF-8. If Excel shows garbled characters, use "Import from CSV" in Excel and pick UTF-8 explicitly, rather than "Open" directly.
Is there a file-size limit?
The tool runs entirely in your browser, so your memory is the limit. Files up to tens of MB are rarely a problem on modern machines. Very large datasets should be split into chunks.

Technical background

CSV is defined in RFC 4180: an optional header row, fields separated by comma, and values containing the delimiter, line breaks or quote marks must be wrapped in double quotes with internal quotes doubled (""). In practice many systems diverge: Excel uses semicolon in countries with comma as decimal separator, and some exports use tab (TSV). JSON is defined in RFC 8259: strings must use double quotes, comments are not allowed, and numbers use a period as decimal separator. A JSON list of objects maps naturally to CSV: each key becomes a column, each entry becomes a row. Nested structures must be serialised as a string or flattened with dot syntax (a.b.c). When converting CSV to JSON all values are treated as strings by default; to get numbers and booleans you must specify types or use schema inference (often unreliable for mixed content like "01" used as a postal code).