JSON to chart
Paste a Chart.js config, a simple {"label": value} object or an array of {label, value} records, and you get a chart right away.
The preview is drawn in your browser. PNG is rendered by the Render API from the same data, which isn't stored. Image URLs contain the data, so anyone with the link can read it.
Accepted JSON shapes
// 1. Shorthand object
{ "type": "bar", "data": { "Mon": 3, "Tue": 5, "Wed": 2 } }
// 2. Array of records
{ "type": "pie", "data": [{ "label": "Yes", "value": 61 }, { "label": "No", "value": 39 }] }
// 3. Chart.js-style config
{
"type": "line",
"data": { "labels": ["Q1","Q2","Q3"], "datasets": [{ "label": "Revenue", "data": [12, 19, 27] }] },
"options": { "plugins": { "title": { "text": "Revenue" } } }
}What Chart.js options are supported
The renderer reads the parts that change how a chart looks as a static image: type, labels, datasets (label, data, backgroundColor or borderColor), indexAxis: "y" for horizontal bars, stacked scales, axis titles and the title and subtitle plugins. Options that only affect interaction, like tooltips, hover and animation, are ignored.
Frequently asked questions
Is this compatible with QuickChart?
It accepts the same Chart.js-style config for the common chart types, so most simple QuickChart configs render here too. Plugins and JavaScript callbacks aren't supported.
Can I send JSON from code instead?
Yes. POST the same JSON to https://render.cuelark.com/v1/chart and you get a PNG or SVG back. See the Chart image API page.
What if my JSON has strings like "$1,200"?
Numbers given as strings are cleaned. Commas, $, % and spaces are stripped before plotting.
Updated November 10, 2026 by the Cuelark Team.