Live training: next batches coming soon. Join the waitlist:Waitlists open:Developer Training →Developer →Copilot Studio Training →Copilot Studio →

SharePoint Gantt Chart: Create a Gantt View in a SharePoint List (2 Ways)

A SharePoint Gantt chart comes from the Gantt View of a Tasks list: add the Tasks app, then pick Gantt View under LIST > Create View. Modern lists don’t offer that view type, so there you draw the bars with JSON view formatting.

In this tutorial, I’ll show you both ways to build a sharepoint gantt chart: the classic Gantt View with progress and dependency arrows, and a JSON Gantt view for a modern list in Microsoft Lists. I’ll also cover Power BI and Planner.

Here’s the shortest path for the classic version:

Settings (gear) > Add an app > Tasks > Name > Create
LIST tab > Create View > Gantt View
Gantt Columns: Title = Task Name, Start Date = Start Date, Due Date = Due Date > OK

You get a task grid on the left and a timeline with one bar per task on the right.

What Is a Gantt Chart View in SharePoint?

A Gantt chart shows each task as a bar on a calendar: it starts on the start date, ends on the due date, and fills in as work gets done.

In SharePoint, it’s just another type of SharePoint list view, so your data doesn’t change. Only classic Tasks lists have a real Gantt View; modern lists need JSON.

Method 1: Create a Gantt Chart View Using a SharePoint Tasks List

This built-in way still works in SharePoint Online in October 2026. I built it on our SPGuides demo site for a website launch. More list basics are in our SharePoint tutorials.

Step 1: Add a Tasks list and tasks

Select the gear icon > Add an app. On the Your Apps page, pick Tasks under Noteworthy, enter a name and select Create:

Adding Tasks dialog in SharePoint with the name Website Launch Tasks and the Create button

The list already has Task Name, Start Date, Due Date, % Complete and Predecessors, plus a ready-made Gantt Chart view. I added 8 tasks from 11/2/2026 to 12/14/2026 and set Predecessors, so Go live waits on testing and training.

Step 2: Create the Gantt View

The Tasks list opens in the classic UI. Select the LIST tab, then Create View:

Classic SharePoint LIST ribbon tab with the Create View button highlighted

On the View Type page, choose Gantt View:

SharePoint View Type page with the Gantt View option highlighted next to Standard, Datasheet and Calendar

Enter a View Name (mine is Launch Timeline) and keep it a Public view:

SharePoint Create View page with the view name Launch Timeline entered for the Gantt view

Step 3: Map the Gantt columns

In Gantt Columns, Title, Start Date and Due Date are required; Percent Complete (the darker fill) and Predecessors (the arrows) are optional. I mapped each to the column of the same name:

Gantt Columns section mapping Task Name, Start Date, Due Date, % Complete and Predecessors

Under Sort, pick Start Date, then select OK. Here’s the result on our demo site:

SharePoint Gantt chart view Launch Timeline with task bars, percent complete fill and predecessor arrows

The chart shows weeks from 11/1/2026 to 12/13/2026, a darker fill for % complete and arrows to each predecessor. To change the mapping later, use LIST > Modify View.

Method 2: Build a Gantt Chart in a Modern List With JSON

In a modern list, the Create view dialog offers only List, Calendar, Gallery and Board:

Modern SharePoint Create view dialog offering only List, Calendar, Gallery and Board, no Gantt option

So the Gantt look comes from view formatting, in the same menu you’d use for a board view in a SharePoint list.

Step 1: Create the list and view

I created a Website Launch Plan list in Microsoft Lists with Title, Start Date and End Date (date only, required), Progress (number as a percentage) and Status. Then I made a view sorted by Start Date and picked Format current view:

Modern SharePoint list view dropdown with the Format current view option highlighted

Step 2: Paste the JSON

