Automatically calculates ES, EF, LS, LF, slack, and the critical path of your project. Gantt visualization included. 100% free, no registration, all in the browser.
| ID | Activity Name | Duration | Predecessors (IDs) |
|---|
| ID | Activity | Dur. | ES | EF | LS | LF | Slack | Status |
|---|
The Critical Path Method (CPM) is a project planning technique developed in 1957 by Morgan R. Walker (DuPont) and James E. Kelley (Remington Rand). It allows identifying which activities determine the total duration of the project and which have slack to delay without affecting the final date.
It is used in construction, software development, manufacturing, event planning, product launches, and practically any project with more than 5 interdependent activities.
The earliest date an activity can start without violating predecessor constraints. It is calculated in the "forward pass."
The earliest finish date = ES + Duration. The entire project ends at the maximum EF of all activities without successors.
The latest dates an activity can start/finish without delaying the project. It is calculated in the "backward pass."
Slack = LS − ES = LF − EF. It is how much the activity can be delayed without affecting the project. Activities with slack = 0 are critical.
The chain of activities connected with zero slack. It is the longest path and determines the minimum possible duration of the project.
Two passes: the forward calculates ES and EF from start to finish; the backward calculates LF and LS from finish to start. Difference = slack.
Each row represents a task. Give it a descriptive name and a duration (days, weeks, or whatever you prefer — the unit is consistent for the entire project).
In the "Predecessors" column, write the IDs of the activities that must finish before this one can start. If the activity can start from day 0, leave the cell empty. Example:
112,3 (must wait for both)Once the critical path is identified, typical actions are:
CPM uses deterministic durations (a single value per activity), while PERT uses three estimates (optimistic, most likely, and pessimistic) and calculates an expected duration with standard deviation. CPM is ideal when you have reliable historical data; PERT when there is high uncertainty.
Yes. When two or more independent chains have the same total duration and all activities in them have zero slack, the project has multiple parallel critical paths. This increases risk: a delay in any of them affects the project.
In a feasible schedule, yes. If you calculate and get negative slack, it means the project cannot finish on the planned date with the current dependencies — you need crashing, fast tracking, or extending the date.
For projects of up to ~50 activities it works perfectly. For larger projects (200+ activities, complex resources, costs), use professional software like Microsoft Project, Primavera P6, or GanttProject.
No. All calculations occur in your browser with JavaScript. Nothing is sent or stored on any server. If you refresh the page, you must re-enter the activities (or use the "Load example" option to start).
CPM only works on directed acyclic graphs (DAG). If A depends on B and B depends on A, there is no valid order to calculate ES/EF. The tool detects cycles and shows an error.