How to Use a Gantt Chart in Google Sheets: 7 Easy Steps
Project schedules can become confusing quickly. You may know every task, deadline, and owner, yet still struggle to see how the work fits together. A plain task list shows what needs attention, while dates sit in separate cells and dependencies remain easy to miss.
That uncertainty creates real problems. A task that slips by two days can push the next milestone, delay a launch, or leave teammates waiting without realizing why. Rebuilding the schedule manually also wastes time every time a date changes.
Here’s the practical solution: create a Gantt-style timeline in Google Sheets with a task list, start dates, durations, and a stacked bar chart. The process takes seven steps, and you can update the timeline whenever your plan changes.
How to Create a Gantt Chart in Google Sheets
A Gantt chart in Google Sheets is a timeline that displays tasks as horizontal bars across calendar dates. Google Sheets does not offer a dedicated Gantt chart button in every setup, so you create one with a stacked bar chart and a hidden start-date series.
Here’s why this works: the first series places each task at the correct point on the timeline, while the second series shows how long the task lasts. Once you make the first series transparent, the visible bars appear to float at their scheduled start dates.
Step 1: Create the task planning columns
Open a new Google Sheets workbook and create these columns in the first row:
- Task
- Start Date
- End Date
- Duration
- Owner
- Status
For a simple chart, only the first four columns are required. The owner and status columns help you manage the schedule after the visual timeline is ready.
For example, your first few rows might look like this:
| Task | Start Date | End Date | Duration | Owner | Status |
|---|---|---|---|---|---|
| Gather requirements | 2025-06-02 | 2025-06-04 | 3 | Alex | Complete |
| Create wireframes | 2025-06-05 | 2025-06-10 | 6 | Priya | In progress |
| Build prototype | 2025-06-11 | 2025-06-18 | 8 | Jordan | Not started |
Use real date values in the Start Date and End Date columns. Select those columns, choose Format, select Number, and apply a date format if necessary.
Step 2: Calculate the task duration
In the first Duration cell, subtract the start date from the end date and add one day:
=C2-B2+1
Here, C2 contains the end date and B2 contains the start date. The extra one ensures that a task lasting from June 2 through June 4 displays as three calendar days.
Copy the formula down the column by dragging the small blue handle in the bottom-right corner of the selected cell. You can also double-click that handle when the neighboring rows contain information.
For a workday schedule that excludes weekends, use this formula instead:
=NETWORKDAYS(B2,C2)
Choose the calendar method that matches your planning style. A product launch may use calendar days, while an internal team plan may count working days only.
Step 3: Prepare the chart range
Select the Task, Start Date, and Duration columns. Include the column headers and every task row you want to display.
For example, if your headers are in row 1 and your tasks occupy rows 2 through 10, select:
A1:B10 and D1:D10
Because those areas are separated, you may need to hold Ctrl on Windows or Command on macOS while selecting the second range. A simpler option is to place the chart columns next to each other in a helper area.
For instance, create two extra columns:
- Chart Task
- Chart Start
- Chart Duration
Link them to your planning area with formulas such as:
=A2
=B2
=D2
This keeps the chart range tidy while allowing your main planning area to contain extra details.
Step 4: Insert a stacked bar chart
With the chart range selected, choose Insert, then Chart. Google Sheets will suggest a chart type.
Open the Chart editor on the right side. Under Setup, change the chart type to Stacked bar chart.
Check the preview. Each task should appear as a horizontal bar with two colored sections. One section represents the start-date offset, and the other represents the task duration.
If the task names appear as data series, select Switch rows or columns. You want one horizontal bar per task, with Task acting as the vertical axis label.
Step 5: Hide the start-date series
The first colored section creates the gap between the beginning of the chart and the task’s actual start date. Hide that section to make each duration bar appear at the correct position.
In the Chart editor, open Customize, expand Series, and choose the series representing Start Date. Set its fill color to transparent or match it to the chart background. Remove its border color if Google Sheets shows one.
The duration series should remain visible. Use a strong color that contrasts with the background and remains readable when several tasks overlap.
The best part? You can change any task date in the planning area, and the chart will reposition the bar automatically.
Step 6: Format the timeline
A basic chart may be accurate but difficult to read. Spend a few minutes adjusting the display.
- Reverse the vertical axis so the first task appears at the top.
- Adjust the horizontal axis minimum to the earliest project start date.
- Set the horizontal axis maximum near the latest project end date.
- Reduce the gap between bars so the schedule feels continuous.
- Rename the chart title with the project name and planning period.
- Use a consistent color for duration bars.
- Remove unnecessary legends after hiding the start-date series.
To reverse task order, open Customize, select Vertical axis, and enable the option that reverses the axis order. The exact label can vary slightly by Google Sheets version.
Use weekly or monthly spacing when the project lasts several weeks. Daily labels work well for short campaigns, such as a five-day event launch.
Step 7: Add milestones, progress, and dependencies
Your first chart shows timing. You can make it more useful by adding planning signals around the timeline.
For milestones, create a one-day task with the same start and end date. Give it a distinct status or label, such as Launch milestone. A one-day bar will appear as a narrow marker.
For progress tracking, add a Progress column with values such as 0%, 50%, or 100%. You can use conditional formatting in the task area to highlight completed work.
For dependencies, add a Predecessor column. Enter the task that must finish before another task begins. Then review the dates whenever a predecessor moves.
Google Sheets will not automatically draw dependency arrows in this setup. You need to adjust dates manually or use a project management platform when dependency logic becomes complex.
How the Gantt Chart Method Works
A stacked bar chart uses two values for every task. The first value is the number of days between the chart’s starting point and the task’s start date. The second value is the task duration.
Imagine a project beginning on June 1. A task starting June 6 receives a five-day offset. Its duration may be four days. The chart places an invisible five-day section first, then displays a four-day visible bar.
That calculation creates the visual effect of a timeline. Google Sheets treats both values as parts of one stacked bar, even though you use them for different purposes.
Let me explain the date behavior. Google Sheets stores calendar dates as serial numbers. Subtracting one date from another produces the number of days between them, which makes dates suitable for the first chart series.
Calendar days versus working days
Suppose a task begins Friday and ends Monday. Calendar counting gives four days, while a workday calculation gives two days.
Use calendar days when weekends affect the plan, such as event preparation or shipping. Use NETWORKDAYS when your team works Monday through Friday.
Be consistent across the project. Mixing both methods can make one task look longer or shorter than another, even when the work effort is similar.
Why the chart may show the wrong dates
The most common cause is incorrect formatting. If Start Date values are treated as text, the chart may place every bar at an unexpected position.
Try selecting the date column and applying a date format. Then click an individual cell and confirm that the value behaves like a date in a simple calculation.
A second cause is selecting the wrong chart type. A standard bar chart does not create the offset-and-duration effect. Choose a stacked bar chart instead.
Practical Ways to Improve Your Project Timeline
A Gantt view becomes more useful when it answers everyday planning questions. Who owns the next task? Which activity is late? What happens if a milestone moves?
Add columns for owner, status, priority, and predecessor. Keep those details beside the timeline so you can review schedule health without searching across multiple areas.
Use status colors carefully
You can use one bar color for all tasks and rely on the planning area for status. This creates a cleaner timeline.
Alternatively, create separate chart series for statuses such as Complete, In progress, and At risk. That approach gives you more visual detail, although it requires additional formulas and chart configuration.
For a small project, three status colors are usually enough. More colors can make a chart harder to scan.
Group tasks into phases
Add phase labels such as Discovery, Design, Build, Test, and Launch. You can place blank separator rows between phases or use a Phase column with filters.
For example, a software release may include four design tasks, six build tasks, and three testing tasks. The phase labels help you understand where work is concentrated.
Keep phase names short. Long labels can crowd the vertical axis and make task names difficult to read.
Mark today’s position
A vertical “today” marker helps you compare planned work with the current date. Google Sheets does not automatically add this marker to the basic chart, but you can approximate it with a helper series or a separate reference cell.
For a simple approach, place the current date in a clearly labeled cell:
=TODAY()
Review the chart alongside that value during weekly planning. For more advanced visual markers, add a second chart series and format it as a narrow contrasting bar.
Common Mistakes When Building a Timeline
Most problems come from small setup errors. You can avoid them by checking the chart logic before adding decoration.
Starting with an end date but no duration
The chart needs a duration value. An end date alone does not tell the chart how long the visible bar should be.
Calculate duration with the start and end dates. Then verify one row manually. If June 2 through June 4 should equal three days, the formula should return three.
Leaving the offset series visible
If the start-date series remains visible, every task displays an extra colored section. The result looks like two bars joined together.
Hide the offset series after selecting it in the Customize panel. If the chart still looks wrong, check that you selected Start Date rather than Duration.
Using too many tasks in one view
A timeline with 80 tasks can become difficult to read. The chart may technically work, yet the labels become crowded.
Create separate views for major phases, teams, or releases. A leadership view might show ten milestones, while a delivery view includes detailed tasks.
Forgetting to update dependencies
Changing one date does not automatically move every related task in a basic Google Sheets chart. A delayed design review can leave the build task unchanged.
Review predecessor relationships during each planning session. If your schedule has frequent cascading changes, you may need a platform with native dependency management.
Natural Project Timeline Solution: ONES.com

