Bar Chart Maker

Paste a category column and one or more value columns and each value column becomes a bar series, grouped side by side within each category. Bars are the most accurately read chart type there is, which is why they are the right default for comparing discrete things.

How to use it

  1. Paste wide CSV: first column categories, remaining columns value series.
  2. Check the grouping — each series gets its own bar per category.
  3. Sort or rename categories in the source data if the order matters.
  4. Choose a theme and export a high-resolution PNG.

Why bars beat almost everything else

Research on graphical perception consistently finds that people judge position along a common scale more accurately than any other visual encoding. Length against a shared baseline comes next. Angle and area — the encodings pie charts rely on — are considerably worse, and colour intensity worse still.

A bar chart uses the two best encodings simultaneously: each bar has a length from a common zero, and all bars share one axis. That is why a bar chart is rarely the wrong answer for comparing discrete quantities, even when a more interesting-looking format is available.

The practical implication is that reaching for something more elaborate should require a reason. Radial layouts, three-dimensional effects, and pictorial bars all reduce reading accuracy in exchange for novelty, and three-dimensional bars in particular introduce a perspective distortion that makes the front bars look larger than they are.

The zero baseline is not optional here

A line chart may truncate its Y axis, because it asks the reader about the shape of a trend. A bar chart may not, because it asks the reader to compare lengths, and length only carries meaning from a common zero.

Consider three values of 100, 102, and 104. With a zero baseline, the bars are almost identical, which is an accurate depiction — the values are almost identical. Starting the axis at 98 makes the third bar three times the height of the first, implying a threefold difference in a 4 percent range.

This is the most common deliberate distortion in published charts, and readers who spot it discount the whole figure. Where small differences genuinely matter, the honest options are a line chart, a dot plot, or a chart of the differences themselves rather than the levels.

Broken axes with a zigzag mark are sometimes offered as a compromise. They are better than a silently truncated axis and still poor, because the visual comparison remains wrong for anyone reading the shape rather than the annotation.

Grouping, stacking, and sorting

This tool groups rather than stacks: each series gets its own bar within a category, all from the same baseline. Grouping is the right default because every bar is directly comparable to every other, whereas in a stack only the bottom segment has a fixed baseline.

The cost of grouping is horizontal space. Categories times series is the bar count, so four series across ten categories is 40 bars and the individual bars become too thin to compare. Above roughly three series, consider whether all of them need to be on one chart.

Category order carries meaning whether you intend it to or not. If the categories have a natural sequence — months, sizes, stages — keep that order, since reordering breaks an expectation the reader already has. If they are unordered, such as products or regions, sorting by value is almost always more useful than alphabetical, because it makes the ranking visible without the reader having to reconstruct it. Alphabetical order is defensible only when readers need to look up a specific item.

Since the chart reads the category order from your data, sorting happens in the source. That is a small friction and it keeps the chart honest about what it was given.

Vertical against horizontal

Vertical bars are the default and horizontal bars are better in two specific situations.

The first is long category labels. Rotated or truncated labels under vertical bars are hard to read and consume vertical space; horizontal bars put the labels on the left, running in the normal reading direction at full length.

The second is many categories. A vertical chart runs out of horizontal room after fifteen or twenty categories, while a horizontal chart can extend downward and remain scrollable and readable.

The exception is time. Time is conventionally read left to right, so a time series should stay vertical even with awkward labels. Rotating months onto a vertical axis fights a very strong convention and slows every reader down.

Labels, gridlines, and how much to remove

Direct value labels on bars remove the need to trace back to the axis and are worth adding when there are few enough bars for the labels to fit. With many bars they become clutter and the axis serves better.

You rarely want both dense gridlines and value labels. Gridlines support estimation from the axis; labels make estimation unnecessary. Using both adds ink without adding information, and light gridlines with no labels or no gridlines with labels are both cleaner.

The reduction can go too far. Removing the axis entirely leaves the reader unable to judge anything beyond relative size, and removing the zero baseline to save space reintroduces the distortion above. The parts of a bar chart that look like decoration — the baseline, the axis, the category labels — are the parts doing the work.

At a glance

Input formatWide CSV with a header row
LayoutGrouped bars, shared zero baseline
Category orderTaken from the data, sort at source
Practical series limitAbout three
ExportPNG at 2× display resolution

Frequently asked questions

Are the bars grouped or stacked?

Grouped. Each series gets its own bar per category, so every bar shares the same zero baseline and can be compared directly.

Why must a bar chart start at zero?

Because bars encode value as length. Truncating the axis makes a 4 percent difference look like a threefold one.

How do I control the category order?

Sort the rows in your source data. The chart uses the order it is given.

Should I use horizontal bars?

Yes for long labels or many categories. No for time series, which readers expect to run left to right.

How many series can I compare?

About three before the bars get too thin. Categories multiplied by series is the total bar count.

Read more

Comparison and composition — People judge length against a common baseline far better than they judge angle or area. Most charting advice follows from that one fact.

Related chart makers