Projects

Free Gantt chart maker

Type the tasks and the schedule draws itself beside them. Drag a bar and everything that depended on it reschedules on its own. The critical path is worked out and highlighted without you asking. And there is no sign-up: what you make lives in a file of yours, or in a link.

No sign-up · all in your browser

Your schedule never leaves this page: no account, no server.

Why this asks for no account

To build a ten-task schedule, project management tools want an email, a password, sometimes a card, and then drop you into a workspace with invitations and notifications. What you wanted was a picture with some bars on it.

There is no sign-up here because none is needed: the calculation and the drawing happen in your browser, and what you type goes nowhere. To keep it there are two routes, and both are yours: a file you download and reopen whenever you want to carry on, and a link that carries the project inside it. That link keeps the schedule after the hash — the part of an address the browser does not send to the server — so not even opening it puts your project anywhere.

How it works, in 3 steps

  1. Type the tasks

    Name, when it starts, how many days it takes, who owns it and which task it depends on. Or load a template and change it.

  2. Watch the schedule

    It draws as you type, with the critical path in red, milestones as diamonds and a line for today. Drag the bars to adjust.

  3. Take it with you

    PNG or SVG to paste, landscape PDF to print, CSV for the spreadsheet, and the file or the link to carry on editing.

What people use it for

The critical path, which is the thing worth knowing

In any schedule some tasks can slip without consequence and some cannot. The critical path is the chain of the second kind: the longest sequence of linked tasks from start to finish. If one of them slips a day, the whole project finishes a day later. The rest have float: days they can move without anything happening.

It comes out of two passes. Forward, the earliest each task can start and finish. Backward, from the end of the project, the latest each one could start without pushing it out. The gap between those two is the float, and the tasks with zero float are the critical path.

The detail that separates a correct calculation from one that merely looks correct: the critical path is not the branch with the most tasks. A chain of five one-day tasks has float against a single eight-day task running alongside it. That is why the backward pass is needed, and why counting which list is longest does not work.

Working days and holidays

Duration is counted in working days, not calendar days. A three-day task starting on a Friday finishes on Tuesday. Tick which days of the week are worked — there are six-day weeks, and teams that don't work Mondays — and add whatever one-off holidays you need.

Nothing has to be recalculated when you add a holiday: that day stops counting and everything behind it shifts on its own. It is the same thing the weekend does, only loose.

Dependencies, milestones and dragging

A task can depend on others: write their numbers separated by commas and it starts when the last of them has finished. The arrows in the chart are exactly that. If you write a circular dependency — A depends on B and B on A, which is what happens when you pick the wrong row — it is detected, you are told, and the link closing the loop is ignored, instead of the tool hanging.

A milestone is a zero-day task: a diamond marking a moment, not a period. A contract signed, a delivery, a deadline. A milestone consumes no time: dropping one into the middle of a chain does not add a single day to the project.

When you drag a bar, everything that depended on it moves with it. Backwards too: pull a task earlier and the ones behind it come earlier. That works because the date of a task with predecessors is not stored, it is derived. Tools that store each task's date drag well forwards and leave gaps going back.

The delay status lights

From the line for today and each task's percentage done, the tool sorts them by itself: done, on track, at risk and behind. It does not simply check whether the finish date has passed, because that warns you too late: a twenty-day task sitting at 10% halfway through is already in trouble, however many days are left on the calendar.

Gantt words, in one table

TermWhat it isWhere you see it here
TaskA piece of work with a duration. The bar in the chart.Every row of the table.
MilestoneA moment with no duration: a signature, a delivery, a deadline.A diamond. Made by setting the duration to zero.
PhaseA group of tasks that belong together.Grey row with the summary bar. It collapses.
PredecessorThe task that has to finish before another one starts.The "Depends on" column and the arrows in the chart.
Critical pathThe chain of tasks where one day late means the project is one day late.Red bars, and the count in the status lights.
FloatThe days a task can move without delaying the project.A column in the CSV. Zero means critical.
Working dayA day that counts towards a duration.Set under the calendar button. The rest are shaded.
LagWaiting days between one task and the next.Created by dragging a task that has a predecessor.

