JSON to CSV
Convert suitable JSON records into a CSV file for spreadsheet and data workflows.
Processed locally in your browser. Your JSON is read on this device for JSON to CSV's core task and is not uploaded to MeaningKit's server.
No JSON yet.
How to use
- Paste, type or load a JSON document, from a local file or the built-in sample.
- The preview builds automatically once the JSON is valid. There is no separate build step.
- Turn Spreadsheet safety and Include header row on or off to match what you need.
- Copy the CSV to your clipboard, or download it as a file.
Worked example
Load the built-in sample to see a small product list with a nested supplier field, a list of tags and a note that starts with an equals sign, all handled safely in the exported CSV.
About the views
How the CSV is built
An array of objects becomes one row per object, with a column for every field found across all the rows. A single object becomes one row. A plain value, or an array of plain values, becomes a single value column. Nested objects are flattened into their own columns, such as supplier.name. Nested arrays are never flattened: in the preview they show as a compact summary, such as Array (2 items), but the exported CSV cell holds the real values instead, such as ["stationery","paper"] — the preview and the export are not the same text.
Spreadsheet safety
Spreadsheet safety is on by default. It reduces the risk of spreadsheet software reading a cell that starts with a character such as = as a formula, by adding a small safety mark to affected exported text. Your source JSON is never changed, and this is not an absolute guarantee against every spreadsheet application. You can turn it off if you need the exported text exactly as it is.
Numbers, and what CSV cannot keep
JSON numbers are parsed as JavaScript numbers, so exact lexical formatting is not kept and a very large integer may lose precision, with a warning shown when that happens. CSV also cannot preserve the difference between a missing field, an explicit null and an empty string: all three are exported as empty cells.
Limitations
- This is a derived CSV file, not the original text: whitespace, formatting and lexical number formatting are not preserved.
- Nested objects are flattened into columns. Nested arrays are always exported as compact JSON text in one cell, never expanded into columns.
- CSV cannot preserve the difference between a missing field, an explicit null and an empty string. They are exported as empty cells.
- Copying to your clipboard may normalise some line endings inside a cell, depending on your browser and operating system. Use Download CSV if exact line-ending preservation matters.
- An array root that mixes objects with other kinds of value cannot be shown as one table.
- Valid JSON with no exportable columns, such as an empty object or array, produces no CSV file.
- There is no sorting, filtering or editing. The preview is read-only.
Privacy and accessibility
Privacy
Your JSON and generated CSV stay on this device during normal use. MeaningKit does not intentionally send source content, filenames or export contents to its servers for processing. Read the privacy page.
Accessibility
The preview uses a real HTML table with column headers, and Copy CSV and Download CSV are ordinary buttons that work with a keyboard. Read the accessibility page.