Skip to content

CSV to JSON Converter

Convert spreadsheet exports into JSON that a web app, API or script can read. Each CSV row becomes an object, keyed by the column names in the first row, and the conversion happens in your browser.

Separator

How to convert CSV to JSON

  1. Add your CSV. Paste it into the CSV box, or press Open file to load a .csv or .tsv file from your device. Press Try an example to see how it works with sample data.
  2. Check the separator. Leave Separator on Detect, or choose Comma, Semicolon or Tab.
  3. Choose the options. Keep First row is the header on to get objects with named keys, and decide whether Convert numbers and true/false should turn values like 12 and TRUE into real JSON numbers and booleans.
  4. Copy or download. The JSON appears in the right-hand box with a count of rows. Copy it, or download it as a .json file.

The same page can also turn JSON back into CSV: switch the direction at the top to JSON → CSV.

Features

  • Objects keyed by the header row, or plain arrays when your file has no header.
  • Automatic separator detection for comma, semicolon and tab files.
  • Typed values: numbers become JSON numbers and true or false become booleans, when you want them to.
  • Handles quoted fields that contain commas, quotes and line breaks, using the well-tested PapaParse library.
  • Duplicate column names renamed instead of overwritten.
  • Row-level error messages that point to the line to fix.
  • Readable output indented with two spaces.
  • Open, paste, copy and download in one place.

Why use Fileora for CSV to JSON

CSV exports are often customer lists, orders or sign-up sheets. Fileora parses them with JavaScript in your own browser, so the data is never uploaded, logged or kept. It is free, there is no account, and it works as well on a phone as on a laptop.

When to use CSV to JSON

Seeding a database or mock API. Export a sheet as CSV, convert it, and load the JSON array as test data or fixtures.

Feeding a website. A small product list, price table or store locator kept in a spreadsheet can be turned into a JSON file that front-end code fetches.

Working with no-code tools. Many automation and form tools accept JSON bodies; converting a CSV saves typing each record by hand.

Getting a clean result

Give every column a short, unique header without spaces, such as first_name, so the keys are easy to use in code. Decide how you want IDs and phone numbers stored before converting: as text if they have leading zeros or are longer than 15 digits, as numbers only if you will do maths with them. If your data is in an Excel workbook, first turn the sheet into CSV with the Excel to CSV converter. After converting, you can check or pretty-print the result in the JSON formatter, and compare two versions of a data file with the diff checker.

Frequently asked questions

What does the JSON output look like?

With First row is the header switched on, you get an array with one object per data row, for example [{"name": "Ali Khan", "city": "Lahore", "orders": 12}]. The column names from the first row become the keys. With the header option off, you get an array of arrays, one inner array per line, including the first line.

Which separators can it read?

Commas, semicolons and tabs. Leave Separator on Detect and the tool works it out from the data, or pick one yourself if the detection guesses wrong, for example when a one-column file happens to contain commas inside quotes.

Why did my postcode or phone number lose its leading zero?

With Convert numbers and true/false switched on, a value such as 05400 is read as the number 5400, and numbers in JSON cannot start with a zero. Switch that option off to keep every value as text exactly as it appears in the CSV.

What happens to empty cells?

When number conversion is on, an empty cell becomes null in the JSON. When it is off, an empty cell becomes an empty string. Completely empty lines in the CSV are skipped either way.

Are dates converted?

No. Dates stay as the text in the CSV, such as "2026-09-29" or "29/09/2026", because JSON has no date type and date formats vary between countries. Convert them in your own code if you need date objects.

What if two columns have the same name?

The second one is renamed with a suffix, so a header of name,name produces the keys name and name_1. No data is overwritten.

Why do I see a problem on row 3?

Each line must have the same number of fields as the header. If a line has more or fewer, usually because of a missing quote or an extra separator, the converter names the row so you can fix it. Quoted values may contain commas and line breaks.

Can't find the tool you need, or something isn't working?

Tell us which tool you'd like next or what went wrong. We read every message, and requests decide what we build next.

Opens your email app. Please don't attach private files.