BRC Academy · Microsoft Project

Gantt chart formatting

An owner's master schedule is read by more people than the scheduler: the project manager, the steering committee, the lender's monitor, sometimes a board. Most of them read the Gantt chart and nothing else. Formatting in Microsoft Project is therefore not decoration. It decides whether a reader sees the contract milestones, the critical path and today's date at a glance, or sees a wall of identical blue bars. This lesson covers the tools on the Gantt Chart Format tab and how to build a formatting standard that survives every monthly update.

Learning outcomes

  • Find the formatting tools on the Gantt Chart Format tab and switch on critical, slack, late and baseline bars.
  • Create and edit bar styles in the Bar Styles dialog, using Show For Tasks conditions and bar text.
  • Change text styles, gridlines and date lines without formatting tasks one by one.
  • Save a formatted owner's view and reuse it in other files with the Organizer.

The lesson

Rules, not paint

Microsoft Project formats the Gantt chart in two ways. Bar styles are rules: "every task that meets this condition gets this bar." Direct formatting is paint: "this bar is green." Rules follow the schedule as it changes. Paint stays on whatever task you put it on, even after that task stops being critical or gets renumbered. A good owner's Gantt is built almost entirely from rules.

Formatting also belongs to a view. Changes made in one Gantt Chart view do not carry into other Gantt Chart views [1], and text style changes in one view do not affect others [2]. That is useful: you can keep a plain working view for editing and a formatted reporting view for the monthly report. It also means you need to know which view you formatted.

Parts of a formatted Gantt chart A diagram of a small Gantt chart with seven numbered callouts. 1: the two-tier timescale at the top. 2: a summary bar spanning its subtasks. 3: a thin baseline bar under a task bar. 4: a critical task bar in a highlight colour. 5: a total slack line after a non-critical task. 6: a milestone diamond with bar text to its right. 7: a vertical status or current date line. A link line connects one task to the next. April 2027May 2027 51219263101724 3 Foundations 3.1 Footings 3.2 Slab-on-grade 3.3 Underslab drain M4 Slab complete Fri May 14 1 2 3 4 5 6 7 1 Timescale: two tiers shown by default 2 Summary bar spans its subtasks 3 Baseline bar (Bar Styles, Baseline list) 4 Critical task (Critical Tasks check box) 5 Total slack line (Slack check box) 6 Milestone with bar text on the right 7 Status or current date gridline
Figure 1. The parts of a Gantt chart an owner's view should control (diagram, not a screenshot; illustrative dates). In Project the critical style shows red bars by default; this figure uses the BRC highlight colour. Source: BRC, based on Microsoft Support, Format the bar chart of a Gantt Chart view and Work with the Gantt Chart view [1][4], and the Microsoft Learn Project VBA reference for the Bar Styles group [5]–[7].

The Gantt Chart Format tab

When a Gantt Chart view is showing, the ribbon adds a Gantt Chart Format tab (older guides call it the Format tab under Gantt Chart Tools) [1][5]. Four parts of it do most of the work.

  • Gantt Chart Style gallery. One click restyles every bar in the view [1]. Handy for a quick colour change; it does not add information.
  • Bar Styles group check boxes. Critical Tasks turns on the critical style [5]; Microsoft's critical path help says critical tasks then show red bars [8]. Slack adds the slack style [6] and Late Tasks the late style [7]. The Baseline list shows any of the saved baselines, 0 to 10, as bars [9]. Baselines are set in Lesson 21; until then the list has nothing to show.
  • Layout. Sets the date format used in bar text, the bar height and how link lines are drawn, including hiding them [1].
  • Format > Text Styles and Gridlines. Font rules for whole categories of rows, and lines across the chart [2][3].

Critical is only as good as the logic underneath it. If the schedule has open ends or hard constraints, the red bars will be wrong in a very convincing way. Lesson 11 covers how Project decides what is critical; Lesson 12 covers the constraints that distort it.

Screenshot to come
Screenshot to come: Project Professional 2024, NDC_OwnerMaster_2027-01-11.mpp, Gantt Chart view with the Gantt Chart Format tab selected; ribbon cropped to show the Format group (Text Styles, Gridlines, Layout), Columns group, Bar Styles group with Critical Tasks, Slack and Late Tasks checked and the Baseline drop-down open, and the Gantt Chart Style gallery

The Bar Styles dialog

