Skip to content

Convert CSV to JSON and JSON to CSV

Turn a CSV table into JSON for a program or an API, or flatten JSON records into a CSV you can open in Excel. The conversion runs in your browser, so your data is not uploaded.

CSVJSONProcessed in your browser
The tool loads in your browser…

Features

  • Both directions in one tool

    Drop CSV and JSON files together: CSV files become JSON and JSON files become CSV, each with its own options.

  • Separator detection

    Comma, semicolon, tab and pipe separated files are recognised automatically, and quoted fields with separators or line breaks inside are read correctly.

  • Useful JSON

    The first row can become the keys of a list of objects. Numbers and true/false can be turned into real JSON values, while text such as 007 or very long numbers stays text.

  • Nested JSON becomes columns

    Records with nested objects get dotted columns such as address.city. The union of all keys becomes the header, so records with different fields still line up.

  • Works with Excel and Bengali text

    The CSV can start with a UTF-8 byte-order mark, which lets Excel show Bengali and other non-English text correctly.

How to use CSV ⇄ JSON Converter

  1. Choose CSV or JSON files, or drop them onto the page.
  2. Adjust the options that appear for the kinds of files you added.
  3. Select Convert.
  4. Download the converted files, or all of them as a ZIP.

Supported formats

AcceptsCSV, JSON
ProducesJSON, CSV

The direction is chosen from the file: CSV files become JSON, JSON files become CSV.

Limits and things to know

  • Up to 20 files, 50 MB each and 200 MB in total, and at most 20 million cells per file.
  • JSON to CSV expects a list of records, a list of lists, or one record. A property that holds a single list, such as {"data": [...]}, is unwrapped for you.
  • Arrays inside records are written into one cell as JSON text, and null values become empty cells.
  • CSV to JSON writes numbers the way JavaScript does, so 10.50 becomes 10.5. Turn off number detection to keep every value as text.
  • Files that are not valid UTF-8 are read as Windows-1252, the old Excel encoding. Other encodings may show wrong characters.

Privacy and processing

Your files are read and converted by your browser inside a Web Worker. Nothing is sent to FilesKit, which has no server that receives data.

Common uses

  • Feed a CSV export to a program

    Turn a spreadsheet export into JSON that a script, a database import or a web app can read.

  • Open API data in Excel

    Convert a JSON response from an API into a table that opens in Excel or Google Sheets.

  • Check what is inside a file

    Switch between the table view and the structured view to understand or clean data before you use it.

  • Prepare test data

    Create JSON fixtures from a CSV someone sent you, or the other way round.

How this differs from other approaches

Online converters upload your files, which is a problem for customer lists and other private data. FilesKit converts on your device. Spreadsheet programs and scripting languages give more control over types, dates and huge files.

Frequently asked questions

Is my data uploaded?

No. The conversion happens in your browser and FilesKit has no server that receives your files.

What happens to the first row?

By default it holds the column names, so each row becomes an object with those keys. Turn the option off to get a plain list of lists. Empty or repeated names are made unique, for example name and name_2.

Can it read a CSV with semicolons?

Yes. The separator is detected automatically, and you can also choose comma, semicolon, tab or pipe yourself.

Why does Excel show strange characters?

Excel needs a byte-order mark to recognise UTF-8. Keep the Excel-friendly option on when you convert JSON to CSV and non-English text such as Bengali will display correctly.

How are nested objects handled?

Nested objects are flattened into columns with dotted names, for example user.name. Lists inside a record are stored as JSON text in a single cell.