HomeGuides › Milestones vs Tasks on a Gantt Chart

Milestones vs Tasks on a Gantt Chart

A task takes time. A milestone marks a moment. That single distinction explains why one is drawn as a bar and the other as a diamond — and it has consequences you can measure: a milestone modelled as a three-day task quietly adds three days to your finish date, and hides the delay you are most exposed to.

· gantts.app

The symbols you will meet on almost any Gantt chart:
Task — has duration Milestone — zero duration, a moment Summary / phase — rolls up its children Dependency — one task constrains another Progress — the filled portion is % complete Today

The difference in one line

A task consumes time and resources; it has a start, a finish and a duration. A milestone has no duration at all — it is a point marking that something has happened. That is why milestones render as diamonds: there is nothing to draw a bar across.

The practical test takes a second. Can somebody work on it? You can work on drafting a specification. You cannot work on "specification approved": it either has happened or it has not.

TaskDuration 8dMilestonezero duration
A milestone sits at a single point in time; the bar either side of it is the work.

A worked example: the Harbour Labs packaging rebrand

One project, followed the whole way down. Harbour Labs is redoing the artwork for a 40-SKU line. Five working days a week, start Monday 2 March 2026.

RowTypeDurationStartFinish
Artwork conceptsTask10 dMon 2 MarFri 13 Mar
Internal review & revisionsTask4 dMon 16 MarThu 19 Mar
Artwork frozenMilestone0 dThu 19 Mar
Regulatory label check (external lab)Task8 dFri 20 MarTue 31 Mar
Label approvedMilestone0 dTue 31 Mar
Print proofs from supplierTask6 dWed 1 AprWed 8 Apr
Proof signed offMilestone0 dWed 8 Apr
Print runTask15 dThu 9 AprWed 29 Apr
Transit to distribution centreTask7 dThu 30 AprFri 8 May
Retail switchoverMilestone0 dMon 11 May

Five milestones, five tasks. Three of them — artwork frozen, label approved, proof signed off — are moments when somebody outside the team has to act. That is the reason to place them.

Read the milestone rows alone and you have the project in one breath: artwork frozen 19 March, label approved 31 March, proof signed 8 April, on shelf 11 May.

What happens when a milestone slips

The external lab quotes eight days and takes thirteen. The regulatory check now finishes Tuesday 7 April instead of Tuesday 31 March.

MilestonePlannedForecastSlip
Artwork frozenThu 19 MarThu 19 Mar0 d
Label approvedTue 31 MarTue 7 Apr5 d
Proof signed offWed 8 AprWed 15 Apr5 d
Retail switchoverMon 11 MayMon 18 May5 d

There is no float in that chain, so all five days land on the launch date. Those four rows are the entire status report, and they exist only because those points were modelled as milestones.

A task slipping means work is taking longer and may still be absorbed. A milestone slipping means a commitment moved. Nobody outside the project cares that proofs took seven days instead of six; they care that the shelf date is now 18 May.

Task or milestone: the dimensions that actually differ

The distinction is not a drawing convention. It changes behaviour in six places.

DimensionTaskMilestone
DurationOne day or more. Consumes calendar and effort.Zero. Start and finish are the same date.
DependenciesPredecessors and successors, most often finish-to-start.Needs at least one of each, or it is decoration.
A slip meansWork took longer; float or resources may recover it.A commitment moved. Recovery needs re-planning, not effort.
ResourcingAn assignee doing the work, usually a cost.An owner who chases it. Effort is typically zero.
How it exportsA bar in PDF, PNG and PowerPoint; a real finish and day count in Excel and CSV; a multi-day calendar event.A diamond in visual exports; blank finish and duration 0 in Excel and CSV; a single-day calendar event.
Who reads itThe person doing the work, and their manager.Sponsors, clients, regulators, the summary slide.

The export row surprises people. Set the view to milestones only, export, and you have a one-page schedule for a steering group without building a second chart — but only if your milestones are real milestones.

What it costs to get it wrong

Now model "Label approved" the way most people first write it: a task called "get label sign-off", three days, between the lab check and the proofs.

  1. The finish date moves. Three days of invented duration push retail switchover from Mon 11 May to Thu 14 May. The work did not change; the model did.
  2. The gate disappears. "Get label sign-off" reads like something you do; "Label approved" reads like something the lab does. The first invites nobody to chase it.
  3. The summary breaks. Filter to milestones and four rows appear instead of five, with the most externally-dependent point missing.

The reverse mistake is cheaper but real: making "Print run" a milestone because it feels significant. Fifteen days of press time vanish and the critical path routes around the longest item on the plan. Significance decides whether something belongs on the chart; duration decides its shape.

What milestones are actually for

Milestones exist for the reader, not the doer. They are how someone who does not live inside your project finds the moments that matter: approvals, deliveries, gates, go-live.

