Tools

Chart Maker

Turn CSV, JSON or spreadsheet data into bar, line, scatter, treemap, sunburst, alluvial and other charts. Map columns, style it, then export SVG or PNG.

Add your data

Or start from a sample

How to make a chart from your data

  1. Paste your data, drop or upload a CSV, TSV or JSON file, or start from a sample dataset. Check the detected column types (number, date or text) and change any that look wrong.
  2. Choose a chart type: bar, line, streamgraph, scatter, pie, heatmap, treemap, circle packing, sunburst, alluvial or box plot.
  3. Map columns to the chart's dimensions by dragging them or picking them from the lists. Numeric dimensions combine rows with a sum, average, median, minimum, maximum or count.
  4. Adjust the size, margins, colors, labels and chart-specific options, then download SVG, PNG or JPG, or copy the SVG code.

A data visualization tool that runs in your browser

The Chart Maker turns a spreadsheet into a publication-ready chart in four steps, in the spirit of RAWGraphs: load data, choose a chart, map your columns to the chart's dimensions, then customize and export. It reads CSV, TSV, semicolon-separated text and JSON, and cells copied straight from Excel, Google Sheets or Numbers.

Beyond bar, line and pie charts it draws streamgraphs, bubble charts, heatmaps, treemaps, circle packing, sunbursts, alluvial (Sankey) diagrams and box plots. Exports are clean SVG you can refine in Figma, Illustrator or Inkscape, or PNG and JPG at up to 3× resolution. Your data never leaves your device.

Chart types

ChartBest for
Bar chartTotals per category, vertical or horizontal, with stacked, side-by-side or 100% series.
Line chartTrends over dates or numbers, one line per series, with smooth or step curves.
StreamgraphStacked areas over time, as a flowing streamgraph, centered, stacked or 100%.
Scatter plotOne dot per row; add size for a bubble chart, plus color and labels.
Pie / donutParts of a whole, with percentage labels and an optional total in the middle.
HeatmapA grid of colored cells across two dimensions, on a sequential color ramp.
TreemapNested rectangles sized by value across any number of hierarchy levels.
Circle packingNested circles sized by value, for hierarchies at a glance.
SunburstConcentric rings that show a hierarchy radiating from the center.
Alluvial diagramFlows between the categories of two or more columns, like a Sankey diagram.
Box plotMedian, quartiles, whiskers and outliers for each group.

Frequently asked questions

Is my data uploaded anywhere?

No. Parsing, charting and every export happen entirely in your browser. Nothing you paste or upload is sent to a server, so it is safe to use with private data.

Which data formats can I use?

Comma-, tab-, semicolon- or pipe-separated text (CSV and TSV) with a header row, and JSON arrays of objects or arrays. You can also copy a range of cells from Excel, Google Sheets or Numbers and paste it directly. Excel files themselves must be exported as CSV first.

How are dates recognized?

Columns where every value looks like an ISO date, such as 2024-03-15, 2024-03 or 2024/03/15 with an optional time, are treated as dates. A bare year like 2024 is read as a number. You can change any column's type in the data table.

What happens when several rows share the same category?

They are combined. By default the values are summed, and you can switch each numeric dimension to average, median, minimum, maximum or a row count. Leave a size dimension empty to simply count rows.

Can I edit the exported chart?

Yes. The SVG export is plain, well-structured vector markup with grouped axes, marks, labels and legend, so it opens cleanly in Figma, Adobe Illustrator, Affinity Designer and Inkscape for final touches.

How is this different from RAWGraphs?

It follows the same load, choose, map and customize workflow and also runs fully in the browser. Vartula's version focuses on a curated set of charts with sensible defaults, automatic column mapping when you switch charts, light and dark backgrounds, and PNG or JPG export at up to 3× resolution.