Home / Chart types / Grouped Bar Chart
Grouped bar chart maker
Compare two or three series side by side. Paste your numbers and get a grouped bar chart with every bar starting at zero, so all of them can be compared. Free to use, with no account.
Your grouped bar chart will appear here
Paste a table or describe your numbers, then press Generate chart.
Switching type redraws the data you already have. Nothing you paste is stored — the chart lives in this browser tab until you export it.
Every bar starts at zero
That single sentence is the entire argument for a grouped bar chart over a stacked one.
In a stacked bar, only the bottom band sits on the baseline; everything above floats. In a grouped bar — sometimes called a clustered bar — the bars sit side by side, each rising from zero. So every value in the chart can be compared with every other value, accurately, in any direction.
What you give up is the total. Nothing in a grouped bar shows you that Q4 was $6.8 million altogether; the reader would have to add three bars by eye. That is the trade, and it is the whole decision:
- The parts are the story → grouped
- The total is part of the story → stacked
- Both matter equally → two charts
The decision people skip: which variable groups
A grouped bar has two categorical variables — say region and year — and you must choose which one forms the groups and which forms the bars within each group. Most tools decide for you based on column order. The choice changes what the chart is about.
Group by region, bars are years: four clusters labelled North, South, East, West, each containing an FY25 bar and an FY26 bar. The easy comparison is within each cluster. This chart says: how did each region change?
Group by year, bars are regions: two clusters labelled FY25 and FY26, each containing four regional bars. The easy comparison is now within each year. This chart says: how did the regions rank against each other, and did the ranking shift?
Same numbers, two different arguments. Adjacent bars are always the easiest comparison, so put the things you want compared next to each other.
Say group by year or group by region to control it.
The ceiling: three series, seven categories
A grouped bar degrades faster than most charts as you add data, because total bars multiply: series × categories.
- Two series across six categories — twelve bars. Comfortable.
- Three series across seven categories — twenty-one bars. The practical ceiling.
- Four series across eight categories — thirty-two bars. Unreadable; the clusters merge into a wall.
Past the ceiling, the options are: drop to the two series that matter, switch to small multiples (one small chart per series, shared axes), or use a line chart if one of your variables is time.
Spacing, and why it matters more here
A grouped bar chart depends on the reader instantly seeing which bars belong together, and that is carried entirely by gap hierarchy:
- No gap, or a very small one, between bars inside a group — they read as one unit
- A clear gap between groups, wider than the bars themselves
- Consistent colour per series across every group — series identity is carried by colour, and it must never shift
Get the gaps wrong and a reader comparing the wrong pairs will draw the wrong conclusion without ever realising it. ChartGPT sets the hierarchy by default.
When to use a grouped bar
It works well for:
- This period against last across a handful of categories
- Actual against target or budget, side by side
- Two or three products compared across regions or segments
- Before and after, where each category has a pair
- Survey results split by two groups — responses by age band, say
Reach for something else when:
| Your situation | Better chart | Why |
|---|---|---|
| The total matters | Stacked bar | Grouped bars hide totals |
| More than three series | Small multiples | Clusters become a wall of bars |
| One of the variables is time with many periods | Line chart | Slope reads better than clusters |
| One series across many categories | Bar chart | No need for grouping |
| Long category names | Horizontal bars | Cluster labels rotate and become unreadable |
| Parts of a single whole | Pie or donut | Grouping does not signal a whole |
Two worked examples
1. Year on year by region
Data:
Region FY25 FY26 North 42 58 South 51 54 East 47 71 West 68 66
Prompt: Grouped bar comparing FY25 and FY26 revenue by region, in $ thousand, group by region. The point is that East grew fastest.
What you get: four clusters, two bars each, same two colours throughout, all rising from zero. Because the grouping is by region, each pair sits together and the year-on-year change in each region is the easy read — which is what the title claims.
Note that West fell. In a stacked version that decline would be much harder to see.
2. Actual against target
Data:
Team Target Actual Sales 100 118 Marketing 100 87 Support 100 104 Success 100 92
Prompt: Grouped bar of actual against target by team
What you get: four clusters with a target bar and an actual bar in each, the same two colours throughout. Over- and under-performance is visible as the gap between the pair in each cluster.
Four things that ruin a grouped bar
1. Too many bars. Covered above and the most common failure by far. Twenty-one bars is the limit.
2. Colour that shifts between groups. If FY25 is blue in the first cluster and green in the second, the chart is unreadable. Series colour must be fixed, and ChartGPT fixes it.
3. Equal gaps everywhere. With no gap hierarchy the eye cannot tell clusters apart, and the chart reads as one long undifferentiated row.
4. Grouping the wrong way round. Not a rendering fault but a framing one — putting the comparison you care about in non-adjacent bars makes the reader do work they should not have to.
Getting your data in
A grouped bar needs a wide table: the first column holds your categories, and each following column is one series.
Region FY25 FY26 North 42 58
Column headers become series names in the legend, so keep them. Two columns of values gives you two bars per group, three gives three.
Blank cells are treated as zero. If a series genuinely did not exist for a category, zero is right; if the number is merely unknown, say so, because a zero-height bar looks like a real result.
The paste limit is 500 rows, on every plan — though a grouped bar becomes unreadable long before that.
How to make one
- Paste a wide table — categories first, then one column per series.
- Say
grouped bar chartso it does not infer the type. - Say which variable groups —
group by regionorgroup by year. - Name your units so the axis and subtitle read correctly.
- Adjust in words.
Sort by FY26 descending.Swap the grouping.Keep calendar order. - Export — SVG for slides, PNG for a quick paste, PDF for print.
Related chart types
- Stacked bar — the same data stacked. Totals visible, individual parts harder to compare.
- Bar chart — one series across categories, and free on every plan.
- Line chart — when one of your variables is time with more than a few periods.
Exporting
SVG, PNG and PDF on every plan. SVG is worth using here — grouped charts have many thin shapes and narrow gaps, which is exactly what raster scaling smears.
Grouped bar FAQ
Grouped or stacked — which should I use?
Grouped when comparing the individual parts is the point, because every bar starts at zero and all values are comparable. Stacked when the total is part of the story. You cannot have both perfectly in one chart.
How many series can I compare?
Three, across no more than about seven categories. Past twenty-one bars the clusters stop reading as clusters.
Which variable should form the groups?
Whichever comparison matters most, because adjacent bars are always the easiest to compare. Group by region to show how each region changed; group by year to show how the regions ranked within each year.
Why do my bars look cramped?
Usually too many series, too many categories, or both. Drop a series, or split into small multiples.
Can I sort a grouped bar chart?
Yes, by any one of the series — sort by FY26 descending. As with a plain bar chart, keep the natural order for time periods and scales.
Can I use different colours per category?
No — colour has to carry series identity, consistently across every group. If it varied by category, the reader could not track a series through the chart, so ChartGPT keeps one colour per series throughout.
Is the grouped bar chart maker free?
Yes. Grouped bars are on the free plan, like all nine chart types, with PNG, SVG and PDF export and no account needed to try it. The free plan covers 15 charts a calendar month and pastes of up to 500 rows. See pricing.
Make your grouped bar chart now.
Paste your numbers into the box and export in a few seconds. Nothing to install, nothing to sign up for.