They also make a schedule enforceable. "Artwork frozen", with the regulatory check depending on it, says what "freeze the artwork" does not: nothing downstream proceeds until this happens. When a designer submits a revision on 24 March, the chart shows a rule being broken, not a date sliding.

Finish → StartABB waits for AStart → StartABB waits for AFinish → FinishABB waits for AStart → FinishABB waits for A
A milestone earns its place by sitting between things: predecessors that must finish, successors that cannot start.

A milestone with no links either way is worth deleting. If nothing waits on it, it is a note in the margin — and notes belong in the notes field, not on the timeline.

How many should a project have?

Enough to tell the story, few enough that each one means something. Four to eight is a reasonable range; a hundred milestones is just tasks wearing a different shape.

A test: could you describe progress using only the milestones? Harbour Labs has five for a ten-week project — the upper end, justified because four are external hand-offs. The usual way to overshoot is a diamond at the end of every phase out of symmetry; phases already have summary bars.

Doing it in gantts.app

The Harbour Labs plan in the editor, using the buttons as they are actually labelled.

  1. Click ✨ Paste to Gantt and paste the outline. A line ending in ! becomes a milestone, (10d) sets a duration, after Name links a predecessor, a leading # makes a phase — for example Artwork frozen ! after Internal review.
  2. By hand instead: + Task for work rows, ◆ Milestone for diamonds, ▣ Group for a phase, →| to indent a row under it.
  3. Typed a milestone as a task? Double-click its row and change Type from task to milestone. Its finish collapses onto its start; no need to delete and re-add.
  4. In the same panel set Runs after (predecessors), or the milestone will not move when the work in front of it moves.
  5. Click ⚡ Auto-schedule to push every row to the earliest date its dependencies allow — this is how you learn whether your milestone dates were wishes or consequences.
  6. Tick Critical path to confirm the chain through your gates sets the finish date. Striped bars are critical.
  7. Open ◳ Baseline and save the plan before work starts. The variance columns then report milestone slip in days, which is where the five-day figure above comes from.
  8. Set View to Milestones only for the sponsor version, then Export📄 PDF document or 📽 PowerPoint (.pptx). Switch back to All tasks for delivery.

One thing the editor will not do: drag a milestone wider. Milestones move but never resize, because a milestone with duration is not a milestone.

Common mistakes

Milestones with duration. If it takes three days it is a task. Give it a bar and put a milestone at its end if completion matters.

Milestones nobody owns. The owner is whoever makes the phone call when the date is at risk, not whoever does the approving.

Milestones dated by hope. If "Label approved" sits on 31 March because that is what retail was promised, rather than because eight days of lab work end there, the chart records an ambition. Auto-schedule, then negotiate the gap deliberately.

Milestones reported as percentages. A milestone is 0% or 100%. "Label approval is 60% done" means the underlying task is 60% done and the gate has not happened.

Summary bars and the hierarchy

The third symbol is the summary or phase bar spanning its child tasks. It is calculated, not entered: its dates come from the earliest start and latest finish beneath it, which is why editing them directly is usually disabled. To move a phase, move what it contains.

A summary bar shows when work runs; a milestone shows when a commitment falls due. A "Pre-press" summary spanning 2 March to 8 April is useful to the Harbour Labs team and useless to the retail buyer, who only asks about 11 May.

One habit to take from this: put a milestone at every point where someone outside the team has to approve, deliver, inspect or sign. Those are the dependencies you control least and the delays you will be asked about most. Three of the five Harbour Labs milestones are exactly that — and the one that slipped was one of them.

Templates that use this

Frequently asked questions

What is the difference between a task and a milestone?

A task has duration — a start, a finish and work in between. A milestone has zero duration and marks a moment, such as an approval or a delivery. Quick test: if somebody can spend an afternoon working on it, it is a task.

What does the diamond mean on a Gantt chart?

A milestone: a zero-duration marker for a significant event such as a sign-off, delivery or go-live. Having no length, it can be moved but not resized.

How many milestones should a project have?

Typically four to eight — enough to tell the story, few enough that each carries meaning. If reading the list end to end does not describe the project, you have the wrong ones.

Can a milestone have a duration?

No — by definition it is zero. If the thing genuinely takes time, such as a five-day regulatory review, model it as a task and put a milestone at its finish. The commitment date is then calculated rather than asserted.

What happens to the schedule when a milestone slips?

Everything linked after it moves by the same amount, minus any float in the chain. In the packaging example a five-day slip on "Label approved" pushed retail switchover from 11 May to 18 May in full, because nothing downstream had slack.

What is a summary bar?

A bar representing a phase or group. Its dates come from the earliest start and latest finish beneath it, so it moves when its children move. It is not a substitute for a milestone: a summary shows when work runs, a milestone when a commitment falls due.

Try it on your own plan

gantts.app is a free Gantt chart maker that runs in your browser. No account, no download, no watermark on exports.

Open the free editor