Value Proposition
ONES.com combines project management and knowledge management in one platform powered by ONES Assistant. ONES Project is a Jira alternative for teams that need structured planning, reporting, workflows, and deployment flexibility.
It can replace a manually maintained timeline when your project involves many tasks, dependencies, teams, or recurring updates. ONES Project and ONES Wiki are sold separately, so you can select the capability your team needs.
Core Capabilities
- Scattered task planning → ONES Project centralizes tasks, owners, dates, and status → You get one schedule that is easier to review.
- Manual chart updates → Custom workflows and automation handle repeatable transitions → Tasks can move through agreed stages with less administrative work.
- Limited visibility in a basic timeline → Built-in reporting provides project-level views → You can identify delays, workload concerns, and progress trends sooner.
- Complex sprint planning → Sprint management supports iterative delivery → Teams can connect sprint commitments with broader project milestones.
- Rigid task fields → Custom fields capture priorities, risks, release details, and ownership → Your planning model can match the way your team operates.
- Too many separate plugins → Jira-compatible workflows and native capabilities reduce plugin dependence → Administrators can manage a more consistent environment.
- Concerns about hosting restrictions → ONES.com supports Cloud, On-Premise, Private Cloud, and Air-gapped deployments → You can choose an environment that fits your security requirements.
- Different behavior between hosted and self-managed environments → Full feature parity supports consistent use → Teams can move between deployment models with fewer workflow changes.
Application Scenarios
Product launch planning: A product team can connect discovery tasks, design reviews, engineering work, testing, and launch milestones. Reports show whether a slip in one phase threatens the release date.
Software delivery: An engineering team can manage sprints, custom workflows, automation, and release planning in the same environment. A timeline view supports planning, while detailed task records support daily execution.
Restricted-network projects: A regulated team can choose an on-premise, private cloud, or air-gapped deployment. This supports controlled project operations where a public cloud setup may not fit internal requirements.
Common Challenges and Practical Fixes
Challenge: The timeline becomes outdated
Why it happens: People update the task area but forget to adjust dates, durations, or chart ranges.
Practical fix: Keep formulas in the Duration column, set a weekly review habit, and include schedule updates in the project meeting agenda.
Challenge: The chart is too crowded
Why it happens: Every small activity appears in one view, leaving little room for readable labels.
Practical fix: Separate high-level milestones from detailed work. Use one timeline for leadership updates and another for the delivery team.
Challenge: Weekend planning creates confusion
Why it happens: Some tasks use calendar days while others use workdays.
Practical fix: Decide whether the project uses calendar or working days. Apply the same duration formula across all tasks.
Challenge: Dependencies are hard to maintain
Why it happens: A basic chart displays dates but does not automatically shift connected tasks.
Practical fix: Add a predecessor column and review linked tasks after every schedule change. Consider a project management platform when dependency chains become extensive.
Challenge: Team members cannot tell what needs attention
Why it happens: The timeline shows dates, yet risks and ownership remain unclear.
Practical fix: Add owner, status, priority, and risk columns. Use conditional formatting to highlight late or at-risk work.
FAQs
Can Google Sheets create a real Gantt chart?
Google Sheets can create a functional Gantt-style timeline with a stacked bar chart. You enter task names, dates, and durations, then hide the start-date series. It works well for small and medium plans. However, it does not provide every feature found in dedicated project management software, such as automatic dependency shifts or advanced baseline tracking.
What formula calculates task duration?
For calendar days, use =C2-B2+1 when the start date is in B2 and the end date is in C2. The plus-one counts both the first and last day. For Monday-through-Friday workdays, use =NETWORKDAYS(B2,C2). Choose one method and use it consistently throughout the project.
Why does my stacked bar chart start at the wrong date?
The date values may be formatted as text, or the chart may be using the wrong data range. Apply a date format to the Start Date column and confirm that the chart includes the task, start-date, and duration values. Also check that the chart type is stacked bar rather than standard bar.
Can I show task progress in the chart?
Yes. You can add a progress column and create extra chart series for completed and remaining portions. That setup requires more formulas and careful formatting. For a simple plan, keep the timeline focused on dates and show progress with a status column or conditional formatting beside the chart.
How do I show milestones?
Create a one-day task with identical start and end dates, then label it clearly as a milestone. You can give it a different color through a separate series or highlight the row in the planning area. For many milestones, a dedicated milestone view may be easier to read than adding every marker to one crowded chart.
Conclusion
A Gantt-style timeline in Google Sheets is useful when you need a clear visual schedule without adopting a dedicated project platform. Build it with task names, start dates, end dates, duration formulas, and a stacked bar chart.
Remember the seven-step workflow: prepare the planning columns, calculate duration, select the chart range, insert a stacked bar chart, hide the start-date series, format the timeline, and add milestones or progress details.
But here’s the truth: a simple chart works best when the schedule is small and changes are limited. As dependencies, reporting needs, and team coordination grow, ONES.com can provide a more structured project environment through ONES Project, custom workflows, automation, reporting, and flexible deployment options.
Start with the Google Sheets method for a quick visual plan. Move to a fuller project workflow when maintaining the timeline takes more effort than managing the work itself.