Skip to content

Gantt chart

Who is busy when, lane by lane.

Definition · Updated Nov 2, 2026

A Gantt chart puts each resource on its own lane and draws its jobs as bars across the day, with a line for now. Overlaps, gaps and delays show at once. Use it for dock schedules, project plans and room or machine bookings.

Pay once. Every update included.

Live preview

Dock schedule16 slots on 6 docks from 06:00 to 14:00, now 10:30; 1 truck delayed.06:0014:00Dock 1Dock 2Dock 3Dock 4Dock 5Dock 6TR-131TR-220TR-112TR-145TR-251TR-162 · bulkWaitingTR-190MaintenanceTR-244NOWLOADINGUNLOADINGWAITINGDELAYED
Dock schedule
DockSlotFromToState
Dock 1TR-10406:0007:24Loading
Dock 1TR-13107:3609:48Unloading
Dock 1TR-22010:1212:36Loading
Dock 2TR-11206:1808:54Unloading
Dock 2TR-217 · late09:1211:24Delayed
Dock 2TR-23611:4813:36Loading
Dock 3Wait06:0006:48Waiting
Dock 3TR-14507:0009:30Loading
Dock 3TR-25110:0013:12Unloading
Dock 4TR-162 · bulk06:3010:48Loading
Dock 4Waiting11:1213:48Waiting
Dock 5TR-17807:1208:36Unloading
Dock 5TR-19009:0011:00Loading
Dock 5TR-20311:2412:24Unloading
Dock 6Maintenance06:0009:00Waiting
Dock 6TR-24409:3612:12Loading

Sample data: trucks at six docks from 06:00 to 14:00, loading, unloading, waiting and delayed

Size
Legend
Data shape
Jobs with a lane, a start, an end and a state
Good for
Docks, projects, bookings
Avoid when
Lanes have no shared time axis
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

037 / Gantt

chart/037-gantt
plot · schedule
Layer
job · tr-131
Type
Rectangle
Size
190 × 36
Fill
data/cat-2
Radius
4
Group
Marks · 17

Layers

037 / Gantt

chart/037-gantt
plot · schedule
Layer
job · tr-131
Type
Rectangle
Size
57 × 14
Fill
data/cat-2
Radius
4
Group
Marks · 17

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

Labels2226

Marks1717

Height212 px246 px

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

When to use

Who is busy when.

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

Is it lanes over clock time?

Items over weeks.

Yes: Keep the gantt

Are jobs bars, not trips?

Vehicles between stops.

Yes: Keep the gantt

Is it a plan, not one trace?

One run's spans.

Yes: Keep the gantt

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/037-gantt

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/gantt
gantt.tsx
import { Gantt } from "@/components/chartory/gantt"import { dockSchedule } from "./dock-schedule"export function DockSchedule() {  return (    <Gantt      data={dockSchedule}      size="m"      legend={true}    />  )}

Hearth widget

Gantt 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

Gantt questions.

What people ask before they put a gantt in a dashboard.

Something else?

hello@usechartory.com
  • The job state: loading, unloading, waiting and delayed, named in the legend. Late jobs also say so in their label (TR-217 · late).

Related types

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

Same family

Schedule and status

19 types in Chartory answer this question.