How to create a Gantt chart in Excel
A free Gantt chart template for Excel. Type each task’s start date and length, and the bars, phases, progress and today’s date draw themselves. Below it, a step-by-step guide to building one yourself.
Download for Excel (XLSX). Free to use, no sign-up needed.
| Task | Owner | Start | Days |
|---|---|---|---|
| Planning | 4 Jan | 9 | |
| Kickoff meeting | Project lead | 4 Jan | 1 |
| Gather requirements | Project lead | 5 Jan | 5 |
| Agree scope and budget | Sponsor | 10 Jan | 2 |
| Plan approved | Sponsor | 12 Jan | 0 |
| Design | 13 Jan | 15 | |
| Sitemap and wireframes | Designer | 13 Jan | 6 |
| Visual design | Designer | 19 Jan | 8 |
| Design sign-off | Sponsor | 27 Jan | 0 |
| Build | 28 Jan | 17 | |
| Build the pages | Developer | 28 Jan | 12 |
| Write and load content | Writer | 28 Jan | 10 |
| Test and fix | Developer | 9 Feb | 5 |
| Go live | Project lead | 14 Feb | 0 |
Excel does not have a Gantt chart button, but you can make a perfectly good Gantt chart with it in about fifteen minutes. This guide shows how to create a Gantt chart in Excel two ways: the classic method, which turns a stacked bar chart into a timeline, and the formula method, which colors the cells of the sheet itself. If you would rather skip the building, the free template above does both for you.
In a hurry? Read the quick answer, follow the step-by-step guide, or see how to use the template.
What is a Gantt chart?
A Gantt chart is a bar chart of a project's schedule. Each task is a row, time runs from left to right, and each task's bar starts on its start date and ends on its end date. At a glance you can see what happens when, which tasks overlap, which ones wait for others, and whether the project is on track. It is the most common way to show a project schedule; our guide to project scheduling explains how to build one.
Most Gantt charts also show phases (groups of tasks), milestones (moments with no length, such as “design signed off”), progress (how much of each task is done) and a line for today. The template above has all four.
How to create a Gantt chart in Excel: the quick answer
- List your tasks in a table with three columns: task name, start date and duration in days.
- Select the start dates and durations, then go to Insert > Insert Column or Bar Chart > Stacked Bar.
- Use Select Data to make sure the start dates are the first series, the durations the second, and the task names the axis labels.
- Click the start-date bars and set Fill to No fill, so only the duration bars show.
- Right-click the task names, choose Format Axis and tick Categories in reverse order, so the first task is at the top.
- Right-click the dates, choose Format Axis and set Minimum to your project's start date, so the chart begins when the project does.
- Tidy up: narrow the gaps between bars, remove the legend and add a title.
The rest of this guide goes through each step in detail, then covers the formula method, progress, milestones, working days and the problems people most often run into.
Before you start: set up your project data
Every Gantt chart in Excel starts with a simple table. Put one task per row, in the order they happen:
| Task | Start date | Duration (days) | End date |
|---|---|---|---|
| Kickoff meeting | 04/01/2027 | 1 | =B2+C2-1 |
| Gather requirements | 05/01/2027 | 5 | =B3+C3-1 |
| Sitemap and wireframes | 13/01/2027 | 6 | =B4+C4-1 |
| Visual design | 19/01/2027 | 8 | =B5+C5-1 |
| Build the pages | 28/01/2027 | 12 | =B6+C6-1 |
- Type dates as real dates, not as text. If Excel aligns a date to the right of the cell it has understood it; if it sits on the left, it is text and the chart will not work.
- Duration is a number of days, not a date. The chart adds it to the start date to draw the bar.
- The end date is optional for the bar chart method, but useful to have. The formula is the start date plus the duration, minus one (a one-day task starts and ends on the same day).
- Keep names short. Long task names squash the chart. Put the detail in a notes column instead.
How to create a Gantt chart in Excel step by step
This is the classic method, and it works in every recent version of Excel on Windows and Mac. The idea is simple: a stacked bar chart puts two bars end to end on each row. The first bar runs from the start of the axis to the task's start date; the second runs for the task's duration. Hide the first bar and what is left is a Gantt chart.
Step 1: Select your start dates and durations
Select the Start date column, including its heading. Then hold Ctrl (Cmd on a Mac) and select the Duration column, also with its heading. Leave the task names out for now; adding them separately in step 3 avoids Excel guessing wrongly about what is a label and what is a value.
Step 2: Insert a stacked bar chart
Go to the Insert tab, click Insert Column or Bar Chart in the Charts group, and under 2-D Bar choose Stacked Bar. Make sure you pick the horizontal bar chart, not a stacked column chart, which runs vertically.
You now have a chart with two colors of bar on each row and dates along the bottom. It does not look like a Gantt chart yet.
Step 3: Check the series and add the task names
Right-click the chart and choose Select Data. On the left, under Legend Entries (Series), you should see Start date first and Duration second. If the order is wrong, select one and use the up and down arrows to fix it.
On the right, under Horizontal (Category) Axis Labels, click Edit and select your task names (without the heading). Click OK twice. The task names now appear down the side of the chart in place of the numbers 1, 2, 3.
If Excel has drawn one bar per column instead of one per task, click Switch Row/Column in the Select Data window.
Step 4: Hide the start-date bars
Click any of the bars in the first color (the start dates) so they are all selected. Right-click and choose Format Data Series. In the pane that opens, go to Fill & Line, set Fill to No fill and Border to No line.
The first bar on each row disappears, and the duration bars now appear to float: each one starts on its task's start date. This is the moment it becomes a Gantt chart.
Step 5: Put the first task at the top
Bar charts in Excel draw the first row of your table at the bottom, which is the wrong way round for a schedule. Right-click the task names on the left of the chart, choose Format Axis, and under Axis Options tick Categories in reverse order.
Ticking it also moves the dates to the top of the chart, which suits a Gantt chart. If you prefer them at the bottom, set Horizontal axis crosses to At maximum category in the same section.
Step 6: Start the timeline on your project start date
At this point there is usually a big empty gap on the left of the chart, because the date axis starts at zero, which Excel counts as early 1900. Excel stores every date as a number (the number of days since the start of 1900), so to start the axis on your project's first day, you need that day's number.
- Copy your project's start date into an empty cell.
- Change that cell's format to General (Home > Number Format > General). The date turns into a number, such as 46391.
- Right-click the dates on the chart, choose Format Axis, and type that number into Minimum under Bounds.
- Optionally, type the project's last day as a number into Maximum as well, and set the Major unit to 7 so there is a gridline every week.
- Undo the format change on your helper cell, or delete it.
The bars now fill the chart from the first day of the project.
Step 7: Tidy the chart
- Make the bars thicker: click a bar, open Format Data Series, and lower the Gap Width to about 30 to 50%.
- Remove the legend: click it and press Delete. It only says “Start date” and “Duration”, which does not help anyone.
- Add a title: click the chart title and type the project's name.
- Shorten the dates: in Format Axis > Number, choose a short date format such as
d mmm. - Add task lengths to the bars: right-click a bar and choose Add Data Labels, then set them to Inside Base.
- Color by phase or person: click a single bar twice (slowly) to select just that one, then change its fill.
Step 8 (optional): Show progress on each bar
To show how much of each task is done, split the duration into two columns: Days done (duration multiplied by percent complete) and Days left (duration minus days done). Build the chart from Start date, Days done and Days left instead of Start date and Duration, hide the start dates as before, and give Days done a darker color than Days left. Each bar now fills up as the work progresses.
Step 9 (optional): Mark milestones
A milestone has no duration, so its bar has no length and disappears. The simplest fix is to give milestones a tiny duration, such as 0.4 of a day, and a dark color, so they show as a short mark. Our template's bar chart sheet does exactly that.
How to make a Gantt chart in Excel with conditional formatting
The second method does not use a chart at all. Instead, you give each day its own narrow column and let conditional formatting color the cells between each task's start and end dates. It takes a little longer to set up, but it updates as you type, handles progress and today's date easily, and prints well. It is how the main sheet of our template works.
- Set up your task table with Start date in column D and End date in column F, starting on row 12. (Adjust the letters below to match your sheet.)
- In row 9, starting in column J, put one date per column: type the first date in J9, then
=J9+1in K9, and fill it across for as many days as you need. Format the row asdso it shows only the day of the month, and make the columns narrow (about 3 wide). - Select the grid where the bars will go: from J12 across and down to the last day and the last task.
- Go to Home > Conditional Formatting > New Rule > Use a formula to determine which cells to format.
- Enter
=AND(J$9>=$D12,J$9<=$F12)and choose a fill color. Click OK.
Each cell now checks whether its day falls between its row's start and end dates, and colors itself if it does. The dollar signs matter: J$9 always looks at the dates in row 9, and $D12 and $F12 always look at the date columns, so the one rule works across the whole grid.
From there, more rules add the rest. List them in order in the Conditional Formatting Rules Manager, with Stop If True ticked where you want one color to win:
| To show | Rule formula | Format |
|---|---|---|
| Today | =J$9=TODAY() | A light yellow fill |
| Weekends | =WEEKDAY(J$9,2)>5 | A light grey fill |
| Progress | =AND(J$9>=$D12,J$9<$D12+ROUND(($F12-$D12+1)*$G12,0)) (G holds the percent done) | A darker shade of the bar color |
| Milestones | =AND($E12=0,J$9=$D12) (E holds the duration) | Black |
| Late tasks | On the End date column: =AND(F12<TODAY(),G12<1) | Red, bold text |
Which method should you use?
| Stacked bar chart | Conditional formatting | |
|---|---|---|
| Time to set up | About 15 minutes | About 30 minutes, or none with a template |
| Looks like | A chart you can copy into slides or a report | A spreadsheet with colored cells |
| Updates when dates change | Yes, but the start of the axis must be changed by hand | Yes, completely |
| Progress, today and weekends | Possible, but fiddly | Easy, one rule each |
| Long projects (months) | Fine: the axis scales | Needs weekly columns instead of daily ones |
| Best for | Presenting a plan | Running a plan day to day |
Many people use both: the formula version to manage the project, and a chart for the monthly update. The template includes both, on separate sheets, fed by the same task list.
How to use this Gantt chart Excel template
- Download the template using the button at the top of this page and open it in Excel. It also opens in Google Sheets and Numbers.
- Set the project start date. The timeline begins on the Monday of that week.
- Replace the example tasks with your own. Group tasks under phases numbered 1, 2, 3, with the tasks numbered 1.1, 1.2 and so on. A phase takes its start, end and progress from the tasks under it.
- Enter a start date and a length in days for each task. The end date is worked out for you.
- Link tasks that wait for each other. To start a task the day after another ends, use
=F12+1as its start date, with the row of the earlier task. Several example tasks already do this, so moving one task moves everything after it. - Add milestones by giving a task a length of 0 days. It shows as a single black mark.
- Track progress by typing how much of each task is done. The done part of the bar turns dark, and an end date that has passed on an unfinished task turns red.
- Move the timeline with the scroll box: type 4 to look four weeks later, or a negative number to look back. Today is highlighted in yellow.
Need more rows? Copy a whole blank row and insert it where you need it. The formulas and the bars come with it.
Useful Gantt chart formulas in Excel
| What you want | Formula | Notes |
|---|---|---|
| End date from start and duration | =D12+E12-1 | A one-day task ends the day it starts |
| Duration from start and end | =F12-D12+1 | Calendar days, including both ends |
| End date, counting working days only | =WORKDAY(D12,E12-1) | Skips Saturdays and Sundays |
| End date, skipping holidays too | =WORKDAY(D12,E12-1,Holidays) | Holidays is a range listing your holiday dates |
| Working days between two dates | =NETWORKDAYS(D12,F12) | Add a holiday range as a third argument |
| Start after another task ends | =F11+1 or =WORKDAY(F11,1) | The second skips to the next working day |
| Start a week after another task ends | =F11+8 | Builds in a gap, often called lag |
| Phase start and end | =MIN(D13:D16) and =MAX(F13:F16) | The earliest start and latest end of its tasks |
| Phase progress | =SUMPRODUCT(E13:E16,G13:G16)/SUM(E13:E16) | Weighted by each task’s length |
| Days until a task is due | =F12-TODAY() | Negative means overdue |
Gantt charts in Excel for Mac, Excel for the web and Google Sheets
- Excel for Mac: the steps are the same. The Format pane opens on the right when you double-click part of the chart, and you hold Cmd instead of Ctrl to select two columns.
- Excel for the web: you can insert a stacked bar chart and format it, but some formatting options are harder to find than in the desktop app. If an option is missing, open the file in the desktop app for the chart and use the web version for day-to-day updates.
- Google Sheets: select the data, choose Insert > Chart, and set the chart type to Stacked bar chart. Under Customize > Series, choose the start-date series and set its fill opacity to 0%. Conditional formatting with a custom formula works the same way as in Excel, so our template's main sheet works in Google Sheets as well.
Common problems and how to fix them
| Problem | Why it happens | Fix |
|---|---|---|
| The bars start in 1900, with a huge gap on the left | The date axis starts at zero | Set the axis Minimum to your start date’s number (step 6) |
| The first task is at the bottom | Bar charts list categories from the bottom up | Tick Categories in reverse order (step 5) |
| The chart shows numbers like 46391 instead of dates | The axis has a number format | Format Axis > Number > choose a date format |
| The bars are thin with big gaps | The default gap width is wide | Lower Gap Width to 30 to 50% |
| One bar per column instead of per task | Excel guessed the layout wrong | Select Data > Switch Row/Column |
| A task is missing from the chart | The chart’s data range ends above the new row | Insert new rows inside the range, or format the data as a table so the chart grows with it |
| Dates do not work in formulas | They were typed or pasted as text | Retype them, or use Data > Text to Columns to convert them |
| Milestones do not show | A duration of zero has no length | Use a duration of 0.4 and a dark color |
| The chart is unreadable with 50 tasks | Too much on one chart | Show phases on the main chart and a chart per phase |
Tips for a Gantt chart people can actually read
- Keep it to the level people need. A chart for the leadership team needs phases and milestones; the team doing the work needs tasks.
- Twenty to thirty rows is plenty for one view. Split bigger projects into phases.
- Use color for one thing only: phase, owner or status, not all three.
- Show today so everyone can see at a glance what should be happening now.
- Name an owner for every task, in a column next to the chart.
- Date the chart in its title or a note, so nobody acts on an old copy.
When to move beyond an Excel Gantt chart
A Gantt chart in Excel is ideal for planning a project, sharing a schedule or running a small piece of work on your own. It starts to strain when:
- Several people need to update it. Spreadsheets get copied, emailed and overwritten, and nobody is sure which version is current.
- Dates change often. Excel only moves tasks that are linked by formulas, so delays have to be pushed through by hand.
- The chart is not where the work happens. Tasks, files and conversations live elsewhere, so the chart is always a little out of date.
- You run many projects at once. Each one is its own file, with no view across all of them.
That is when a project management tool earns its place. In Flow, Coavon's project app, every project has a Gantt chart view on the Pro and Business plans: drag a bar to move or stretch a task, zoom from days to months, and group by person or status. The same tasks are also a board, a list and a calendar, each with an owner and due date, and everyone sees the same, current plan. See our productivity tips for more on keeping a team's work in one place.
Frequently asked questions
Does Excel have a Gantt chart?
Excel does not have a Gantt chart type, but you can make one in a few minutes from a stacked bar chart, by hiding the bars that represent the start dates. You can also draw one with conditional formatting, or start from a template like the free one on this page.
How do I create a simple Gantt chart in Excel?
List your tasks with a start date and a duration in days, select the start dates and durations, and insert a Stacked Bar chart. Set the start-date bars to No fill, tick Categories in reverse order on the task axis, and set the date axis Minimum to your project start date.
How do I show progress on an Excel Gantt chart?
Split each task’s duration into days done and days left, and chart the start date, days done and days left as three stacked series. Hide the start dates and give days done a darker color. With the conditional formatting method, add a rule that colors the first part of each bar according to the percent complete.
How do I add a milestone to a Gantt chart in Excel?
Give the milestone a duration of zero and format it differently. In a bar chart, a zero-length bar is invisible, so use a very small duration such as 0.4 of a day and a dark color. In the conditional formatting method, add a rule that colors only the milestone’s date.
How do I make a Gantt chart in Excel that skips weekends?
Use the WORKDAY function for end dates, such as =WORKDAY(start, duration-1), and WORKDAY(previous end, 1) for tasks that follow another. Add a range of holiday dates as a third argument to skip holidays too.
Can I make a Gantt chart in Google Sheets?
Yes. Insert a stacked bar chart from your start dates and durations, then set the start-date series to 0% opacity in the chart editor. Conditional formatting with a custom formula also works, so the main sheet of this template works in Google Sheets.
Why does my Excel Gantt chart start in 1900?
Excel stores dates as numbers counted from the start of 1900, and a chart’s axis starts at zero by default. Format your start date as General to see its number, then type that number into the axis Minimum under Format Axis.
Is this Gantt chart template free?
Yes. It is free to download and use, with no sign-up. It works in Excel on Windows and Mac, and opens in Google Sheets and Numbers.