94 chars · 4 lines
53 chars · 3 lines
94 chars · 4 lines
53 chars · 3 lines
JSON conversion guide
Paste a JSON object or an array of objects into the converter above. VetaTool discovers the available fields, flattens nested objects, escapes CSV values correctly, and produces a downloadable file without sending the source data to a server.
Nested objects become dot-separated column names. For example, a name inside user becomes user.name, while user.address.city becomes its own column.
This keeps one CSV row for each top-level JSON object and makes deeply nested data usable in spreadsheets and import tools.
Array values are serialized as JSON inside a single CSV cell. Fields that only appear in some records are still included as columns, with empty cells where the field is missing.
Values containing the selected delimiter, a double quote, or a line break are wrapped in double quotes. Existing double quotes are doubled according to standard CSV escaping rules.
A nested user object becomes separate user.name and user.active columns, while the tags array remains JSON inside one CSV cell.
[
{
"id": 1,
"user": { "name": "Ada", "active": true },
"tags": ["json", "csv"]
}
]id,user.name,user.active,tags
1,Ada,true,"[""json"",""csv""]"Common questions
No. Conversion happens in your browser, so pasted JSON and imported files are not sent to a VetaTool backend.
Yes. Nested object keys are flattened with dot notation, such as user.name and user.address.city.
Array values are kept as JSON text inside one correctly escaped CSV cell, which avoids duplicating parent rows or creating unexpected combinations.
The converter builds a union of every field it finds. Missing values are emitted as empty CSV cells.