What each button gives you

OutputWhat it isWhen to use it
PNGAn image of the chart, at double resolution.Pasting into an email, a document or a slide.
SVGThe same chart, but vector: it scales without going blurry.When it will print large, or somebody will edit it.
PDFLandscape A4, with the project name in the footer. If it doesn't fit, it spreads over several pages.Printing, or sending the plan to a client.
CSVThe schedule as calculated: real dates, float and the critical path flag.Taking it into a spreadsheet or another program.
FileThe whole project, to reopen here.Keeping it with the rest of the documents and carrying on another day.
LinkAn address with the project encoded inside it.Sending it to somebody by chat or email.

Frequently asked questions

Do I have to sign up or pay for anything?

No sign-up, no account, no paid tier and no task limit. The whole tool runs inside your browser.

To keep the project you have two ways, and both are yours: download the file and reopen it, or copy the link that carries the schedule inside it. Neither needs an account anywhere.

Is my schedule uploaded to a server?

No. Task names, owners and dates stay in your browser. That matters more than it sounds: a schedule carries people's names, client names and dates for things that have not been announced yet.

The sharing link keeps the project after the hash in the address, and the browser does not send that part to the server. Not even opening it puts your project into any log. With the page already loaded you can disconnect from the internet and check: it works exactly the same.

What is the critical path and what is it for?

It is the chain of tasks where one day late means the whole project is one day late. It tells you where to look: if you are tight on time, speeding up a task that is not on the critical path will not pull the finish date in by a single day.

Here it is worked out for you and drawn in red, and the float column in the CSV says how many days each task can move without consequence. The sum uses the backward pass from the end of the project, which is the only way it comes out right when there are parallel branches.

How do I stop weekends and holidays from counting?

Under the calendar button you tick which days of the week are worked and add the holidays one by one. From then on durations count working days only: a five-day task starting on a Thursday finishes the following Wednesday.

Adding a holiday needs nothing else: that day stops counting and everything behind it shifts by itself.

Can I move a task by dragging it?

Yes, with a mouse: drag the bar to move it and the right edge to make it longer or shorter. Everything that depended on that task repositions while you drag, not when you let go.

On phones and tablets fine dragging is awkward, so there it is better to edit the dates and durations in the table; the result is exactly the same.

What is the difference between saving the file and copying the link?

The file is for you: it downloads to your device, you keep it with the rest of the project's documents and you reopen it here whenever you want to carry on. It does not expire and it does not depend on this page still holding your data, because it never held it.

The link is for sending to someone by chat or email. It carries the schedule encoded inside, so whoever opens it sees your project and can carry on editing. It is a snapshot of the moment you copied it: change something later and you need to copy it again.

Can I open a Microsoft Project file here?

No. Project's .mpp and .xml formats are closed and complicated, and promising they open only to fail on half of them would be worse than saying this.

What you can do is take the schedule out of here as CSV and open it in a spreadsheet, or take the PDF and PNG into a presentation. To bring in a schedule you already have, the fastest route is typing the tasks into the table: with the dependencies in, the tool works the dates out.

How many tasks does it handle?

There is no fixed limit. The calculation is comfortable with hundreds of tasks; what gives first is the drawing, because a two-hundred-row schedule fits on neither a screen nor a sheet of paper.

In practice a readable plan has between ten and sixty tasks grouped into phases. If yours is bigger, group by phase and collapse the ones you are not looking at: the chart keeps the summary bars.

Why won't it let me type a start date for a task?

Because that task depends on another one, so its date is not typed: it follows from when the previous one finishes. That is what makes dragging reschedule in cascade.

If you want it to start later, drag its bar to the right: that stores an offset from the predecessor. If you want it to have a date of its own, clear the number in the “Depends on” column.

Related tools

If the project has people in several countries, the time zone meeting planner tells you when to put the meetings in this schedule so the same person isn't the one getting up at 5am every time.