Gantt Chart Maker

Project and tasksDates and dependenciesReview and progressExport

Build your project schedule

Add task names, dates, one predecessor per task, and completion progress.

Turn a task list into a practical project schedule with dated bars, finish-to-start dependencies, and progress overlays. Add up to 24 tasks, set each start and end date, connect a task to one predecessor, and check the chart for invalid ranges, overlapping dependencies, or circular links. The timeline uses real calendar-day spacing, so a two-week gap is visibly longer than a two-day gap. When the schedule is ready, print it or export an SVG chart and a CSV task table.

How to make a Gantt chart

  1. 1

    List the project tasks

    Name the project, add task rows, and keep each task focused on one deliverable or activity.

  2. 2

    Set dates and links

    Enter each calendar date range and choose an optional predecessor to draw a finish-to-start dependency link.

  3. 3

    Review and export

    Update progress, resolve any date or dependency warnings, then download SVG or CSV or print the completed chart.

How the chart calculates task positions

A Gantt chart combines a task table with a horizontal time scale. This maker treats every accepted date as midnight UTC, which prevents daylight-saving changes from making one calendar day look shorter or longer than another. It finds the earliest task start and latest task end, then calculates each bar from three values:

start offset = (task start − project start) ÷ 86,400,000 milliseconds

bar width = inclusive task days ÷ inclusive project days × plot width

The end date is inclusive. A task that starts and ends on the same date therefore occupies one day rather than disappearing as a zero-width bar. The darker progress overlay uses bar width × progress ÷ 100, with progress constrained to 0 through 100.

Worked example

Suppose the project runs from January 1 through January 20, giving 20 inclusive calendar days and an 894-pixel plot. A Research task from January 1 through January 3 has an offset of 0 and a bar width of 3 ÷ 20 × 894 = 134.1 pixels. A Design task from January 5 through January 8 starts 4 ÷ 20 × 894 = 178.8 pixels into the plot; at 50% progress, its darker overlay is 89.4 pixels wide. A one-day Launch task on January 20 starts at 19 ÷ 20 × 894 = 849.3 pixels. If Design depends on Research, it must start on January 4 or later because the predecessor’s end date is included.

What the dependency check means

Each task can have one finish-to-start predecessor. In this common relationship, the successor should start after the predecessor’s inclusive end date. The editor draws a connector from the predecessor bar to the successor bar and reports a conflict when the successor starts on or before that date. It also detects self-links, missing predecessors, and dependency cycles such as A depending on B while B depends on A. These issues block export until they are corrected, but the chart remains visible to help diagnose the schedule.

Check Accepted Reported as an issue
Date format A real date from 1900 through 2200 Missing or impossible date
Task range End is on or after start End is before start
Dependency One existing predecessor that ends before the successor starts Self-link, missing task, overlap, or cycle
Progress 0 to 100 percent Values are constrained to the supported range
Project size Up to 24 task rows Additional rows are refused

Reading and sharing the result

Bar spacing is based on calendar days, not working days. Weekends and public holidays remain part of the scale. SVG preserves the vector chart for documents and presentations, CSV preserves the underlying task table, and Print lets the browser create paper output or a PDF. CSV cells that could be interpreted as spreadsheet formulas are prefixed as text before download.

This is a manual planning aid. It does not calculate a critical path, allocate resources, apply working calendars, support lead or lag, or automatically move successor dates. For those needs, use dedicated project scheduling software. Here, the dates you enter remain authoritative, and dependency warnings identify where manual correction is needed.

Frequently Asked Questions

Yes. A task from June 1 through June 3 is shown as three calendar days. A task with the same start and end date is shown as a one-day bar.

Each task can select one finish-to-start predecessor. The successor should start after the predecessor end date because both task ranges include their end dates. The tool reports overlaps instead of silently changing your dates.

Every task in the circular chain is marked with a dependency-cycle warning. Export and print controls remain unavailable until a predecessor is removed or changed.

No. The horizontal scale uses consecutive calendar days. The tool does not apply a working calendar, regional holidays, resource availability, lead, lag, or critical-path scheduling.

No. Project names, task names, dates, dependencies, and progress stay in browser memory and session storage. The tool does not place them in the page link or send them in requests to our servers. Closing the browser tab or session can remove the saved copy.

Related Tools

Tool available in other languages