Skip to content
Run here 100% in your browser, no upload, no login

Chart Generator

Turn pasted CSV or JSON into a bar, line or pie chart, then export a PNG.

Parsed result

Charts are drawn with the plain canvas 2D API and no charting library. Data is parsed in the page and never uploaded.

How to use it

  1. Paste data into the left panel. A CSV needs a header row: the first column holds the labels, every other column becomes one series.
  2. JSON works too: an array of arrays with a header row, or an array of objects whose first non-numeric key holds the labels.
  3. Pick bar, line or pie. The pie uses the first series and labels every slice with its share.
  4. Adjust width and height, then click Generate.
  5. Download the PNG with Download, or copy the parsed summary with Copy.

Common use cases

Why it stays private

Parsing and drawing happen in the page with the canvas 2D API. There is no charting library, no request to a rendering service and no upload, so unfinished or sensitive figures never leave your browser.

FAQ

Q: What CSV layout does it expect? A: A header row, then rows where the first cell is the label and the remaining cells are numbers. Without a header row it falls back to label plus a single series named Value.

Q: Why does the pie chart only use one series? A: A pie shows parts of one total, so it uses the first series. Negative values are skipped because they have no meaning as a slice of a total.

Q: Can it handle negative values? A: Yes. The axis extends below zero automatically, and bars are drawn downward from the zero line.

Q: How is the exported PNG 2x? A: The canvas is drawn at twice the width and height you set, then scaled down for display, so the downloaded file has twice the pixels in each direction.

Your data stays on this device

Chart Generator runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.