How to convert CSV, JSON and Excel to each other (free, online)
Published on August 06, 2026
Converting CSV to JSON, JSON to Excel, Excel to JSON, JSON to CSV or CSV to Excel takes one click, for free, in your browser. Here is how, and what each path preserves.
How to convert between CSV, JSON and Excel
There are five one-button converters: CSV to JSON, JSON to CSV, Excel (XLSX) to JSON, JSON to Excel (XLSX) and CSV to Excel (XLSX). You upload the file, click "Convert and download" and get the result with the same name and the new extension. Each table row becomes a record in the target. Everything happens in your browser, with nothing to install.
- Open the tool for the path you need (for example, "CSV to JSON").
- Upload the .csv, .json or .xlsx file. You can upload several at once: you get one result per file.
- In Excel to JSON, check "One record per line (NDJSON)" if the destination expects one object per line; the file comes out as .ndjson.
- Click "Convert and download" and get the file ready to import or open.
Spreadsheet to API: CSV or Excel to JSON
In CSV to JSON, the first row becomes the key names and every following row becomes an object. The separator is detected automatically (comma, semicolon or tab) and all values come out as text, exactly as they were in the file. Excel to JSON, on the other hand, uses the type stored in each cell: numbers stay numbers, true/false becomes a boolean, dates become text in yyyy-mm-dd format (with a time, yyyy-mm-ddThh:mm), empty cells become null and huge integers become text so no digits are lost. It reads only the first sheet and shows a notice saying which sheet was converted and how many were left out; an empty header becomes coluna_N and a repeated name gets the _2 suffix. If, rather than JSON, you want to query the table with SQL, see how to convert CSV or JSON to SQLite.
Convert Excel to JSON →API to spreadsheet: JSON to Excel or to CSV
The JSON must be an array of objects or of arrays. In JSON to Excel, numbers stay numbers, true/false becomes a boolean and all text stays text, including dates such as "2025-01-01", which reach Excel as text (format the column there if needed). An object nested inside another is written to the cell as its JSON, and an integer too large for Excel becomes text so no digits are lost. The first row holds the key names, gathering the keys of every object; where an object lacks a key, the cell is left empty. The result has one sheet and opens in any modern version of Excel, LibreOffice or Google Sheets. If what you have is YAML or XML, convert it to JSON first: see how to convert JSON to YAML, YAML to JSON and XML to JSON.
Convert JSON to Excel →If the destination is an import system, use JSON to CSV: the file comes out with commas as separators, one line per record, UTF-8 text and every value as text.
Convert JSON to CSV →CSV to Excel: open a CSV as a real spreadsheet
Received a CSV and just want a spreadsheet to review? CSV to Excel detects whether the separator is a comma, a semicolon or a tab, produces an .xlsx with one sheet named Planilha1 and recognizes numbers as numbers; everything else stays text, so codes with leading zeros are not damaged. A number with a decimal comma (1,5) also stays text; to add it up, switch the comma to a dot first. The opposite direction, from spreadsheet to CSV, is in how to convert Excel to CSV.
Convert CSV to Excel →Which format for which situation
- Excel: for a person to build, review and view the data, with formulas and formatting.
- CSV: to import and export between systems (ERP, online store, database, email tool). It is the common language of imports, described in [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180).
- JSON: for your code and for APIs. Each row becomes an object with key and value, easy to loop through in a program.
Common errors and limits
- "The JSON must be a list (array) of objects or rows. Check the content.": the file has an object at the root, such as {"data": [...]}. Copy only the inner list to a new file and convert that.
- Only the first Excel sheet is converted. If the table is on another sheet, move it to the first position before uploading; the on-screen notice says how many sheets were left out.
- Separator: when reading CSV, AtlasDocs detects on its own whether it is a comma, a semicolon or a tab. CSV generated from JSON always uses commas; if the destination expects semicolons, adjust that on import.
- Dates: from Excel to JSON they come out as yyyy-mm-dd; from JSON to Excel they arrive as text. JSON has no date type, so there is no way for Excel to receive a real date on that path.
- Accents: generated files are UTF-8. If Excel on Windows shows garbled accents when you double-click a CSV, use its data import and choose UTF-8.
- Header: the first row becomes the key or column names. Keep it clean, with no merged cells and no title above the table. The limit is 2 GB per file.
Everything happens in your browser: the file is processed on your own device and is never sent to any server. Your data never leaves your computer.
