What is actually driving your date?
Enter the work and what it waits on. This runs the forward and backward pass, finds every critical path, and shows which activities have room to move and which do not.
Critical path, float, and the dates that follow
Enter activities and what each waits on. This runs the forward and backward pass and tells you which work has no room to move.
Activities
Predecessors are comma-separated ids. Add a type and lag with a colon: A:FS+2, B:SS, C:FF-1. Plain A means finish-to-start with no lag. A duration of 0 makes it a milestone.
Calendar — optional, to get real dates
from..to for a range.Schedule
Forward and backward pass
Critical path
How this is calculated
Forward pass — earliest dates, working left to right. Each activity starts as soon as every predecessor relationship allows, and finishes a duration later.
Backward pass — latest dates, working right to left from the project finish. Each activity is pushed as late as it can go without delaying anything that follows.
total float = late start − early start. An activity with zero total float is on the critical path: it has nowhere to move.
free float is the different and more immediately useful number — how long an activity can slip before it moves any successor's earliest start. An activity can have plenty of total float and none of it free.
Scheduling happens in working days, then dates are applied. Doing the arithmetic on calendar dates directly is how schedulers produce tasks that start on a Sunday. Durations here are working days; the calendar maps them onto the week you actually work.
Finish dates are the last day worked. Internally a finish is the instant work stops, which is the day after — that distinction is the source of most off-by-one errors in scheduling, so it is handled once and consistently.
What the critical path actually tells you
The critical path is the longest chain of dependent work through the project. It is not the list of important activities, and it is not the difficult ones — it is the sequence with no slack, where a day lost is a day lost from the finish date.
That distinction matters when deciding where to put attention. Adding people to an activity with fourteen days of float achieves nothing at all for the end date. The same effort on a critical activity moves the whole project. Plenty of recovery plans fail because they accelerate the visibly troubled work rather than the work that is actually governing the finish.
Total float and free float are different questions
Total float asks how long an activity can slip before the project finishes late. Free float asks how long it can slip before it disturbs the next activity. They are frequently different, and the gap is where scheduling arguments come from.
An activity with ten days of total float but zero free float can slip a single day and immediately push a colleague's start date, even though the project end is untouched for another nine. If you tell that owner they have ten days of room, you are technically correct and practically wrong. This tool reports both for exactly that reason.
More than one critical path is normal
Parallel chains of equal length are all critical simultaneously, and shortening one of them buys nothing — the others still govern the finish. This is one of the most common ways a compression exercise wastes money: a week is bought out of one path, the finish date does not move, and nobody can explain why.
The tool lists every critical path it finds rather than picking one, because knowing there are three is the difference between a plan that works and one that spends its budget on a third of the problem.
Zero float is a modelling result, not a fact
Float falls out of the dependencies and durations you entered. A missing dependency invents float that does not exist in reality; an over-constrained plan removes float that does. When a schedule reports that almost everything is critical, the usual cause is not a genuinely tight project but a network wired more rigidly than the work actually is.