⇄LocalShift. Runs on your device
{ }

CSV to JSON

Transform spreadsheet rows into structured JSON.

On-device conversion
YOUR PRIVATE WORKSPACE
0 characters
Ready when you are
Conversion options

Loading converter…

Maximum input: 5 MB. Files are processed locally; large outputs are available as downloads with a shortened preview.

THREE SIMPLE STEPS

How to use CSV to JSON

  1. Add your CSV data. Paste text or select a file from your device.
  2. Choose your options. Review the settings and select Convert.
  3. Save your result. Preview, copy, or download the output.
GOOD TO KNOW

Know your output.

CSV values stay strings to preserve leading zeros and large IDs. Nested JSON objects use dotted column names; arrays stay JSON text. Spreadsheet-safe mode prefixes potentially executable cells.

Conversion happens locally. Refreshing or closing this tab clears the workspace; downloaded files remain on your device.

WHAT THIS TOOL DOES

CSV to JSON: conversion behavior

Convert CSV rows into JSON objects without uploading the file. Values stay strings, preserving leading zeros, long IDs and the text of dates.

Use this for spreadsheet exports going into an API or a workflow where identifiers must not be rounded or reformatted.

ProcessingYour browser · no upload
Input → outputCSV → JSON
Input limit5 MB
Cost & accountFree · no account
  • With the header option enabled, the first row supplies property names. Empty and duplicate names are rejected.
  • Without a header, output is an array of arrays and the first row remains data.
  • Fields are not automatically converted into numbers, dates, booleans or nested objects. Empty fields remain empty strings.
  • Rows must have the same number of fields. Correct the separator or quoting if column counts differ.
REPRODUCIBLE EXAMPLE

Identifiers stay strings

Header enabled, comma separator, two-space indentation. Both IDs remain strings and the quoted multiline note stays one value.

Input · CSV
id,name,note
00123,Alex,"hello, world"
9007199254740993,Sam,"line 1
line 2"
Download input
Expected output · JSON
[
  {
    "id": "00123",
    "name": "Alex",
    "note": "hello, world"
  },
  {
    "id": "9007199254740993",
    "name": "Sam",
    "note": "line 1\nline 2"
  }
]
Download expected output

Questions about CSV to JSON

Will 00123 stay 00123?

Yes. It becomes the JSON string "00123". Digits already removed by a spreadsheet cannot be recovered.

Why are numeric values in quotes?

All CSV values remain strings. This avoids guessing whether a field is an identifier, decimal or date. Convert selected fields downstream if appropriate.