CSV ↔ JSON Converter - Excel table data converter
Convert tabular spreadsheet data between CSV and JSON formats locally in the browser.
History
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
- Paste the CSV or JSON content into the input area.
- The tool detects the format automatically, you can override the delimiter (comma, semicolon, tab) if needed.
- See the result in the other format live in the second panel.
- Click "Download" to save as .csv or .json, or "Copy" to put it on your clipboard.
Examples
name,age,city
Anna,32,Oslo
Bjarne,45,Bergen[
{"name":"Anna","age":"32","city":"Oslo"},
{"name":"Bjarne","age":"45","city":"Bergen"}
][{"id":1,"name":"A"},{"id":2,"name":"B, C"}]id,name
1,A
2,"B, C"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).