On the Format view tab, select Advanced mode and replace the editor’s contents with this JSON:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/row-formatting.schema.json",
  "hideSelection": false,
  "hideColumnHeader": true,
  "rowFormatter": {
    "elmType": "div",
    "style": {
      "display": "flex",
      "align-items": "center",
      "width": "100%",
      "padding": "6px 0",
      "border-bottom": "1px solid #edebe9"
    },
    "children": [
      {
        "elmType": "div",
        "txtContent": "[$Title]",
        "style": { "width": "210px", "padding-left": "8px", "font-weight": "600" }
      },
      {
        "elmType": "div",
        "txtContent": "=toLocaleDateString([$StartDate]) + ' - ' + toLocaleDateString([$EndDate])",
        "style": { "width": "180px", "font-size": "12px", "color": "#605e5c" }
      },
      {
        "elmType": "div",
        "style": { "position": "relative", "flex-grow": "1", "height": "22px", "background-color": "#f3f2f1" },
        "children": [
          {
            "elmType": "div",
            "attributes": { "title": "=[$Title] + ': ' + ([$Progress] * 100) + '% complete'" },
            "style": {
              "position": "absolute",
              "top": "3px",
              "height": "16px",
              "border-radius": "3px",
              "background-color": "#a6d8db",
              "left": "=((Number([$StartDate]) - Number(Date('2026-11-01T00:00:00Z'))) / 86400000) * 2 + '%'",
              "width": "=(((Number([$EndDate]) - Number([$StartDate])) / 86400000) + 1) * 2 + '%'"
            },
            "children": [
              {
                "elmType": "div",
                "style": {
                  "height": "100%",
                  "border-radius": "3px",
                  "background-color": "#038387",
                  "width": "=([$Progress] * 100) + '%'"
                }
              }
            ]
          }
        ]
      }
    ]
  }
}

Select Preview, then Save. My panel before saving:

Format view panel in a SharePoint list with the Gantt chart JSON pasted into the advanced mode editor

Each row now shows the task name, its dates and a bar on the timeline:

Modern SharePoint list with a JSON Gantt chart view showing task bars and progress fill

The light teal bar is the duration, and the darker part is progress. Unlike the classic view, there are no dependency arrows.

How to Change the Dates in the Gantt JSON

left counts the days from 11/1/2026 to the task’s start and multiplies by 2%. width is the task’s length in days plus one, times 2%. My window is 50 days, and 100 / 50 = 2.

For your project, replace 2026-11-01 with your start date and both 2 multipliers with 100 divided by your window’s days (90 days = 1.11).

Use internal column names. The same rules apply to calendar view formatting and list form JSON formatting.

Can You Make a Gantt Chart From a SharePoint List in Power BI?

Yes, when a manager wants a report rather than a list view. In Power BI Desktop, select Get data > SharePoint Online list and paste the site URL, not the list URL.

Load the list, add a Gantt visual from AppSource (Get more visuals), and map the task, start date and duration. See how to create a report in Power BI Desktop; edits still happen in SharePoint.

Which Gantt Chart Method Should You Use?

NeedBest option
Built-in Gantt with dependency arrowsClassic Tasks list + Gantt View
Modern list or Microsoft ListsJSON view formatting
Management reportPower BI Gantt visual
Drag-to-reschedule, all dependency types, critical pathPlanner premium plan (Timeline view)

I still reach for the classic Gantt View first. The JSON view suits teams that live in Microsoft Lists and only need a visual timeline.

SharePoint Gantt View Problems and Fixes

Gantt View isn’t offered

It only appears for a Tasks list in the classic LIST > Create View page. Custom and modern lists don’t get it; use the JSON method there.

A task shows no bar

Its Start Date or Due Date is empty. Make both date columns required so every task can be drawn.

JSON bars run off screen

The task falls outside your window. Move the start date in the JSON or lower the multiplier to cover more days.

I’d read these next if you’re organizing project lists in SharePoint:

Frequently Asked Questions

Does SharePoint have a Gantt chart?

Yes. Classic Tasks lists have a Gantt View that shows each task as a bar, with percent complete and predecessor arrows. Modern lists don’t have a Gantt view type, so you use JSON view formatting there.

How do I create a Gantt chart in Microsoft Lists?

Add Start Date and End Date columns (required), create a list view, then open Format current view, select Advanced mode and paste Gantt JSON that uses rowFormatter to draw a bar for each item.

Is Microsoft Planner better than a SharePoint Gantt view?

For bigger projects, yes. A Planner premium plan has a Timeline (Gantt) view with all four dependency types and a critical path. It needs a premium license; a SharePoint list view works with any license.

Can I make a Gantt chart from a SharePoint list in Power BI?

Yes. Connect Power BI Desktop with Get data > SharePoint Online list, load the list and add a Gantt visual from AppSource. The report reads the list; edits still happen in SharePoint.

Where is SharePoint view formatting documented?

Microsoft explains rowFormatter, Format current view and the JSON schema in Use view formatting to customize SharePoint.

1 thought on “SharePoint Gantt Chart: Create a Gantt View in a SharePoint List (2 Ways)”

  1. It should be noted that this is for classic Sharepoint, and gantt views are not supported in modern Sharepoint Lists. They can be created in the settings page, and viewed using the generated URL, but you cannot use the view switcher to get to them and they cannot be added to Teams as a Lists tab.

Leave a Comment