CSV to JSON

How to use

Converts CSV or TSV rows into a JSON array of objects, using the first row as the object keys. Paste or upload your data and copy or download the resulting JSON.

Excel & CSVLocal only

Step 2 of 3: Convert

  1. 2
  2. 3

Step 2 of 3 · Convert

When to use this
  • Feeding a spreadsheet export into a JavaScript app or API that expects JSON
  • Converting exported analytics data into JSON for a front-end prototype
  • Turning a CSV of records into the object array shape expected by a NoSQL database seed script
  • Quickly inspecting CSV data in a structured, key-value format for debugging

Free and private. Everything runs on your own device, with no account and no uploads.

This tool converts CSV data into a JSON array of objects, using the first row as property keys for every subsequent row, which is a common step when feeding tabular data into an API or JavaScript application. It works on plain CSV or TSV text rather than binary Excel files, and the conversion happens as you type or upload. Nothing is sent to a server during the conversion.

No, this converts CSV/TSV text data specifically; binary Excel workbooks are not parsed by this tool.

The first row of your data is used as the object keys for every row that follows.

Missing header names are auto-labeled like "col1", "col2" so every column still has a usable key.

The tool shows an error message describing what went wrong so you can fix the input.

How it works
  1. 1

    Upload or paste CSV data

    Load your delimited data into the input box.

  2. 2

    Select the delimiter

    Choose comma, tab, pipe, or semicolon to match your data.

  3. 3

    View the generated JSON

    The tool converts each row into an object keyed by the header row.

  4. 4

    Copy or download the JSON

    Use the copy button or download the .json file.

Pro tips
  • ·Make sure your header row has no blank or duplicate cells, or the tool will auto-label those columns as "col1", "col2", etc.
  • ·Numbers and booleans come through as strings by default, cast them in your own code if you need native types.
  • ·Set the delimiter to match your source file exactly, since a mismatch produces one giant column of malformed keys.