Double-click an empty part of the chart, not a bar, to open Bar Styles [1]. Each row is one rule. The columns that matter:

  • Name labels the style in the legend. Put an asterisk in front of the name to keep it off the printed legend [1].
  • Show For Tasks is the condition, such as Normal, Critical, Milestone or Summary. Separate conditions with commas; type "not" in front of one to exclude it [1]. A task must meet every condition in the list to get the style.
  • From and To are the date fields the bar runs between. Use the same field in both and you get a single-date symbol, which is how milestones are drawn [1].
  • The Bars tab sets start, middle and end shapes, patterns and colours. The Text tab places fields to the left, right, top, bottom or inside the bar [1].

To add a rule, select a row and choose Insert Row; to copy one, use Cut Row and Paste Row [1]. Order matters: rows lower in the list draw on top of rows above them, so a highlight style for a few tasks goes near the bottom.

The most useful owner trick is a flag. Add the Flag1 column to the table (right-click a heading, Insert Column), set it to Yes on the tasks you want to stand out, then add a bar style whose Show For Tasks reads Milestone, Flag1. Every flagged milestone now gets its own symbol and text, and the rule keeps working after tasks move or are renumbered.

Three rows of the Bar Styles dialog, including a custom contract milestone style A diagram of three Bar Styles rows with columns Name, Appearance, Show For Tasks, and From to To. Row 1, Task: a blue bar, shown for Normal tasks, from Task Start to Task Finish. Row 2, Milestone: a navy diamond, shown for Milestone, from Task Finish to Task Finish. Row 3, highlighted, Contract milestone: a larger orange diamond, shown for Milestone, Flag1, from Task Finish to Task Finish, with Name as text on the right. Notes below explain that commas combine conditions, the word not excludes a condition, an asterisk hides a style from the printed legend, and the same field in From and To draws a single-date symbol. NameLookShow For TasksFrom → To TaskNormalTask Start →Task Finish MilestoneMilestoneTask Finish →Task Finish ContractmilestoneMilestone,Flag1Task Finish →Task Finish Comma combines conditions: milestone AND flagged not excludes one, e.g. "Milestone, not Flag1" *Name hides the style from the printed legend Same From and To draws a one-date symbol Text tab, Right: Name; Left: Finish Lower rows draw on top of higher rows
Figure 2. How a bar style rule reads, with a custom "Contract milestone" row driven by the Flag1 field (diagram of the dialog's logic, not a screenshot). Source: BRC, based on Microsoft Support, Format the bar chart of a Gantt Chart view [1].

Single bars, text styles and gridlines

Sometimes you do need paint. Double-click a bar itself to open Format Bar for that one task; its Bar Text tab places text the same way as the Text tab in Bar Styles [1]. Right-clicking a bar lets you pick a fill colour to highlight it [1]. Use both sparingly and record why, because neither follows the task's status.

Format > Text Styles changes the font for a category of rows, such as summary tasks or milestones, or for All text in the view [2]. It is the rule-based way to make summary rows bold and milestones a different colour. Text styles cannot be changed in some views, such as the Task Form and the Network Diagram [2].

Gridlines are horizontal and vertical lines across the chart. Right-click the chart and choose Gridlines, or use Format > Gridlines, then pick a line in Line to change and set its type and colour, plus an interval line if you want banding [3][4]. The two that matter for an owner are the date lines. Bars show scheduled dates and do not move with progress, so Microsoft suggests a Current Date line to compare against [4]. For a monthly report, a Status Date line is better still: it marks the date the update is measured to, not the day someone printed it.

Make it a view, then reuse it

Once the formatting works, save it as its own view: on the View tab, open the Gantt Chart drop-down and choose Save View, giving it a name such as "NDC Owner Gantt". To use the same view in another file, copy it with the Organizer, under File > Info > Organizer [2]. A firm-wide reporting view is one of the cheapest controls an owner can have: every project's Gantt reads the same way.

Northgate worked example

Northgate Distribution Centre (fictional) is a 12,000 m² tilt-up warehouse in Vaughan, Ontario, for Northgate Logistics Inc. (fictional), delivered under a CCDC 2-2020 stipulated price contract with Halvorsen Builders Ltd. (fictional). The owner's master schedule, NDC_OwnerMaster_2027-01-11.mpp, goes into a monthly owner's report and a quarterly steering committee pack (see the Northgate fact sheet). The scheduler builds one reporting view, "NDC Owner Gantt", with five rules.

  1. Contract milestones stand out. M0 to M11 have Flag1 set to Yes. A "Contract milestone" style (Show For Tasks: Milestone, Flag1) draws them as a larger diamond with the task name on the right and the finish date on the left.
  2. Critical and slack on. Critical Tasks and Slack are checked in the Bar Styles group, so readers see the driving path and how much room the other work has.
  3. Baseline under the bars. Once the baseline is set (Lesson 21), Baseline is selected in the Baseline list so slippage is visible without a second report.
  4. Bold summaries. Text Styles makes summary rows bold, so the ten level-2 WBS elements from the fact sheet read as headings.
  5. Status date line. A solid line at the status date of each update, in the highlight colour.

Figure 3 shows the milestone band of that view at an illustrative status date of Fri Jul 30, 2027. Completed milestones are grey; those still ahead are navy; M9, the contractual Ready-for-Takeover and Substantial Performance target, is in the highlight colour.

Northgate contract milestones in the owner's reporting view A milestone chart from January 2027 to April 2028 with twelve diamonds. M0 contract executed January 11, 2027; M1 kickoff January 19; M2 building permit February 26; M3 site mobilization March 1; M4 foundations and slab May 14; M5 panels erected June 25, 2027; these six are grey as achieved before the illustrative status date of July 30, 2027, shown as a vertical line. M6 roof weathertight September 3; M7 permanent power October 1; M8 commissioning starts November 1, 2027; M9 Ready-for-Takeover and Substantial Performance January 14, 2028, in orange; M10 racking and occupancy start January 17, 2028; M11 final completion March 31, 2028. Jan 27 Apr Jul Oct Jan 28 Apr M0 Contract executed M1 Kickoff meeting M2 Building permit issued M3 Site mobilization M4 Foundations and slab M5 Panels erected M6 Roof, weathertight M7 Permanent power M8 Commissioning starts M9 RFT / Substantial Perf. M10 Racking, occupancy M11 Final completion Status date, Jul 30, 2027 Achieved Ahead Contract completion (M9)
Figure 3. Northgate's twelve contract milestones as the owner's reporting view would show them at an illustrative status date of Fri Jul 30, 2027, assuming M0 to M5 were achieved on their baseline dates. Source: BRC, based on the Northgate fact sheet (milestone dates) and Microsoft Support, Format the bar chart of a Gantt Chart view [1].
View the data
IDMilestoneBaseline dateStatus at Jul 30, 2027 (illustrative)
M0Contract executedMon Jan 11, 2027Achieved
M1Kickoff meetingTue Jan 19, 2027Achieved
M2Building permit issuedFri Feb 26, 2027Achieved
M3Site mobilizationMon Mar 1, 2027Achieved
M4Foundations and slab completeFri May 14, 2027Achieved
M5Tilt-up panels erectedFri Jun 25, 2027Achieved
M6Roof complete, weathertightFri Sep 3, 2027Ahead
M7Permanent powerFri Oct 1, 2027Ahead
M8Commissioning startsMon Nov 1, 2027Ahead
M9Ready-for-Takeover / Substantial PerformanceFri Jan 14, 2028Ahead (contract completion target)
M10Racking and occupancy startMon Jan 17, 2028Ahead
M11Final completionFri Mar 31, 2028Ahead

The scheduler then checks the view in black and white. Critical bars and the M9 diamond must still be identifiable by shape or text when printed in greyscale, because steering committee packs often are. The "Contract milestone" style has a bigger diamond and the M-number in its name, so it passes.

Screenshot to come
Screenshot to come: Project Professional 2024, NDC_OwnerMaster_2027-01-11.mpp, Bar Styles dialog (double-click the chart background) with the custom "Contract milestone" row selected, Show For Tasks set to "Milestone, Flag1", From and To both Task Finish, and the Text tab showing Right = Name and Left = Finish
Screenshot to come
Screenshot to come: Project Professional 2024, NDC_OwnerMaster_2027-01-11.mpp, saved view "NDC Owner Gantt", table collapsed to outline level 2 with the Flag1 column visible, timescale Quarters over Months, M0 to M11 shown with the Contract milestone style, Critical Tasks and Slack on, and the status date gridline visible

Owner's move

  • Write a formatting standard. One page: what each colour and shape means, which date line is shown, and which baseline is displayed. Attach it to the schedule specification for the owner's own consultants and vendors.
  • Use rules, not paint. Ask for flagged fields and bar styles, not hand-coloured bars. Hand colouring goes stale the first time the schedule moves.
  • Keep a working view and a reporting view. Edit in a plain Gantt; publish from the saved owner view.
  • Show the status date. Every printed Gantt should say what date it is measured to.
  • Do not let formatting hide logic problems. Red bars from a badly linked schedule are still wrong. Review logic first.

Common mistakes

  1. Hand-colouring critical tasks. The colour stays after the task stops being critical, and the report lies.
  2. Formatting one view and printing another. Formatting belongs to a view [1]. Save and name the reporting view.
  3. Relying on colour alone. Greyscale printing and colour-blind readers lose the meaning. Add shape or text.
  4. Too many bar styles. A legend with fifteen entries is not read. Keep it to what the reader needs to decide.
  5. Using the current date line on a monthly report. It moves every day. The status date is what the update is measured to.

Quick quiz

  1. How do you open the Bar Styles dialog?

    1. Double-click a task bar
    2. Double-click an empty part of the chart
    3. Right-click the timescale
    4. File > Options > Display
  2. Where is the Critical Tasks check box?

    1. Task tab, Schedule group
    2. View tab, Data group
    3. Gantt Chart Format tab, Bar Styles group
    4. Project tab, Properties group
  3. A bar style's Show For Tasks reads "Milestone, Flag1". Which tasks get it?

    1. All milestones and all flagged tasks
    2. Milestones that have Flag1 set to Yes
    3. Only tasks with no flag
    4. Every task in the view
  4. You change text styles in the Gantt Chart view. What happens in the Tracking Gantt view?

    1. It changes too
    2. Nothing; text styles are set per view
    3. It resets to defaults
    4. It is deleted
  5. Which tool copies a saved view into another project file?

    1. The Organizer
    2. Bar Styles
    3. Text Styles
    4. Gantt Chart Style gallery
Show answers and explanations
  1. B. Double-click the chart area, not a bar, to open Bar Styles. Double-clicking a bar opens Format Bar [1].
  2. C. Critical Tasks is a check box in the Bar Styles group of the Gantt Chart Format tab [5].
  3. B. Conditions separated by commas must all be met, so only flagged milestones get the style [1].
  4. B. Text styles vary by view; changes in one view do not affect others [2].
  5. A. The Organizer, under File > Info, copies views and other elements between files [2].

Key terms

Bar style
A rule in the Bar Styles dialog that sets the look of bars for tasks meeting a condition.
Show For Tasks
The condition a bar style applies to, such as Critical, Milestone or a flag field.
Format Bar
The dialog for formatting one task's bar directly.
Text styles
Font rules for categories of rows in a view.
Gridline
A line across the chart, including date lines such as Current Date and Status Date.
Organizer
The tool for copying views, tables and other elements between Project files.

References

  1. Microsoft. Format the bar chart of a Gantt Chart view. Microsoft Support.
  2. Microsoft. Change the font for all text using styles. Microsoft Support.
  3. Microsoft. Format Gridlines dialog box. Microsoft Support.
  4. Microsoft. Work with the Gantt Chart view. Microsoft Support.
  5. Microsoft. Application.GanttBarStyleCritical method (Project). Microsoft Learn, Office VBA reference.
  6. Microsoft. Application.GanttBarStyleSlack method (Project). Microsoft Learn, Office VBA reference.
  7. Microsoft. Application.GanttBarStyleLate method (Project). Microsoft Learn, Office VBA reference.
  8. Microsoft. Show the critical path of your project in Project. Microsoft Support.
  9. Microsoft. Application.GanttBarStyleBaseline method (Project). Microsoft Learn, Office VBA reference.

Verified on November 6, 2026.

Next lesson in this trackResource sheet

PMI, PMP and PMBOK are registered marks of the Project Management Institute, Inc. Oracle and Primavera are trademarks of Oracle. Microsoft Project is a trademark of Microsoft. BRC Academy is not affiliated with or endorsed by these organizations.

← All BRC Academy lessons

Have a program that's slipping, or about to start?

Book a 30-minute call. We'll tell you where your schedule and budget are exposed, and what an owner's rep would change, before you commit to anything.