trolls.dev

the honest guide

How to make a Gantt chart in Notion

Notion has no button marked "Gantt" — but it has the real thing hiding under a plainer name: the Timeline view. Because it's backed by a database, it's the one DIY method that actually keeps your plan alive.

We use the same six-week bakery-website plan as our worked examples, our Excel guide, and our PowerPoint guide, so you can line them all up side by side.

A Notion timeline is a view of a database, not a drawing

This is the difference that matters, and it flips the usual trade-off. A PowerPoint Gantt chart is a picture; a spreadsheet one is a stack of bars faked from numbers. A Notion timeline is neither — it's just one view of a real task database. The bars are dates, not pixels, so when a date changes, the bar moves on its own. That single fact is why Notion is the DIY method worth the setup.

The raw material is the same as every other method: one row per task, with a start date and an end date. In Notion that pair lives in a single "Date" property with its end date switched on — and its duration is just the distance between the two:

Bakery website · Tasks database (Table view)
Aa  Name ◷  Timeline (Date) # Duration
Design Apr 1 – Apr 14 14d
Build Apr 8 – Apr 25 18d
Copy Apr 18 – Apr 24 7d
Photos Apr 22 – May 1 10d
QA & fixes May 2 – May 12 11d

The Timeline view, in five steps

There's no trick here — no invisible series, no hand-drawn rectangles. You build a small database, tell it which property holds the dates, and switch to the view that draws them. What you get is a genuine Gantt chart: a table of tasks on the left, bars on a date grid to the right.

  1. Make a task database

    Type /database and pick Table view — inline or full-page. Each row is one task. This database, not the chart, is the plan; the timeline is just one way to look at it.

  2. Add a Date property with an end date

    Add a property of type Date, name it "Timeline", and turn on "End date" in its options. Now each task can hold a start and a finish — a range, which is what a bar needs to have width.

  3. Switch the view to Timeline

    Click the view name → + Add view → Timeline. Notion draws one horizontal bar per task along a date axis. If a task only shows a dot, it is missing its end date — go back and fill it in.

  4. Set the time scale and open the table

    Use the scale switch (top-right of the view) to pick Week or Month so the whole plan fits. Then open the "«" panel on the left to show a table of properties beside the bars — the two-axis Gantt layout.

  5. Share it as a live link

    Share → Publish to get a public web link, or invite your team to the workspace. Either way people see the plan as it stands now, not a screenshot of how it looked on Tuesday.

Bakery website · Timeline view Scale: Week
Aa Name
Design
Build
Copy
Photos
QA & fixes
Wk 1Wk 2Wk 3Wk 4Wk 5Wk 6
Design
Build
Copy
Photos
QA & fixes

The table and the bars are the same rows, seen two ways. Drag a bar and its dates change in the table; edit the dates and the bar moves. It's one plan, not a picture of one.

Turn on dependencies so the plan reflows

A static timeline is nice; a timeline that heals itself is the reason to be here. Notion can link tasks so that moving one moves everything waiting on it — the one thing a spreadsheet and a slide simply can't do.

  1. Open Dependencies on the view

    In the Timeline view, open the ••• menu → Dependencies. Notion walks you through creating two relation properties — a "Blocking" and a "Blocked by" — that let one task point at another.

  2. Draw the links

    Hover the right edge of a bar until a dot appears, then drag a line to the task that waits on it: Build waits on Design, QA waits on Build. Most links are finish-to-start.

  3. Set it to shift automatically

    In Dependencies settings, choose "Shift dates" (rather than "Preserve"). Now when Design overruns, dragging its bar pushes Build, Copy, Photos and QA along with it — the plan re-dates itself instead of quietly going stale.

the plan as agreed

Design
Build
Copy
Photos
QA & fixes

Design finishes on day 14; everything downstream is timed to it.

Design slips 5 days → everything moves

Design
Build
Copy
Photos
QA & fixes

You dragged one bar. Notion re-dated the other four.

This is the whole case for building your Gantt chart in Notion rather than a spreadsheet: the plan is data, and data can be made to keep its own promises. Link the tasks once, and a slip in week one stops being an evening of manual re-typing.

Where Notion's timeline stops

It's the best of the make-it-yourself methods, and it's still not a dedicated planning tool. Four honest edges to know before you commit a real project to it:

  • No critical path. Dependencies shift the bars, but Notion won't tell you which chain actually sets your end date. Finding the critical path is still on you.
  • Milestones are a fudge. There's no zero-width milestone marker — you fake one with a single-day task or a coloured tag, and it never looks quite like the diamond it wants to be.
  • Setup is real work. A database, a dated property, two relation properties for dependencies — it's fifteen minutes of assembly before the first bar earns its keep. A spreadsheet skips that; a sentence skips it entirely.
  • It only pays off if you already live there. The magic is that the plan sits next to your notes and docs. If your team isn't in Notion, you're inviting people into a workspace just to see one chart — and a plain link would have been kinder.

None of that makes Notion the wrong call — if your work already lives in Notion, the Timeline view is genuinely the best DIY Gantt chart you can make, because it's the only one that reflows. It's when you want the chart and nothing else that the database assembly starts to feel like a tax. Our head guide compares every route side by side.

Notion Gantt charts, answered

Does Notion have a built-in Gantt chart?

Not by that name, but it has the real thing: the Timeline view. Give a task database a Date property with an end date, switch the view to Timeline, and Notion draws a horizontal bar per task along a date axis — a Gantt chart in everything but the label. Unlike a spreadsheet or a slide, it is backed by a database, so the bars are dates, not pixels.

Can a Notion Gantt chart show dependencies?

Yes, and this is where it beats a spreadsheet. In a Timeline view, open the ••• menu → Dependencies and set it up with two relation properties (a "Blocking" and a "Blocked by"). Once tasks are linked, dragging one bar shifts the tasks that depend on it — the plan reflows instead of going stale. Notion won't tell you which chain is the critical path, but it will keep the dates honest.

How do I add a milestone to a Notion timeline?

Notion has no zero-width milestone marker, so you fake it. The tidy way is a single-day task named for the moment — "Launch," "Sign-off" — which shows as a short bar or a dot you can colour or tag. Many people add a Select property called "Type" with a Milestone option and colour those rows so they stand out from the work bars.

Is a Notion timeline better than making a Gantt chart in Excel?

For a plan that keeps moving, yes — because Notion stores real dates and, with dependencies on, reflows itself. A spreadsheet Gantt chart is a stacked-bar picture that has to be re-typed by hand whenever a date slips. The catch is the reverse: Notion only pays off if your work already lives there. If you just want the chart and nothing else, the setup is overhead a spreadsheet skips.

What's the fastest way to make a Gantt chart?

Describe the plan in a sentence and let ganttchart.ai draw it — tasks, durations, dependencies, and milestones included — in about ten seconds, as a shareable link. Building a Notion timeline properly means creating a database, adding a dated property, and wiring up dependency relations first. Worth it if the work already lives in Notion; slower than a sentence if it does not.

Troll mascot sketching a project plan

New to the vocabulary? Every planning term on this page is defined in the plain-English glossary.

Skip the database assembly

Describe your project in plain English and get a shareable, editable Gantt chart in seconds — dependencies and milestones included, no properties to wire up. Then embed it in Notion if that's where the work lives.