Skip to content
Burrows Tools

CSV to JSON Converter

Paste a spreadsheet export and get JSON you can drop straight into code or a test fixture. The first row becomes the keys and every following row becomes an object. The parser is a real RFC 4180 reader rather than a split on commas, so quoted fields containing commas, doubled quotes, or line breaks come through intact, and CRLF, LF, and CR endings are all accepted. The delimiter is detected from your first line and can be overridden. Values that are unambiguously numbers, booleans, or null are typed as such, while anything with a leading zero stays a string, because a zip code that turns into a smaller number is the classic way a CSV import ruins a dataset. Column names written in dotted or bracketed notation rebuild into nested objects and arrays. Conversion happens in this tab: no upload, no server, no copy of your file anywhere.

Converted in your browser — the text never leaves this tab and nothing is uploaded.

Paste your data and choose Convert to JSON.

Need the other direction? Convert JSON to CSV

How to use the csv to json converter

  1. Paste your CSV, including its header row.
  2. Check the delimiter — it is detected from the first line, and you can change it.
  3. Choose whether to type numbers and booleans and whether to rebuild nested keys.
  4. Press Convert to JSON, then copy the result or download it as a .json file.

Frequently asked questions

How are types decided?
A cell becomes a number only if it reads exactly like a JSON number, and booleans and null only for the lowercase words true, false, and null. Values with leading zeros, thousands separators, or surrounding spaces stay strings, as do whole numbers too large to represent exactly. Turn the option off to keep every value as a string.
What if my CSV has no header row?
The first row is always treated as the header. If your file starts with data, add a header line first, or use column1, column2 style names — blank headers are automatically named after their position.
Can it handle semicolons or tabs?
Yes. Comma, semicolon, tab, and pipe are all supported, and the delimiter that splits your first line into the most columns is selected automatically.
What are dotted column names for?
A column called user.name rebuilds as a nested object, and tags[0] rebuilds as an array element. That is the same notation the JSON to CSV converter writes, so files round-trip between the two pages.
Is my file uploaded?
No. Everything happens in your browser. Nothing is sent to a server, which is why this works offline once the page has loaded.