Population Pyramid
Two horizontal bar charts placed back to back on a shared axis — the go-to chart for comparing two groups (like male vs female) across ordered categories such as age bands.
// 01 — The chart
What it looks like
A population pyramid showing age distribution by gender. The widest band (20–39) is highlighted.
// 02 — Definition
What is a population pyramid?
A population pyramid (also called an age-sex pyramid or butterfly chart) is two horizontal bar charts placed mirror-image on either side of a shared vertical axis. The vertical axis usually shows ordered categories (age bands), while the horizontal axis shows count or percentage. One side represents one group (e.g., males) and the other represents the second group (e.g., females).
The resulting shape — which can look like a triangle, column, or inverted triangle — instantly reveals the demographic structure. A pyramid shape indicates a young, growing population. A column shape indicates a stable population. An inverted pyramid indicates an aging population.
While the classic use is demographics, the pattern works anywhere you need to compare two groups across the same ordered categories: employee tenure, customer age segments, before/after comparisons, and more.
Why “pyramid”? The name comes from the triangular shape that emerges when younger age groups are larger than older ones — a pattern typical of developing countries with high birth rates.
// 03 — Anatomy
Parts of a population pyramid
// 04 — Usage
When to use it — and when not to
- Comparing two groups across the same ordered categories
- Showing demographic structure (age × gender)
- You want to reveal the overall shape of a distribution at a glance
- Before/after comparisons (e.g., 2020 vs 2025 employee tenure)
- You need a compact, symmetric layout for two mirrored datasets
- You have more than two groups to compare — the mirrored layout only works for two
- Categories have no natural order — the shape loses its meaning
- You want to show change over time — use a line chart instead
- One group dwarfs the other — the small group becomes nearly invisible
- Exact values matter more than the overall shape — use a table or grouped bar chart
// 05 — Reading guide
How to read a population pyramid
Read the central axis labels
These are usually age groups arranged from youngest (bottom) to oldest (top). Understand the category ordering.
Identify the two sides
The left and right sides represent two groups. Check the legend or labels to know which is which.
Assess the overall shape
A wide base = young population. A column = stable. A top-heavy shape = aging. This silhouette is the chart's main message.
Look for asymmetries
If one side bulges more than the other at certain categories, that reveals group differences (e.g., more young males, more elderly females).
Check the scale
Ensure both sides use the same scale. If they don't, the visual comparison is meaningless.
// 06 — Data format
What your data should look like
| Column | Type | Description |
|---|---|---|
| Age_band | String | Ordered category label (e.g., 0–9, 10–19) |
| Male | Number | Count or percentage for Group A |
| Female | Number | Count or percentage for Group B |
0-9, 450, 430
10-19, 520, 510
20-39, 780, 760
40-59, 620, 640
60-79, 380, 420
80+, 160, 210
// 07 — Construction
How to build a population pyramid
Draw the central vertical axis
List your ordered categories (youngest to oldest) from bottom to top along a vertical centerline.
Set a symmetric horizontal scale
Use the same maximum on both sides so bar lengths are directly comparable.
Draw left-facing bars
For Group A (e.g., males), draw horizontal bars extending leftward from the center axis.
Draw right-facing bars
For Group B (e.g., females), draw horizontal bars extending rightward using the mirrored scale.
Add labels and legend
Label age bands along the central axis, add group names on each side, and include the scale units.
// 08 — Pitfalls
Common mistakes
Using different scales on each side
Both sides must share the same maximum value, or the visual comparison is completely misleading.
Unequal age band widths
Mixing 5-year and 10-year bands distorts bar widths. Keep all categories equally spaced.
Using counts when populations differ in size
When comparing two countries with very different total populations, use percentages instead of absolute counts.
Forgetting to label each side
Without clear labels or a legend, readers won't know which group is on which side.
// 09 — In the wild
Real-world examples
United Nations population projections
The UN uses population pyramids to visualize each country's demographic structure and forecast future population trends.
HR workforce dashboards
Companies display employee headcount by age band and gender to plan for retirement waves and diversity targets.
Health survey results
Epidemiologists use the format to compare disease prevalence by age and sex, revealing vulnerable demographic segments.
// 10 — Quick reference
Key facts
| Also known as | Age-sex pyramid, butterfly chart |
| Groups compared | Exactly 2 (left vs right) |
| Encoding | Horizontal bar length from a shared center axis |
| Best for | 5 – 15 ordered categories |
| Key strength | Overall shape instantly reveals demographic structure |
// 11 — Accessibility
Accessibility notes
Include an accessible data table
Back-to-back bars are complex for screen readers. Provide a table with columns for age band, male count, and female count.
Use colour + texture for group distinction
Don't rely on colour alone to differentiate left and right bars. Add patterns or labels so colour-blind users can distinguish the two groups.
Add descriptive ARIA labels
Each bar should carry an aria-label like "Age 20–39, Male: 780 thousand" for assistive technology.
Ensure symmetric scales are clear
State explicitly that both sides share the same scale, or add scale ticks on both edges of the chart.
// 12 — Variations
Variations
Overlaid pyramid
Two time periods overlaid on the same axes to show how the demographic structure has shifted
Percentage pyramid
Uses percentages of total population instead of absolute counts, enabling comparison across differently-sized groups
Stacked butterfly
Each bar is subdivided by a third variable (e.g., education level), adding composition detail
// 13 — FAQs
Frequently asked questions
What is a population pyramid?+
A population pyramid (also called an age-sex pyramid or butterfly chart) is two horizontal bar charts placed mirror-image on either side of a shared vertical axis. The vertical axis usually shows ordered categories (age bands), while the horizontal axis shows count or percentage. One side represents one group (e.g., males) and the other represents the second group (e.g., females).
When should you use a population pyramid?+
Use a population pyramid when comparing two groups across the same ordered categories. It also works well when showing demographic structure (age × gender), and when you want to reveal the overall shape of a distribution at a glance.
When should you avoid a population pyramid?+
Avoid a population pyramid when you have more than two groups to compare — the mirrored layout only works for two. It is also a poor fit when categories have no natural order — the shape loses its meaning, or when you want to show change over time — use a line chart instead.
Are population pyramids accessible to screen readers?+
Yes — a population pyramid can be made accessible to screen readers by pairing it with a clear text summary of the key insight, ensuring color choices meet WCAG contrast guidelines, adding descriptive alt text or aria-label to the SVG, and offering the underlying data as an HTML table fallback for assistive technologies.
Is a population pyramid suitable for dashboards?+
Yes — a population pyramid can work well in dashboards as long as the panel is large enough for readers to perceive the encoded values, has a clear title, and includes the legend or axis labels needed to interpret it.
What category of chart is a population pyramid?+
Population Pyramid belongs to the Comparison family of charts. Charts in that family are designed to answer the same kind of question, so they often work as alternatives when one doesn't quite fit your data.