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
Save and share
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
- A bar encodes value by its area and height together, which is exactly why the axis must start at zero. Cutting the axis at 90 to make a 3% difference look like a doubling is the single most common chart lie in business reporting, and it is why this page refuses to do it.
- Bars imply the categories are comparable and independent. Drawing "Europe", "Germany" and "Berlin" as three bars invites a comparison that makes no sense, because two of them are inside the third.
- Category order carries meaning whether you intend it or not. An unsorted list reads as arbitrary; sorting by size turns the chart into a ranking, which is usually what the reader wanted.
- Above roughly 25 columns the labels stop fitting and the chart turns into a comb. That is the point to switch to horizontal bars, where labels have room to breathe.
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.