Free tool
JSON to chart.
Paste an API response, an array of objects or a Chart.js config and get a clean bar, line or pie chart. Envelopes like {"data": […]} are unwrapped and nested fields flattened. The chart is plain SVG — download it, drop it in a slide, or turn it into a link people can comment on, bar by bar.
Publishes the chart and its data to Comma: one URL instead of a screenshot in a thread, and readers pin comments on the bar they mean. Free, no card.
How the data becomes a chart
- An array of objects is one row per object. The first field holding text — a name, a date, a week — becomes the categories, even if an
idor a count comes before it. Every field whose values are all numbers becomes a series; the rest are listed as skipped. - An API envelope such as
{"results": […], "next_cursor": null}is unwrapped when it holds exactly one array. Nested objects flatten to dot paths, sometrics.revenuecan be charted. - A flat map —
{"North": 120, "South": 95}— charts keys against values. A Chart.js{labels, datasets}object, bare or inside a full config, charts each dataset as a series. - Numbers stored as strings (
"$1,204","31%","(1,200)") are read as numbers;nullleaves a gap in a line rather than dropping to zero. - Bar charts start at zero, a line fits its axis to the data, and a pie charts the first numeric field only, folding past eight slices into “Other”.
Charts from agents and APIs, without a notebook
The usual path from a JSON payload to a chart is a notebook, a pandas import and a matplotlib call — for a picture someone will look at once. Here it is a paste. When the chart needs a conversation, publish it: the chart and the data behind it become one URL, comments pin to the bar they are about, and re-publishing keeps the old version as a revision. A coding agent can skip this page entirely and post the chart over MCP, or a routine can refresh it on a schedule.
Questions
- How do I turn JSON into a chart?
- Paste the JSON into the editor on this page, or drop a .json file onto it, and pick bar, horizontal bar, line or pie. An array of objects becomes one row per object: the first text field (a name, a date, a week) becomes the categories and every numeric field becomes a series. Download the chart as SVG or PNG, or publish it as a shareable link.
- Which JSON shapes does it understand?
- An array of objects; an array of arrays with a header row; an API envelope like {"data": [...]} or {"results": [...]} (the single array inside is unwrapped); a flat map like {"North": 120, "South": 95}; a Chart.js-style {labels, datasets} object, bare or as a full Chart.js config; and NDJSON, one object per line. Nested objects are flattened to dot paths such as metrics.revenue, so a nested number can still be charted.
- Why is one of my fields missing from the chart?
- A field is charted only if every non-empty value in it reads as a number. Text fields, booleans, nested arrays and IDs that mix letters and digits are listed under the chart as skipped instead of being drawn as zero. Up to eight numeric fields are charted; each gets a fixed, colorblind-checked color.
- Are numbers stored as strings handled?
- Yes. "1204", "$1,204.50", "31%" and accounting negatives like "(1,200)" are all read as numbers, which matters because many APIs and spreadsheets export amounts as strings to keep precision.
- Does the chart need JavaScript or a chart library?
- No. The chart is plain SVG: it renders in any browser, in an email client that shows images, in a slide, and when opened straight from disk. Hovering a bar, point or slice shows its exact value through native SVG titles, with no script involved.
- Is my data uploaded anywhere?
- No. Parsing and drawing happen in your browser. The data only leaves your machine if you click “Get a shareable link” and create a report.
- How do I share a chart from an API or an agent so people can comment on it?
- Click “Get a shareable link”. The chart — and the data table under it, if you keep that option on — is published to Comma as a report: one URL that looks the same for everyone, where readers pin comments on the exact bar or row. A coding agent can do the same thing without this page by publishing over Comma's MCP server or API. Comma is free.
Related: CSV to chart · JSON to HTML table · JSON formatter · YAML to JSON · SVG viewer · all free tools