Turn CSV into a pretty printed JSON array with auto detected delimiters, an optional header row and optional number and boolean conversion. Nothing uploads.
Your files are processed in your browser, on your own device. Nothing is uploaded to a server.
This CSV to JSON converter turns spreadsheet style rows into a pretty printed JSON array. The delimiter is detected on its own or picked by hand, the first row can act as headers, and numbers and true or false values can become real JSON values. It is free and runs in your browser.
Paste CSV text or drop in a file, and the parser reads it the way CSV is meant to be read. A field wrapped in quotes is one field even when it contains the delimiter, and a doubled quote inside a quoted field is read as a single quote character. That handling is what separates a real CSV parser from a naive split on commas, which breaks the moment a name or an address contains one.
With headers on, each row becomes an object keyed by the header names. With headers off, the output is an array of arrays in the same order as the file. Either way the result is pretty printed, so you can read it before you use it.
Spreadsheets are where business data lives, and APIs are where it needs to go. A price list maintained in Excel, a set of store locations, a batch of users to import: each starts life as rows and columns and ends as JSON in a request body. This converter is the short bridge between those two worlds, with no script to write for a one time job.
Test data is the second regular case. Writing fixtures by hand in JSON is slow and error prone, while a table is easy to scan for the case you forgot. Build the cases in a spreadsheet, convert them, and your fixture file is ready, with quoted commas in names and notes surviving the trip because the parser respects the quoting rules.
The reverse trip is covered on this site as well. The JSON to CSV converter flattens a JSON array back into a table when the data needs to go home to a spreadsheet.
The biggest limit is built into CSV itself: the format carries no type information. A column of figures is just text that looks numeric. Type conversion here is a guess the converter makes on your instruction, not a fact it discovered. With conversion on, a value like 42 becomes the number 42 and the word true becomes a boolean. That is usually what you want for quantities and flags. It is the wrong choice for codes, where a value like 007 can turn into the number 7 and lose its leading zeros. Leave conversion off when IDs, SKUs and postal codes are in the file, and let the receiving system read them as text.
Delimiter detection is a heuristic. It reads your input and picks the most likely candidate among comma, semicolon, tab and pipe. On a single column file there is nothing to detect, and on data whose first line holds several candidates it can guess wrong. The manual picker exists for exactly those cases.
One more honest note about rows. CSV in the wild is untidy: files arrive with trailing blank lines and the odd short row. A quick look at the JSON before you ship it is time well spent, and the JSON Validator confirms it parses cleanly.
The conversion runs on your device. Your CSV is not sent to a server, not stored by ToolPeko and not read by anyone here. A customer list or a price sheet stays in the tab where you pasted it. There is no account, no daily cap and no run limit.
Yes. A field wrapped in quotes is read as one field even when it contains the delimiter, and a doubled quote inside a quoted field becomes one quote in the output. That is standard CSV quoting, and the parser follows it.
On, the first row names the keys and each following row becomes an object. Off, every row becomes an array of values and the output is an array of arrays, header row included as data.
Turn it on when the values are quantities, prices or flags a system expects as real JSON types. Leave it off for codes or IDs, since a value like 007 can lose its leading zeros as a number.
It looks at the input and picks the most likely delimiter among comma, semicolon, tab and pipe. It can guess wrong on unusual files, and the manual picker overrides it whenever you need.
Yes. Drop a .csv file into the box and it is read in your browser, the same as pasted text. The JSON result can then be copied or downloaded.
No. The conversion runs in your browser on your own device. Nothing you paste or drop is sent to or stored on a ToolPeko server.
Same rules as this one: free, in your browser, with nothing uploaded.
Paste messy JSON, get it neat and valid.
Check JSON and find the exact line that breaks it.
Squeeze JSON down to one tight line.
Open JSON as a tree you can fold and explore.
JSON rows turned into a CSV a spreadsheet can open.
JSON rewritten as YAML for config files.
YAML config turned into JSON you can use in code.
Indent messy XML so its structure makes sense.