Design & Data Tools

JSON to Chart

Paste or upload any JSON — auto-detected, syntax-highlighted, and charted in seconds.

Detected:
JSON Viewer

        
// Viewer will show formatted JSON here…
Samples:
Chart Type
Color Palette
Options
Aspect Ratio
Paste valid JSON on the left to generate a chart
Download
JSON Inspector

      
No JSON to display yet.

About JSON to Chart

JSON to Chart is a free browser-based tool that converts raw JSON data into interactive, publication-quality charts with zero setup. Paste your JSON directly or upload a .json file and the tool auto-detects the data structure, renders a syntax-highlighted viewer, and builds a chart — all in real time.

The tool supports 8 chart types: Bar, Horizontal Bar, Line, Area, Pie, Donut, Radar, and Scatter. It recognizes five common JSON formats out of the box, from plain key-value objects to arrays of multi-series records. The JSON viewer is fully resizable with a drag handle and can be expanded to full-screen for inspecting large payloads.

Everything runs entirely in your browser — no data is sent to any server. Charts can be exported as PNG, JPEG, SVG, or PDF.

How to Use

  1. Input JSON — Paste JSON into the text area, or click Upload .json to load a local file. Samples are available for each chart type.
  2. Inspect the viewer — The panel below the textarea shows syntax-highlighted, formatted JSON. Drag the handle at the bottom to resize it; click Expand for a full-screen inspector. Use Format to pretty-print and Minify to compact.
  3. Check the detected badge — Once the JSON parses successfully, a badge shows the auto-detected format and row/series count.
  4. Choose a chart type — Click any of the 8 type pills on the right panel. Some formats (e.g. {"x","y"} pairs) auto-switch to Scatter.
  5. Customize — Pick a colour palette, toggle the legend/grid/smooth/stacked options, add a title, and select an aspect ratio.
  6. Download — Use the download buttons (PNG / JPEG / SVG / PDF) below the chart to save the result.

Logic & Supported Formats

When JSON is parsed, the tool runs a 5-step detection cascade to figure out how to map your data onto chart axes:

#FormatExample
1 Chart.js native {"labels":[…],"datasets":[{"label":"…","data":[…]}]}
2 Key-value object {"Jan":120,"Feb":195,"Mar":160}
3 Number array [120,195,160,210]
4 Scatter pairs [{"x":1.2,"y":3.4},{"x":2.1,"y":4.8}]
5 Array of objects [{"month":"Jan","sales":120,"costs":80}] — label key auto-detected, numeric columns become series

For format 5, the label key is chosen by matching against a priority list of common column names (name, month, label, category, etc.). All remaining numeric columns become separate chart series — so a single JSON array can produce a multi-series bar or line chart with no configuration.

Report an Issue

Let us know what's wrong with JSON to Chart.

Thank you — report received!