AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I make a chart or graph from my data online for free?

Open the Chart & Graph Maker, type or paste your data into the table (or start from a template), pick a chart type — vertical or horizontal bar, grouped or stacked, line, filled area, pie or doughnut — choose a canvas size, a colour-blind-safe palette and a few labels, and the chart renders live. A pure engine does the real maths: Wilkinson-style “nice number” axis scaling for friendly 1/2/5 gridlines, cartesian layout, and bar/line/pie geometry. Download it as a crisp 2× or 3× PNG or as a resolution-independent SVG. Everything runs in your browser — your data is never uploaded.

  • Six chart types: bar (V/H, grouped or stacked), line, area, pie and doughnut
  • Type or paste CSV/TSV data, or start from six built-in templates
  • “Nice number” axis scaling with 1.5K / 2M tick formatting and a zero baseline
  • Curated colour-blind-aware palettes (Okabe–Ito, Tableau-style, Viridis, grayscale)
  • Export identical PNG (2×/3×) and SVG — the preview IS the SVG
  • 100% client-side — a static chart image maker, not an interactive dashboard

What is

Chart maker (data visualization / graph generator)

A chart maker is a tool that turns a small table of categories and numeric values into a graphic — a bar, line, area, pie or doughnut chart — by mapping each value onto a coordinate system (a value axis for cartesian charts, or slice angles proportional to each value’s share of the total for circular charts). A client-side chart maker computes the axis scale, layout and geometry in the browser and rasterises the result to a canvas (PNG) or serialises it as vector SVG, without sending the data to a server.

Design

Related terms

bar chartline grapharea chartpie chartdoughnut chartstacked bar chartgrouped bar chartaxis scalingnice numbers algorithmdata visualizationcolour-blind-safe palettePNG exportSVG exportdevicePixelRatio

Frequently Asked Questions

No. Your rows and numbers stay in the page as JavaScript values. The axis maths, layout and every pixel are computed locally, and both the PNG and the SVG are encoded in your browser. There is no upload, no server and no CDN in the processing path.

The Chart & Graph Maker is 100% client-side. Your labels and values are held as ordinary state in the tab and passed to a pure rendering engine that runs in JavaScript — it never leaves your device. The live preview is an inline SVG generated from your data; the PNG download is produced by drawing the same geometry onto an in-memory <canvas> and calling toBlob; the SVG download is that same markup as a Blob. All three are created and downloaded in-memory with no network request, there is no analytics or tracking, and the tool works offline once cached. Close the tab and the data and the chart are gone.

Use PNG for slides, docs and quick sharing — it is a fixed-resolution image exported at 2× or 3× for crispness. Use SVG for print or when you need to scale or re-edit the chart, because it is resolution-independent vector.

PNG is a raster (pixel) format: this tool exports it at 2× or 3× the canvas size so it looks sharp on high-DPI screens and in documents, but enlarging it well beyond that will look soft because the pixels are fixed. SVG is a vector format — it stores the shapes and text mathematically, so it stays razor-sharp at any size and can be re-edited in a vector editor, which makes it the better choice for print or further design work. Both are generated from the identical chart geometry, so they look the same; the only caveat is that SVG references fonts by name, so if it is opened on a system without the same web-safe font the text metrics may shift slightly.

A pie or doughnut chart shows parts of a single whole, so it is best for a few categories that sum to 100%. A bar chart compares independent values and stays readable with many categories or multiple series, so it is the safer default for most comparisons.

Pie and doughnut charts encode each value as an angle proportional to its share of the total, which makes them good for showing composition — how a single quantity splits into a handful of parts — but people judge angles and areas poorly, so they become unreliable with more than about five or six slices. Bar charts encode values as lengths along a common baseline, which the eye reads far more accurately, so they handle many categories, negative values and multiple series (grouped or stacked) cleanly and are the better default for comparisons. Line and area charts are for showing a trend or change across an ordered axis such as time. In this tool, pie and doughnut use only the first value column because they represent one whole; bar, line and area use every series you add.

The tool rounds the axis to “nice” values. It extends the top of the scale to a clean 1/2/5 multiple so the gridlines land on friendly round numbers instead of odd figures, which makes the chart much easier to read.

Rather than ending the value axis exactly at your largest data point — which would produce awkward tick labels like 87 or 4,913 — the engine uses a Wilkinson-style “nice number” algorithm. It rounds the data range to a clean magnitude, picks a tick step that is a 1, 2, or 5 times a power of ten, and then extends the axis floor and ceiling to whole multiples of that step, always keeping the zero baseline so bar lengths stay honest. That is why the top gridline may sit a little above your maximum (for example an axis to 100 when your biggest value is 90): the trade is a small amount of empty headroom for gridlines on round, readable numbers, and big values are further compacted as 1.5K or 2M.

Detailed Explanation

How It Works

What the Chart & Graph Maker Does

