Skip to content
FreeConvertter

CSV to JSON Converter

Turn CSV rows into JSON, with the header row as keys and numbers typed safely.

CSVto

or drag and drop them here · up to 50 MB per file

Your files are processed on this device and never uploaded.

Instant conversion

There is no upload or server queue, so conversion starts the moment you drop a file and finishes as fast as your device can process it.

Your files stay private

Files are processed entirely inside your browser. They are never sent to, stored on, or seen by any server.

Nothing to install

Works on Windows, macOS, Linux, Android and iOS in any modern browser. No software, no extensions, no account.

How to convert CSV to JSON

  1. 1

    Click "Choose CSV files" or drop your .csv files onto the converter.

  2. 2

    Optionally open "Options" to set the encoding, delimiter, value typing and JSON format.

  3. 3

    Click "Convert" to build the JSON on your device.

  4. 4

    Click "Download" to save the .json file.

Why convert CSV to JSON?

  • APIs and web apps — load tabular data straight into JavaScript.
  • NoSQL imports — many document databases import JSON.
  • Typed data — numbers and booleans become real values instead of text.

How the conversion works

The encoding and delimiter are detected, the CSV is parsed according to RFC 4180, values are typed conservatively, and each row is written as an object keyed by the header row (or as an array).

What is a CSV file?

CSV (comma-separated values) stores a single table as plain text: one row per line, with cells separated by commas (or semicolons or tabs in some regions). Cells that contain commas, quotes or line breaks are wrapped in double quotes.

CSV is the universal exchange format for data — almost every database, spreadsheet, CRM, bank and analytics tool can import and export it. It has no formatting, formulas or multiple sheets, and it does not record its own text encoding, which is why non-English CSV files sometimes open with garbled characters.

What is a JSON file?

JSON (JavaScript Object Notation) is the standard text format for structured data on the web. It represents objects as {"key": value} pairs and lists as [ … ], with strings, numbers, booleans and null as values. APIs, configuration files and NoSQL databases all use it.

Tabular data in JSON is usually a list of objects — one object per row, with column names as keys — or a list of arrays, one per row.

Frequently asked questions

How are the keys chosen?

The first row is used as keys. Empty headers become column_1, column_2 …, and repeated headers get a suffix such as name_2, so no column is lost.

Are numbers converted?

Plain numbers such as 42 or 3.14 become JSON numbers and TRUE/FALSE become booleans. Values with leading zeros, long IDs and formatted numbers stay strings. Choose "Keep everything as text" to keep all values as strings.

What about empty cells and blank lines?

Empty cells become null and completely empty rows are skipped.

Is my file uploaded?

No. Everything happens in your browser.

Related guides

Related converters