Free Critical Path Calculator Find Your Longest Path
Enter your project tasks, durations and dependencies — get instant forward pass, backward pass, Early Start / Early Finish / Late Start / Late Finish dates, total float, free float and critical path identification. No signup, no download.
🔗Full CPM engine — forward & backward pass
📅Updated March 2026
📊Float, ES, EF, LS, LF all calculated
🔓Free — no login needed
Critical Path Calculator
Enter tasks below → click Calculate to find your critical path
CPM Engine 2026
Project Tasks
#
Task Name
Duration
Predecessors (comma-separated IDs)
Duration unit = days (or any consistent unit)
—
Project Duration (days)
—
Total Tasks
—
Critical Path Tasks
—
Tasks with Float
Critical Path
Task
Duration
ES
EF
LS
LF
Total Float
Free Float
Critical?
Network Diagram
How to Use This Calculator
How to Calculate the Critical Path
Step 1 — Add your tasks. Click "+ Add Task" for each activity in your project. Give each task a name and its duration in days (or any consistent unit — hours, weeks — as long as you're consistent).
Step 2 — Set dependencies. In the Predecessors column, enter the ID numbers (shown in the blue badge) of any tasks that must finish before this task can start. Use commas to separate multiple predecessors. For example: "1,3" means both Task 1 and Task 3 must finish before this task starts. Leave the field blank for tasks with no predecessors (your start tasks).
Step 3 — Click Calculate. The calculator performs the forward pass (calculating ES and EF for every task) and backward pass (calculating LS and LF), then identifies all tasks with Total Float = 0 as your critical path.
💡
Quick tip: Click "Load Example" to see a pre-built 8-task project with multiple paths. It demonstrates how the calculator handles parallel paths, merging dependencies and float calculation across a realistic schedule network.
CPM Formulas
Critical Path Method — All Formulas
The Critical Path Method uses two passes through the network to calculate all scheduling values.
Forward Pass — Early Start
ES = max(EF of all predecessors)
For start tasks with no predecessors, ES = 0. For all other tasks, ES is the latest Earliest Finish of all its predecessor tasks. This ensures all predecessor work is complete before the task begins.
Forward Pass — Early Finish
EF = ES + Duration
The earliest a task can complete, assuming it starts at its Early Start. The project's total duration equals the maximum EF across all end tasks (tasks with no successors).
Backward Pass — Late Finish
LF = min(LS of all successors)
For end tasks, LF = Project Duration. For all other tasks, LF is the earliest Late Start of all its successor tasks — the latest this task can finish without delaying anything downstream.
Backward Pass — Late Start
LS = LF − Duration
The latest a task can begin without delaying the project. When LS = ES, the task is on the critical path — it has no scheduling flexibility.
Total Float
TF = LS − ES = LF − EF
The maximum amount of time a task can be delayed without delaying the project end date. Tasks on the critical path have TF = 0. Using total float of one task reduces the float of all tasks that share the same path.
Free Float
FF = min(ES of successors) − EF
The amount of time a task can be delayed without delaying any of its immediate successors. Free float is always ≤ total float. Unlike total float, using free float does not affect other tasks on the path.
Critical Path Identification
A task is on the critical path when Total Float = 0. The critical path is the continuous chain of zero-float tasks from the project's first task to the last — it represents the longest path through the network and determines the minimum project duration.
There can be multiple critical paths if two or more paths through the network are equally long. In that case, all tasks on all equally-long paths have zero float and are critical.
📌
Near-critical paths matter too. Tasks with very low total float (e.g. 1–2 days on a 3-month project) are near-critical — a small delay or risk event could push them onto the critical path. Experienced PMs monitor near-critical paths as closely as the critical path itself.
FAQ
Critical Path — 4 Common Questions
The Critical Path Method (CPM) is a project scheduling technique that identifies the longest sequence of dependent tasks — the critical path — which determines the minimum project duration. Any delay to a task on the critical path directly delays the project end date. Tasks not on the critical path have float — the amount of time they can slip without affecting the project end date. CPM was developed by DuPont in the late 1950s and remains a core technique in PMP, PRINCE2 and most PM methodologies.
Float (also called slack) is the amount of time a task can be delayed without delaying the overall project completion date. Total Float is the maximum delay a task can absorb without affecting the project end. Free Float is how much a task can slip without delaying any of its immediate successors. Tasks on the critical path have zero total float — any delay directly extends the project. Understanding float helps PMs make resource allocation decisions and identify scheduling flexibility during execution.
ES (Early Start) is the earliest a task can begin. EF (Early Finish) = ES + Duration — the earliest it can complete. LS (Late Start) is the latest a task can start without delaying the project. LF (Late Finish) = LS + Duration. Total Float = LS − ES. These four values are calculated through the forward pass (ES and EF) and backward pass (LS and LF) of the CPM algorithm. On the PMP exam, these values appear in node diagrams where each task box shows all four corner values.
The critical path is identified by calculating Total Float for every task. Any task with Total Float = 0 is on the critical path. The critical path is the continuous chain of zero-float tasks from the project start to the project finish — it is the longest path through the network. If two or more paths are equally long, all are critical paths. In the calculator above, critical path tasks are highlighted in violet with a "Critical" badge in the results table.