Skip to content

Horizontal bar chart

Items in a list, with room for their names.

Definition · Updated Nov 2, 2026

A horizontal bar chart lays bars sideways, so long item names fit and the list reads top to bottom. Use it for ranked lists such as hubs, products or teams, especially when there are more than a handful.

Pay once. Every update included.

Live preview

Deliveries by hubParcels delivered today of those scheduled, across 5 hubs: 4,645 of 5,440; Rotterdam delivered the most at 1,312 of 1,480.04008001.2K1.6KROTTERDAM1,312HAMBURG1,034ANTWERP1,046LYON598MILAN655DELIVEREDSCHEDULED
Deliveries by hub
HubDeliveredScheduled
Rotterdam1,3121,480
Hamburg1,0341,260
Antwerp1,0461,120
Lyon598860
Milan655720

Sample data: parcels delivered at five hubs against the scheduled count, Rotterdam 1,312

Size
Legend
Data shape
One value and a scheduled total per item
Good for
Ranked lists, hubs, products, teams
Avoid when
Items are periods of time
Sizes
XS, S, M and L, re-laid out from the data

Anatomy

Inspect it like the Figma file.

The same layers, names and tokens as the component. Select one to read its size, fill and style.

Layers

007 / Horizontal bars

chart/007-horizontal-bars
plot · bars
Layer
bar · rotterdam · value
Type
Rectangle
Size
564 × 28
Fill
data/primary
Radius
4
Group
Marks · 10

Layers

007 / Horizontal bars

chart/007-horizontal-bars
plot · bars
Layer
bar · rotterdam · value
Type
Rectangle
Size
170 × 16
Fill
data/primary
Radius
4
Group
Marks · 10

Sizes

Re-laid out, never scaled.

The same data at XS, S, M and L. Every size is redrawn from the data, so text and line weights never shrink.

M against S

Width360 px480 px

Plot328 px440 px

Labels1515

Marks1010

Height212 px246 px

Same tokens at every size: text styles, 1 px lines and mark radius stay put.

When to use

A ranked list.

Three signs it fits, and three signs another type fits better.

Are the items not periods of time?

Periods read left to right.

Yes: Keep the horizontal bars

Is there one value per item?

Two values per item to compare.

Yes: Keep the horizontal bars

Is it the value alone, with no target?

Targets with ranges.

Yes: Keep the horizontal bars

Code and Figma

One name in Figma and in code.

Every Figma property is a prop with the same name and values. One command installs it.

Figma

chart/007-horizontal-bars

size
legend
Property = propValuesDefault
size"xs" · "s" · "m" · "l""xs"
legendtrue · falsetrue
color"cat-1" · "cat-2" · "cat-3" · "cat-4""cat-1"
npx shadcn add @chartory/horizontal-bars
horizontal-bars.tsx
import { HorizontalBars } from "@/components/chartory/horizontal-bars"import { hubDeliveries } from "./hub-deliveries"export function HubDeliveries() {  return (    <HorizontalBars      data={hubDeliveries}      size="m"      legend={true}    />  )}

Hearth widget

Horizontal bars as a widget.

The chart in a Hearth card with a hero number and two blocks. One token set, light and dark.

Code
Get the code

EmberPreset

ChartoryDefault preset

Pick the blocks, the size and the preset for your own widget.

Read the Hearth widget docs

FAQ

Horizontal bar questions.

What people ask before they put horizontal bars in a dashboard.

Something else?

hello@usechartory.com
  • The scheduled count. The legend names delivered and scheduled, so the gap between the two is what is still due at each hub.

Related types

The same question, a different shape of answer. Every type ships in Figma and in code.

Same family

Compare items

Rank, gap and change between products, teams or regions.