Blog
Charts from data

CSV to bar chart online

Bars are for comparing separate things: channels, products, regions, teams. The eye compares the heights of the columns directly, which is the most accurate visual comparison there is — far better than angles in a pie or areas in a bubble.

Your data never leaves this device

Your data

Paste a table straight from Excel or Google Sheets, or drop a CSV file. Nothing is uploaded anywhere — the whole calculation runs inside this browser tab.

CSV, TSV or plain text. Files saved in windows-1251 are detected and re-read automatically, so Cyrillic headers do not turn into garbage.

Parsing options

Columns

Result

The drawing library is downloaded only when you press the button, and only on this page.

This page has no server side at all. The table you paste is parsed by JavaScript inside your own browser, the chart is drawn on a canvas element on your machine, and the export file is assembled locally. Nothing is uploaded, stored or written to any log. You can disconnect from the network after the page has loaded and everything will still work — which is the simplest way to verify the claim yourself.

Facts and limits of this method

Best for Comparing the size of unrelated categories
Zero baseline Mandatory. The axis starts at zero and this page does not let you change it.
Comfortable range 3 to 25 categories; beyond that switch to horizontal bars
Label length Long names collide when vertical — the horizontal version handles them properly
Sorting Rows are drawn in the order you paste them, so sort in your spreadsheet first
Output PNG at 2× scale, plus CSV, JSON and Markdown

When it misleads you

How it is calculated

Each row becomes one bar. The label column supplies the caption under the bar and the first numeric column supplies the height. Only the first numeric column is used here — for several values per category use the grouped or stacked versions.

The vertical axis always starts at zero and cannot be changed on this page. That is not a missing feature. A bar communicates magnitude through its length, so a truncated axis makes a small difference look enormous. If you genuinely need to show change rather than magnitude, a line chart is the correct tool and it may legitimately crop the axis.

Bars are drawn with rounded corners and a capped maximum thickness, so a chart with three categories does not turn into three fat slabs filling the canvas. The colour is a single hue on purpose: different colours per bar would suggest the categories belong to different groups.

Empty and non-numeric cells are treated as absent rather than as zero, and the bar is simply not drawn. A zero-height bar and a missing measurement look identical on paper but mean very different things.

Questions and answers

Can I start the axis somewhere other than zero?

No, deliberately. A bar chart with a cropped axis exaggerates differences by design, and it is the most common way business charts mislead. If your differences are genuinely small but important, use a line chart or state the numbers in a table.

How do I sort the bars from largest to smallest?

Sort the data in your spreadsheet before pasting it. Bars are drawn strictly in the order they arrive, which keeps the picture predictable and lets you control it exactly.

My category names overlap and are unreadable.

Vertical bars have very little horizontal room for text. Switch to the horizontal bar version linked at the bottom — it gives labels an entire line each.

Can I show two values per category?

Use the grouped bar chart for side-by-side comparison, or the stacked version when the values are parts of one total.

Is my data uploaded anywhere?

No. The page has no server side; everything happens inside your browser and you can verify it by disconnecting from the network.

The opposite tool

Need it the other way round? Horizontal bar chart Ranking with long category names that actually fit

Related tools

All tools