Bar Chart Maker

Enter your category names on the left, one per line, and the matching numbers on the right in the same order. Press Generate and the chart is drawn in your browser — you can flip it to horizontal, sort the bars, set a title and colour, and download a PNG. Nothing is uploaded.

Orientation
Sort order

When a Bar Chart Beats the Alternatives

A bar chart answers one question well: how do these categories compare in size? It is the right pick when the things on your axis are discrete and unrelated to each other — products, regions, support channels, survey options, teams.

Reach for something else when:

The data shape a bar chart needs is minimal: one categorical field and one numeric measure, with exactly one value per category. If a category appears twice in your labels you have two bars competing to represent it — aggregate first.

The Zero Baseline Is Not Optional

This is the one rule that separates an honest bar chart from a misleading one, and it follows directly from how bars encode data. A line chart marks a value with a point, and the eye reads its height. A bar marks a value with a rectangle, and the eye reads its length. Length only means something when it is measured from zero.

Truncate the axis and the ratios on the page stop matching the ratios in the data. Take two real values, 1,482 and 1,103 — a difference of 34%. Start the axis at 1,000 and the drawn bars are 482 and 103 units long, a difference of 368%. Nothing on the chart looks wrong. A reader who does not stop to read the axis numbers walks away with a figure that is off by a factor of three and a half.

Because of this, line charts may be truncated and bar charts may not. If the interesting variation really does sit in a narrow band near the top, the honest fixes are to plot the difference from a baseline instead of the raw totals, to plot the percentage change, or to switch to a line chart or dot plot where a non-zero axis is legitimate.

Worth checking if you rebuild a chart elsewhere: spreadsheet software often picks a "nice" axis minimum automatically, and when your values are clustered well above zero that minimum will not be zero. Set it explicitly rather than trusting the default.

Horizontal or Vertical

Vertical bars — properly called a column chart — are the default and suit short labels and up to roughly a dozen categories.

Switch to horizontal when either of these is true:

  1. The labels are long. "Help centre contact form" written under a vertical bar has to be rotated 45 or 90 degrees, and rotated text is measurably slower to read. Horizontal bars put labels on the left, running the same direction as the rest of your text, at any length.
  2. There are many categories. A chart of 20 vertical bars is either very wide or has bars too thin to compare. Twenty horizontal bars is a tall chart that scrolls, which is fine on a page and much better on a phone.

There is a third argument, softer but real: with horizontal bars sorted by value, the chart reads top to bottom in rank order, which is the order people scan a list anyway.

Ordering the Bars

Sorting is part of the analysis, not decoration. The default should be descending by value, so the chart's message — which category dominates, where the drop-off happens — appears without the reader doing any work.

Keep the original order only when the categories have their own sequence: months, quarters, age bands, days of the week, sizes from small to large, or a Likert scale from "strongly disagree" to "strongly agree". Re-sorting those by value destroys information, because the gap between adjacent categories is itself meaningful.

Alphabetical order is the choice to avoid. It sorts your data by the spelling of the labels, which correlates with nothing, and it scatters related categories across the chart. The one exception is a reference chart people will use for lookup — but a table does lookup better than any chart.

Grouped and Stacked Bars

Once you have more than one measure per category you have two options, and they answer different questions.

Grouped (clustered) bars put each series side by side within a category. Every bar starts from the same baseline, so any bar can be compared to any other bar. This is the right default when the question is "how does each series compare?"

Stacked bars put the series end to end within one bar. The advantage is that the total is visible, and the series at the bottom of the stack still sits on the common baseline so it can be read accurately. The cost is that every segment above the bottom one floats — it starts wherever the segment below it ended — so comparing the middle of one bar to the middle of the next is genuinely hard. Readability falls off quickly past about three series; beyond that a stacked chart becomes a decorative block of colour.

If composition matters more than totals, a 100% stacked bar normalises every bar to the same length and shows share instead. You lose the totals entirely, so label them or pair the chart with the raw numbers.

This tool draws a single series. For a grouped comparison, generate one chart per series with the same categories in the same order and place them side by side — small multiples are often easier to read than a grouped chart anyway.

A Worked Example: Support Tickets by Channel

Here is a month of support volume by the channel it arrived through:

Channel Tickets
Email 1,482
Live chat 1,103
Phone 640
Help centre form 318
Social 96

Paste the channel names into the labels box and the numbers into the values box, in the same order. Choose horizontal, because "Help centre form" is too long to sit under a vertical bar, and sort descending.

The chart earns its place immediately. Total volume is 3,639 tickets. Email and live chat together account for 2,585 of them — 71% — so those two bars fill most of the width and everything else is visibly a tail. Email leads live chat by a factor of 1.34, a modest gap that the chart shows as a modest gap. Social, at 96 tickets, is 15 times smaller than email, and on a zero-based axis its bar is a stub you can barely see. That is not a flaw in the chart; it is the finding. A channel carrying 2.6% of volume should not be getting equal staffing.

Now imagine the same chart with the axis starting at 1,000. Only the top two bars survive at all, email appears nearly five times larger than live chat, and the tail vanishes. Same data, opposite conclusion.

Common Mistakes

Frequently Asked Questions

Why must a bar chart start at zero?

A bar encodes its value as length. Cut the axis at 1,000 and a bar worth 1,482 becomes 482 units long while one worth 1,103 becomes 103 — a 1.3x difference drawn as 4.7x. Because the eye reads the whole bar, the distortion is invisible unless the reader checks the axis. Line charts do not have this problem, because they encode value as position rather than length.

When should I use horizontal bars instead of vertical?

Whenever the category labels are long enough that vertical bars would force them to be rotated or truncated, and whenever you have more than about a dozen categories. Horizontal bars keep labels left-aligned and readable at any length, and a tall chart scrolls comfortably on a phone where a wide one does not.

Should the bars be sorted?

Sort largest to smallest unless the categories have a natural order of their own. Months, age bands, survey scales from 'strongly disagree' to 'strongly agree', and sizes S/M/L all carry meaning in their sequence and should keep it. Alphabetical order is almost never the right choice, since it arranges the data by an accident of spelling.

What is the difference between a bar chart and a histogram?

A bar chart compares discrete, unrelated categories, so its bars are separated by gaps and can be reordered freely. A histogram shows the distribution of one continuous variable split into bins, so its bars touch and their order is fixed by the number line. If your x-axis values are ranges rather than names, you want a histogram.

How many bars is too many?

Vertical bars stay comfortable to about 12 and start to crowd beyond that. Horizontal bars work up to roughly 25 before the chart becomes a list. Past that, group the small categories into an 'Other' bar or switch to a table, which is better than a chart at letting readers look up an exact figure.

Can I download the chart?

Yes. Hover over the chart and use the camera icon in the toolbar that appears in the top right to save a PNG. The export renders at 1000x600 at 2x scale, so it is roughly 2000x1200 pixels — large enough for a slide or a document without looking soft.