About this tool
Convert CSV file or text into JSON format
CSV to JSON converts a comma-separated file into a JSON array of objects, using the header row as the key names for every record. The parser respects double-quoted fields, so commas inside quotes stay part of the value and a doubled "" is read as a literal quote character. Before converting you can edit cells, delete or add rows in a paginated table, then export either pretty-printed JSON with two-space indentation or a minified single-line file.
Open CSV to JSON on AltFTool — it loads instantly in your browser.
Drop a file on the Upload CSV File zone or click it to choose a .csv file, or paste rows into the Paste CSV Data box with the header row first
Review the Total Rows, Issues Found, Unique Entries and Column Detect cards, and fill in any cell the editable table flags as Missing
Set the Pretty / Minify switch, press Convert to JSON, then Copy the JSON Output or press Download JSON to save pretty_data.json in Pretty mode or minified_data.json in Minify mode
A field wrapped in double quotes keeps its internal commas and line content intact, so "Delhi, India" stays one value instead of splitting into two columns.
The paginated table lets you edit any cell, delete a bad row or append a new one, and the JSON is generated from what you see rather than from the raw upload.
An insights strip counts total rows, empty cells and unique values, and labels each column Number or String, so a broken export is obvious before it becomes JSON.
No — every value is emitted as a JSON string, so an age column produces "25" rather than 25. The column detector labels a column Number when all its values parse numerically, but it does not change the output type; cast the fields after import if your consumer needs real numbers.
Three ways: choose a .csv file, drag the file anywhere onto the page, or paste the CSV text directly — a paste containing a comma and more than five characters is picked up automatically.
Pretty output is JSON.stringify with two-space indentation and downloads as pretty_data.json; minified strips all whitespace onto one line and downloads as minified_data.json. Minified is smaller to ship, pretty is easier to read in a diff.
It wraps each row with three extra fields: a random id, a sequential mock_email in the form 1@mockapi.dev, and a createdAt ISO 8601 timestamp taken at conversion time. It is intended for prototyping fixtures, not for data you are importing for real.