The Chart & Graph Maker turns a small table of categories and numeric values into a bar, line, area, pie or doughnut chart, entirely in the browser. The user types or pastes data (or starts from a template), picks a chart type, canvas size, palette and labels, and a live preview updates instantly. The finished chart downloads as a high-resolution PNG or a resolution-independent SVG. It is a static chart image maker, not an interactive dashboard.

  • Six chart types: bar (vertical/horizontal, grouped or stacked), line, area, pie, doughnut
  • Data entered in an editable table or pasted as CSV/TSV; six starting templates
  • Multiple series, per-series legend, titles, subtitle and axis labels
  • Live preview at the true canvas aspect ratio; export as PNG or SVG
  • 100% client-side — no upload, no server, no CDN in the processing path
Methodology

Nice-Number Axis Scaling

For cartesian charts the engine builds a human-friendly value axis with a Wilkinson-style "nice number" algorithm. It rounds the data range to a clean magnitude, chooses a tick step that is 1, 2, or 5 times a power of ten, and extends the axis floor and ceiling to whole multiples of that step while always keeping the zero baseline so bar lengths stay honest. Tick labels are compacted (1500 → 1.5K, 2000000 → 2M) so the chart reads cleanly rather than showing awkward figures.

  • Tick step is a 1 / 2 / 5 multiple of a power of ten (Wilkinson-style)
  • Axis floor and ceiling snap to whole multiples of the step
  • Zero baseline is always included so bar lengths are not misleading
  • Large ticks are formatted as 1.5K / 2M / 3B for readability
  • A small amount of headroom is traded for round, legible gridlines
Technical Details

One Geometry, Two Renderers (PNG = SVG)

The chart is rendered ONCE against an abstract "Surface" interface with primitives for rectangles, lines, paths, circles, pie wedges and text. Two adapters implement that interface: an SVG-string surface that powers the live preview and the .svg download, and a Canvas2D surface that draws the same geometry for the PNG export. Because both consume the identical layout and coordinates, the on-screen preview, the SVG and the 2×/3× PNG are pixel-identical by construction.

  • Abstract Surface with rect / line / path / circle / wedge / text primitives
  • SVG-string adapter drives the live preview AND the vector .svg export
  • Canvas2D adapter draws the identical geometry for PNG export
  • PNG rendered at 2× or 3× the canvas size via devicePixelRatio scaling
  • Smooth lines use a Catmull-Rom → cubic-bezier conversion in both adapters
Use Cases

Choosing the Right Chart Type

Bar charts encode values as lengths on a common baseline, which the eye reads accurately, so they are the safe default for comparing categories and handle many categories, negative values and multiple series (grouped or stacked). Line and area charts show a trend across an ordered axis such as time. Pie and doughnut charts encode each value as an angle proportional to its share of a whole, so they suit composition with a few categories but become unreliable beyond about five or six slices — and they use only the first value column here because they represent one total.

  • Bar: accurate length comparison; best default; supports many series & negatives
  • Line / area: trend or change across an ordered (e.g. time) axis
  • Pie / doughnut: parts of a single whole; keep to ~5–6 slices
  • Pie/doughnut use only the first value column (one total)
  • Colour-blind-safe palettes plus value labels avoid relying on colour alone
Limitations

Honest Limits

This tool produces a static chart image, not an interactive dashboard: there are no hover tooltips, panning, zoom, live data feeds, animation, log or dual axes, or trendline fitting. PNG export is a fixed-resolution raster (crisp at 2×/3× but soft if enlarged far beyond that), so SVG is the better choice for print or re-editing. Text uses the browser web-safe font stacks — embedded in the PNG and referenced by name in the SVG — so an SVG opened without the same font may show slightly shifted metrics. Colours vary across screens and colour profiles.

  • Static image maker — no tooltips, zoom, animation, log/dual axes or trendlines
  • PNG is fixed-resolution raster; SVG is resolution-independent (best for print)
  • Fonts are web-safe stacks; a missing font can shift SVG text metrics
  • Pie/doughnut use only the first value column
  • Colours render differently across screens — verify on your target device
Privacy & Security

Private by Design

Everything happens on the user’s device. The rows, labels and numbers are held as ordinary state in the tab and passed to a pure rendering engine that runs in JavaScript; nothing is transmitted. The live preview is an inline SVG built from the data, the PNG is drawn on an in-memory canvas and encoded with toBlob, and the SVG file is that same markup as a Blob — all downloaded through in-memory object URLs with no network request. There is no analytics, no tracking and no CDN in the processing path, and the tool works offline once cached.

  • Data stays as values in the page; the engine runs locally in JavaScript
  • No upload endpoint, no server-side processing, no CDN in the path
  • PNG via in-memory canvas + toBlob; SVG via Blob; downloaded in-memory
  • No analytics or tracking; works offline once cached
  • Data and chart are discarded when the tab is closed
Chart types in the Chart & Graph Maker and when to use each
Chart typeEncodes value asBest for
Bar (vertical / horizontal)Length along a common baselineAccurate comparison of categories; the safe default
Grouped / stacked barSide-by-side or stacked lengthsMultiple series per category; part-to-whole per bar (stacked)
LinePosition along a value axis, joinedTrends and change across an ordered (e.g. time) axis
AreaFilled region under a lineCumulative totals or magnitude of a trend over time
Pie / doughnutAngle proportional to the wholeComposition of a single total across a few (~5–6) categories

People judge length far more accurately than angle or area, so bar charts are the safer default and pie/doughnut are best kept to a handful of slices. As of July 2026.