Critical Path Method Calculator

Enter your tasks, durations, and dependencies to compute the critical path, total project duration, earliest/latest start & finish, and float. Supports PERT three-point estimates. Runs entirely in your browser.

Try:
Schedule

About this tool

The Critical Path Method (CPM) turns a list of tasks — each with a duration and a set of predecessors that must finish first — into a full project schedule. This calculator runs the standard forward and backward passes to find:

Everything runs locally in your browser — no accounts, no uploads.

Input format

Enter one task per line as name, duration, predecessor, predecessor, ...:

A, 3
B, 4, A
C, 2, A
D, 5, B, C
E, 1, D

duration is a plain number, or a PERT three-point estimate optimistic/most-likely/pessimistic such as 2/4/9, which is reduced to the expected time (o + 4·m + p) / 6. Blank lines and lines starting with # are ignored.

Worked example

For the five tasks above, the tool reports a project duration of 13 and a critical path of A -> B -> D -> E. Task C is the only non-critical task: it has a duration of 2 but sits on a branch with 2 units of slack (total float), so it can slip up to 2 time units without delaying the project. The per-task table shows, for example, that C has earliest start 3, earliest finish 5, latest start 5, latest finish 7 — confirming its float of 2.

FAQ

What is the critical path?

The critical path is the longest chain of dependent tasks through your project. Its length equals the shortest possible project duration, and every task on it has zero float — delaying any of them delays the entire project. There can be more than one critical path; this tool marks every zero-float task as critical and shows one representative path.

What is the difference between total float and free float?

Total float (or slack) is how long a task can be delayed without pushing out the project finish. Free float is how long it can be delayed without delaying its own successors' earliest start. Free float is always less than or equal to total float, and both are zero for critical tasks.

How do earliest and latest start/finish get calculated?

A forward pass sets each task's earliest start to the maximum earliest finish of its predecessors (0 if it has none), and earliest finish = earliest start + duration. A backward pass then sets each task's latest finish to the minimum latest start of its successors (the project duration if it has none), and latest start = latest finish − duration. Total float is latest start − earliest start.

Can I use PERT three-point estimates?

Yes. Write a duration as optimistic/most-likely/pessimistic, e.g. 2/4/9. The tool uses the PERT expected time (o + 4·m + p) / 6 as the task duration. You can mix plain numbers and three-point estimates in the same task list.

What happens if my dependencies contain a loop?

A project schedule must be acyclic, so if the tasks reference each other in a cycle (for example A depends on C, C depends on B, B depends on A) the tool reports an error listing the tasks involved instead of producing a schedule. It also errors if a task lists a predecessor that isn't defined.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool critical-path-calculator "A, 3
B, 4, A
C, 2, A
D, 5, B, C
E, 1, D"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/critical-path-calculator/?tasks=A%2C%203%0AB%2C%204%2C%20A%0AC%2C%202%2C%20A%0AD%2C%205%2C%20B%2C%20C%0AE%2C%201%2C%20D&format=report

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.