Skip to content

Charts / Compare

Bullet vs gauge

Two ways to show a value against a target.

Short answer

Use a bullet chart to show several measures against their targets in one compact card, with ranges behind. Use a gauge for one headline reading and how close it is to a limit.

Updated Nov 2, 2026 · Logistics sample data

Fleet KPIs against target, bulletFleet KPIs today against target: fleet utilisation 76% of 85%, on-time deliveries 93% of 95%, stops per van 41 of 45.Fleet utilisationPERCENT76%OF 85%On-time deliveriesPERCENT93%OF 95%Stops per vanCOUNT41OF 45ACTUALTARGET
Fleet KPIs against target, bullet
KPIActualTargetPoor up toOK up toGood up to
Fleet utilisation76%85%60%80%100%
On-time deliveries93%95%90%95%100%
Stops per van4145354250

008 · BulletThree KPIs, each with its target and ranges.

Fleet utilisation, gaugeFleet utilisation is at 76%; the overload mark is at 85%.0%85%100%76%FLEET UTILISATION
Fleet utilisation, gauge
MeasureValue
Fleet utilisation76%
Overload mark85%

021 · GaugeOnly the first one, fleet utilisation, on a dial: 76% against the 85% limit.

Same KPIs

The bullet chart fits all three measures and shows that every one is short of its target. The gauge gives one reading the full card: utilisation at 76%, below the 85% overload line.

If you ask

  • How do several measures stand against plan?

    Use aBullet

  • How close is one reading to its limit?

    Use aGauge

  • Is the card small?

    Use aBullet

  • Is there one number that matters most?

    Use aGauge

BulletGauge
AnswersSeveral measures against their targetsOne reading against a limit
ShowsA bar, a target tick and rangesA needle on a half dial
Best whenScorecards, KPI rowsOne headline reading
Avoid whenThere is no targetThere are several values
Data shapeActual, target and ranges per measureOne value from 0 to 100%, a threshold and a label

Common mistakes

Bullet

No target tick.Without a target it is just a bar.

Ranges in loud colours.Keep the ranges in greys behind the bar.

Gauge

Several gauges in a row.Dials compare badly; use bullets.

No threshold.A gauge without a limit says little.

Other ways to show it

  • Token budget7.2M of a 10M token budget used (72%), 2.8M remaining; the forecast at reset is 10.4M, and the budget resets in 9 days.72%USEDUsed7.2MRemaining2.8MForecast at reset10.4MResets in9 days
    Token budget
    ItemValue
    Used7.2M
    Remaining2.8M
    Forecast at reset10.4M
    Resets in9 days
    Token budget7.2M of a 10M token budget used (72%), 2.8M remaining; the forecast at reset is 10.4M, and the budget resets in 9 days.72%USEDUsed7.2MRemaining2.8MForecast at reset10.4MResets in9 days
    Token budget
    ItemValue
    Used7.2M
    Remaining2.8M
    Forecast at reset10.4M
    Resets in9 days

    020 · Progress ringPart of a whole · AI data

  • Plan usage against limitsUsage of 5 plan limits today and forecast for month end: runs is at 41% (410K of 1M) and forecast to reach 96%, the closest to its limit; none is forecast to pass 100%.RUNSSEATSAGENTSSTORAGEEVAL RUNS96% BY OCT 31410K of 1M80% BY OCT 317 of 1082% BY OCT 3137 of 5088% BY OCT 31280 of 500 GB66% BY OCT 31160 of 500USEDLIMITOVERAGENEAR THE LIMIT
    Plan usage against limits
    LimitUsedUsed %Forecast %
    RUNS410K of 1M41%96%
    SEATS7 of 1070%80%
    AGENTS37 of 5074%82%
    STORAGE280 of 500 GB56%88%
    EVAL RUNS160 of 50032%66%
    Plan usage against limitsUsage of 5 plan limits today and forecast for month end: runs is at 41% (410K of 1M) and forecast to reach 96%, the closest to its limit; none is forecast to pass 100%.RUNSSEATSAGENTSSTORAGEEVAL RUNS96% BY OCT 31410K of 1M80% BY OCT 317 of 1082% BY OCT 3137 of 5088% BY OCT 31280 of 500 GB66% BY OCT 31160 of 500USEDLIMITOVERAGENEAR THE LIMIT
    Plan usage against limits
    LimitUsedUsed %Forecast %
    RUNS410K of 1M41%96%
    SEATS7 of 1070%80%
    AGENTS37 of 5074%82%
    STORAGE280 of 500 GB56%88%
    EVAL RUNS160 of 50032%66%

    128 · Limit tracksCompare items · AI data

  • Dispatch by siteSame-day dispatch rate for 8 sites, from 89% to 99%; 2 sites below 92%: Porto 91%, Ghent 89%.98%Leeds4.1K ORDERS97%Lyon3.6K ORDERS91%Porto2.2K ORDERS96%Gdansk2.9K ORDERS99%Brno1.8K ORDERS94%Turin2.4K ORDERS89%Ghent1.6K ORDERS97%Malmo1.9K ORDERS
    Dispatch by site
    SiteSame-day dispatchOrders
    Leeds98%4.1,00
    Lyon97%3.6,00
    Porto91%2.2,00
    Gdansk96%2.9,00
    Brno99%1.8,00
    Turin94%2.4,00
    Ghent89%1.6,00
    Malmo97%1.9,00
    Dispatch by siteSame-day dispatch rate for 8 sites, from 89% to 99%; 2 sites below 92%: Porto 91%, Ghent 89%.98%Leeds4.1k orders97%Lyon3.6k orders91%Porto2.2k orders96%Gdansk2.9k orders99%Brno1.8k orders94%Turin2.4k orders89%Ghent1.6k orders97%Malmo1.9k orders
    Dispatch by site
    SiteSame-day dispatchOrders
    Leeds98%4.1,00
    Lyon97%3.6,00
    Porto91%2.2,00
    Gdansk96%2.9,00
    Brno99%1.8,00
    Turin94%2.4,00
    Ghent89%1.6,00
    Malmo97%1.9,00

    065 · Ring gridCompare items · E-commerce data

Get both

Bullet, gauge and the other 130 types.

In Figma and React, in four sizes, light and dark. Pay once, every update.

008 · Bullet type page021 · Gauge type page

See plans

Questions

Why are bullets more compact?

They are bars, so several stack in the space of one dial.

Can a gauge show a target?

Yes, as the threshold mark on the dial.

Do both come in every size?

Yes. Bullet and Gauge come in XS, S, M and L, each laid out again for its size, in light and dark.

Do they install the same way?

Yes, one command each: npx shadcn add @chartory/bullet and npx shadcn add @chartory/gauge.

Still not sure? Start from what the chart has to show.

Open the Chart Chooser