Best Data Viz
Specialized

Bullet Sparkline

Compact inline bullet chart for tables and dense dashboards.

KPI Dashboard

Actual vs target with 12-period trend

View data (6 rows)
Chart data table: KPI Dashboard
ActualKPITargetTrendMinMax
275Revenue250210,225,235,228,240,252,248,260,268,272,270,2750300
1800Customers20001450,1520,1580,1610,1650,1690,1720,1750,1770,1790,1795,180002500
4.20Satisfaction4.503.8,3.9,4.0,4.1,4.0,4.1,4.2,4.1,4.2,4.3,4.2,4.205
99.50Uptime99.9098.2,98.5,99.0,99.2,99.6,99.4,99.7,99.3,99.5,99.6,99.4,99.595100
120Latency100180,170,155,140,135,128,132,125,118,122,124,1200200
850Throughput800620,650,680,710,720,750,770,790,810,830,840,85001000
Make a bullet sparkline with your data

Use a bullet sparkline when…

  • KPI tables
  • Dense dashboards
  • Actual vs target inline

Avoid when…

  • Standalone display (use full bullet chart)
  • When detail matters

Data it needs

PropertyValue
Min Rows1
Min Columns3
Column Types
stringnumbernumber
NotesRequired: label + actual + target. Optional: min/max for the qualitative bands and a Trend column (comma-separated numbers in a string, e.g., '210,225,235,...') for the inline sparkline.

Visual anatomy

Marks
rectangleline
Channels
lengthcolor
Axes
x-quantitative (inline)

Guiding principles

Consider instead

Common mistakes

  • Missing the target marker

  • No context for the background ranges

History

Miniaturized version of Stephen Few's bullet chart (2005).

Accessibility notes

Expose actual, target, and a one-line trend summary (direction + last value, e.g., 'rising, latest 275') as text so screen-reader users get the spark plus the bullet, not just the headline number.

Related reading

Got data? Let's see what works.

Drop your CSV. You'll get a Bullet Sparkline plus four alternatives - ranked by which one actually fits your data best.