This entry is part of the Chart Index, the reference library for the Chart Design Field Guide.

The bullet chart is Stephen Few's answer to the gauge. Where a gauge wastes a half-circle of space to show one number against a target, a bullet does the same job in a thin horizontal strip — one row in a table cell, twenty rows in the space of a single dashboard tile. It is a chart designed for KPI displays, status boards, and any situation where the question is how close is the actual to the target, given a notion of normal?

The form is austere and information-dense. A short horizontal bar shows the actual value. A thin marker shows the target. A shaded band shows the qualitative range — poor, satisfactory, good. The eye reads all three at a glance.

What it is

A bullet chart consists of three superimposed elements: a quantitative range bar (background) divided into qualitative bands; a measure bar (foreground) encoding the actual value; and a comparative marker (a short perpendicular tick) encoding the target. The whole composition occupies a single horizontal strip, typically 20–24 pixels tall.

The hero chart above is a quarter-to-date board of six metrics, each on its own row. Scan down the blue bars and read each one against its ink tick: revenue and gross margin are short of target, net promoter score, support satisfaction and active accounts are past it, and on-time delivery sits just under. Now notice the bands behind them. Revenue is below target but well inside the good band; the score is above target while still only in satisfactory territory. Those two readings — against the target, and against what counts as normal — are what a plain bar with a target line cannot give you. Randomise the data and the three encodings move independently, as they would from week to week.

When to use it

Bullet charts are the right choice when:

  • You have multiple KPIs with targets that need to be tracked.
  • The reader's question is "are we on target, and how close to the band edges are we?"
  • You need a dense display — bullet charts pack 6–20 metrics into the space of one panel.
  • Each metric has a qualitative interpretation of value — good, satisfactory, poor — that can be encoded as background bands.
  • The form is operational or executive, not exploratory.

When not to use it

  • Single-metric display. A standalone bullet is fine but unremarkable; the form's value is in dense multi-metric arrays.
  • Distributions. A bullet shows a single value against bands; it does not show spread, percentiles, or variability over time. Use a box plot or sparkline.
  • Categorical comparison without targets. Without a target marker and qualitative bands, a bullet is just a horizontal bar. Use a regular bar chart.
  • Audiences unfamiliar with the form. Bullets read instantly once you know the encoding; without orientation, the bands can confuse.

Design principles

Replace the gauge

The case for the bullet is easiest to see next to the thing it replaces. The gauge below shows one number; the bullets underneath show three in less space, with the qualitative bands and the target read from the same strip.

One metric as a gauge
Gross margin this quarter against a 62 percent target. The dial spends most of its pixels on the track and the empty semicircle, and the reader estimates an angle to judge how far short of the tick the arc stops.
Three metrics as bullets, in the same space
Gross margin again, now in one strip, with two more metrics below it. The eye reads length rather than angle, the target is a tick the bar either reaches or does not, and the bands say whether 58 percent is respectable. Three times the information in a smaller footprint.

Define the qualitative bands carefully

The bands — typically three shades of the same hue, from darkest (poor) at the origin to lightest (good) at the far end, or three categorical greys — encode the operational meaning of the value. Above 80% of target is good, 60–80% is satisfactory, below 60% is poor. These thresholds are domain decisions, not arbitrary tweaks. Document them.

Use a single colour family for the bands

Bands should never compete with the data. Three shades of cream-to-grey, or three shades of a single hue with low saturation, sit behind the measure bar without distraction. Saturated traffic-light colours draw attention to themselves and away from the value.

Traffic-light bands
Red, orange and green behind the same three measures. The colours are the loudest thing on the page; the blue bar that carries the actual value has to fight its own background, and the target tick all but disappears against the green.
Few's greys
The same rows with the house greys, darkest at the origin. The bands are still legible as poor, satisfactory and good, but they have stepped back; the measure bar and the target tick are the only things with any weight, which is the order of importance the reader needs.

Make the measure bar bold and dark

The actual value is the headline. The measure bar should be the darkest, most saturated element, and it should be thinner than the band so the band remains visible above and below it. Few's specification: a dark, narrow bar that visually dominates the band background without covering it.

A measure bar as wide as the band
With the measure filling the whole strip the bands are visible only beyond the end of the bar. The reader can no longer see which band the value sits in, and the chart has collapsed into an ordinary bar with a tick.

Make the target marker thin and central

A short perpendicular line crossing the measure bar at the target position. Three to four pixels wide; height slightly taller than the bar so it is visible whether the bar reaches the target or not.

Align bullets in a column

In a multi-metric display, every bullet should share the same horizontal scale or be normalised — for instance to percent of target. Metrics in different units each carry their own axis, and the reader has to re-read the scale on every row; normalised, the rows become one column of like-for-like strips and the eye reads them the way it reads numbers in a column, through alignment.

Six metrics normalised to percent of target
Every row runs from 0 to 120 percent of its own target, so the target tick sits at 100 on every line and the bands mean the same thing everywhere: below 80 poor, 80 to 95 satisfactory, above 95 good. A shortfall on any row is now the same length as the same shortfall on any other.

Pair with the metric label and value

A bullet chart is rarely its complete self. Beside each strip: the metric name (left), the actual value as a number (right), and optionally a delta vs. target as a percentage. The chart and the number together form one row.

Resist the urge to add colour

Few's traffic-light prohibition stems from real research. Red bad, green good is intuitive but introduces colour as a categorical dimension competing with the existing length encoding. A single hue for the data, neutral greys for the bands.

Anatomy

The composition of a bullet chart
An anatomical guide

A bullet chart dashboard is a column of single-strip displays, every strip aligned to a shared scale, every strip carrying three encodings in one row. The form scales from one metric to dozens with linear visual cost.

  • Bar chart — what a bullet becomes without the bands and target. Use when the comparison is to other categories, not a target.
  • Gauge — the form bullet replaces. Mostly chartjunk; covered in a separate entry for completeness.
  • Sparkline — for trend over time rather than position-against-target. Often paired with bullets in dashboards.
  • Slope chart — for actual-vs-target as two points on a line. Different visual but adjacent question.
  • Progress bar — a simpler form: actual against 100%. No bands, no target marker.

Reading list

  • Few, S. (2006). Information Dashboard Design. The original specification of the bullet chart.
  • Few, S. (2010). Bullet Graph Design Specification. The downloadable definitive guide.
  • Tufte, E. (1990). Envisioning Information. On small-multiple displays and information density.