How to use the HCM Calculator
Guide
How to use the calculator: the features every chapter page shares, a reference to all sixteen available chapter pages, and detailed walkthroughs of the Two-Lane Highways, Basic Freeway, and Managed Lane analyses.
Features on every chapter page
- Published-example defaults. Most pages open pre-filled with an HCM worked example, so pressing Calculate immediately reproduces a number you can check against the book. Every chapter's engine is validated against its published example problems.
- Interactive diagrams. Each page draws its facility and redraws as you change lanes, legs, or geometry. Hover the legend to isolate a movement or approach, and edit key demands directly on the picture. The 2D / 3D toggle switches to a rotatable projected view (drag to rotate, Alt-drag to pan, scroll or pinch to zoom).
- Traffic animation. The Animate traffic chip flows vehicles along the movement paths, weighted by your entered volumes. Signals pulse with the phase splits you enter; after a run, congested approaches slow and bunch with their computed LOS. It is a timed illustration, not a simulation.
- HCM edition picker. The weaving and merge/diverge chapters analyze under the 7th Edition or Edition 7.1, which replaced those methodologies in 2025. The editions report different speeds, capacities, and LOS bands, so results are only comparable within one edition.
- Discussion. Each results panel closes with a few sentences reading the answer back, in the manner of the Discussion that closes each of the HCM's own Example Problems: what governs the result, how much headroom is left before capacity, how close the service measure sits to a band edge, and, where a chapter assigns no level of service letter, why it does not.
- Printable reports. Every successful run publishes to the Report page: the full input echo, results, methodology notes, and the facility diagram, ready for Print / Save as PDF. Reports from several chapters are kept side by side for the session.
- Offline and installable. Once visited, the whole calculator works with no connection, since every computation runs locally in WebAssembly. Your browser can also install it as an app (look for the install icon in the address bar, or Add to Home Screen on a phone).
- Dark mode. The sun/moon toggle in the navigation follows your choice across visits; printing always uses the light palette.
Chapter reference
| Chapter | What it computes | Service measure |
|---|---|---|
| 10 Freeway Facilities | Whole-facility analysis over 15-min periods, composing basic, merge, diverge, and weaving segments, with oversaturated queue tracking | Density and LOS per segment and period |
| 11 Freeway Reliability | Whole-year weekday travel time reliability with demand variation and random incidents | TTI distribution, PTI, reliability rating |
| 12 Basic Freeway Segments | Single directional segment: FFS, capacity, speed, density | Density (pc/mi/ln) |
| 12 Basic Managed Lane Segments | A managed lane alongside general purpose freeway lanes: separation-specific breakpoint and capacity, speed, and the friction effect of the adjacent lanes | Density (pc/mi/ln) |
| 13 Freeway Weaving | Weaving segment speeds and capacity, 7th Edition or Edition 7.1 | Density (pc/mi/ln) |
| 14 Merge and Diverge | Ramp influence area speeds and capacity, 7th Edition or Edition 7.1 | Influence area density |
| 15 Two-Lane Highways | Segment-by-segment facility with passing configuration and horizontal curves | Follower density |
| 16 Urban Street Facilities | A chain of urban street segments aggregated into one direction of an arterial facility, from Chapter 18 inputs or from published segment measures | Facility travel speed (mi/h) |
| 17 Urban Street Reliability | A year of weekday scenarios over a signalized arterial: weather, demand, and incident generation, then the travel time distribution | Travel time index and reliability rating |
| 18 Urban Street Segments | One direction of an arterial segment: base and adjusted free-flow speed, running time, through delay, stop rate | Travel speed (mi/h) |
| 19 Signalized Intersections | Pretimed four-leg signal: saturation flows, capacities, delay by approach | Control delay (s/veh) |
| 20 Two-Way STOP Control | Gap-acceptance capacities and delay by movement rank, with the December 2022 HCM corrections | Control delay per movement and lane |
| 21 All-Way STOP Control | Iterated departure headways, service times, delay per lane | Control delay (s/veh) |
| 22 Roundabouts | Entry capacities and delay, including yielding and nonyielding right-turn bypasses | Control delay (s/veh) |
| 23 Interchange Ramp Terminals | Diamond and DDI interchanges, plus RCUT, MUT, and DLT alternative intersections | Experienced travel time (s/veh) |
| 24 Off-Street Ped and Bike | Exclusive walkways, shared-use path pedestrian events, bicycle BLOS | Space, events per hour, BLOS score |
Getting started with Two-Lane Highways
- Open Two-Lane Highways from the navigation.
- Define your segments in the Segments table. For each segment set its passing type, length, grade, posted speed, demand volumes, vertical class, PHF, and heavy-vehicle %.
- Set the General Parameters that apply to the whole facility (lane width, shoulder width, access point density, and the passing-lane heavy-vehicle multiplier).
- Enable Horizontal curves on a segment to add curved subsegments with their design radius and superelevation.
- Press Calculate. Results appear in the Outputs table.
- Use Export as JSON to save your inputs and the JSON importer to reload them later.
Inputs
Per segment
| Field | Meaning | Unit |
|---|---|---|
| Passing Type | Passing Constrained, Passing Zone, or Passing Lane | — |
| Length | Segment length | mi |
| Grade | Longitudinal grade (signed) | % |
| Posted Speed | Posted speed limit | mph |
| Demand Vol. | Demand flow rate, analysis direction | veh/h |
| Opposing Vol. | Demand flow rate, opposing direction | veh/h |
| Vertical Class | Vertical alignment class (1–5) | — |
| PHF | Peak hour factor | — |
| % Heavy Veh. | Percentage of heavy vehicles | % |
Horizontal-curve subsegments add Length (ft), Design Radius (ft), and Superelevation (%).
Facility-wide
| Field | Meaning | Unit |
|---|---|---|
| Lane Width | Travel lane width | ft |
| Shoulder Width | Shoulder width | ft |
| Access Point Density | Access points per mile | /mi |
| Heavy Vehicles in Passing Lane | Multiplier, used only when a Passing Lane segment is present | % |
Facility layout (2D & 3D)
The Facility Layout panel visualizes the whole facility as one connected road.
- 2D — a flat segment-by-segment schematic strip (solid centerline = Passing Constrained, dashed = Passing Zone, widening = Passing Lane).
- 3D — a connected ribbon where bends reflect horizontal curves, slope reflects grade, banking reflects superelevation, and the road widens for passing lanes. Drag to rotate, Alt-drag to pan, scroll / pinch to zoom.
- Expand & Edit — turns the layout into an editable pane so you can enter and modify each segment directly there (in sync with the Segments table).
Outputs & Level of Service
After Calculate, each segment reports:
| Output | Meaning |
|---|---|
| Free-flow Speed (mi/hr) | Estimated free-flow speed (FFS) |
| Average Speed (mi/hr) | Estimated average travel speed |
| Percent followers (%) | Percent of vehicles following, analysis direction |
| Followers Density (followers/mi) | Follower density — the LOS service measure |
| Segment LOS | Level of service A–F for the segment |
The summary reports the Facility LOS and Facility Follower Density (length-weighted across segments). For two-lane highways, LOS is keyed to follower density per HCM 7th Edition Chapter 15 (lower is better, A → F); exact breakpoints depend on posted speed — see the HCM for the authoritative thresholds. LOS F means demand exceeds capacity.
Basic Freeway Segments (Chapter 12)
Basic Freeway Segments analyzes a single directional freeway segment — the HCM Chapter 12 method. A basic freeway segment is one unit of analysis; for a multi-segment freeway facility (basic, merge, diverge, and weaving segments together), use Freeway Facilities instead.
- Open Basic Freeway Segments, or press Load example to start from a sample segment.
- Set the Geometry: lanes in the analysis direction, lane width, right-side lateral clearance, ramp density, length, grade, terrain, and area type.
- Set the Traffic: directional demand, PHF, heavy-vehicle %, posted speed, and base free-flow speed.
- Choose the Heavy-Vehicle Mix — see the note below.
- Press Calculate. The Outputs panel walks the operational chain step by step.
- Use Export JSON to save your inputs and the importer to reload them later.
Heavy-Vehicle Mix (the key Chapter 12 choice)
This selects how the passenger-car equivalent ET is read:
- General terrain (mix unknown) — HCM Exhibit 12-25, keyed on terrain (level / rolling / mountainous). Grade and length do not enter the result.
- 30 / 50 / 70% single-unit trucks — the specific-upgrade exhibits (12-26 / 12-27 / 12-28), keyed on grade and length. Choose one of these when the truck composition is known and you are analyzing a specific upgrade.
Outputs
The operational chain is reported step by step:
| Step | Output |
|---|---|
| 1 | Free-flow speed (FFS) |
| 2 | Base and adjusted capacity |
| 3 | Passenger-car equivalent ET and heavy-vehicle factor fHV |
| 4 | Demand flow rate vp |
| 5 | Space mean speed and volume-to-capacity ratio |
| 6 | Density |
| 7 | Level of service (A–F, per HCM Exhibit 12-15, keyed on density) |
The Plan / 3D toggle shows the segment as a flat cross-section, or a drag-to-rotate 3D deck where the lanes recede into the distance and the grade lifts the far end. Drag to rotate, Alt-drag to pan, scroll / pinch to zoom.
Open Basic Freeway SegmentsBasic Managed Lane Segments (Chapter 12, Section 4)
Basic Managed Lane Segments analyzes a managed lane running alongside general purpose freeway lanes, such as an HOV, HOT, or express lane. It is a separate method from Basic Freeway Segments because a managed lane has its own speed-flow calibration for each way it is separated from the adjacent traffic, and because its speed depends on how the adjacent lanes are operating.
- Choose the Separation Type. Continuous access, buffer, and barrier each carry their own breakpoint, capacity, and speed-drop parameters from HCM Exhibit 12-30, with separate rows for single-lane and multiple-lane facilities.
- Set the managed lane's free-flow speed, lane count, and the CAF and SAF adjustment factors (1.00 for base conditions).
- Enter the Traffic inputs. Demand is hourly volume in vehicles, and the peak hour factor, heavy-vehicle percentage, and terrain convert it to a per-lane flow rate in passenger cars.
- Enter the Adjacent General Purpose Lanes. Their demand, lane count, free-flow speed, capacity, and breakpoint come from the Chapter 12 basic-segment analysis of those lanes; the page derives their density from them.
- Press Calculate.
The friction effect
Where a managed lane has no physical separation, drivers in it slow down when the lanes beside them are congested. The method captures this with the friction indicator of Equation 12-18, which switches on when the adjacent general purpose density passes 35 pc/mi/ln. It applies only to the continuous access and Buffer 1 types, since barrier separation and the wider Buffer 2 remove the effect entirely. The Outputs panel reports whether it was active for your run, and the diagram says so alongside the general purpose lanes.
The page opens on HCM Chapter 26, Example Problem 7, Case 1: a continuous-access managed lane at 60 mi/h carrying 1,300 veh/h beside two general purpose lanes carrying 2,000 veh/h, which computes to 56.3 mi/h and LOS D. Raising the general purpose demand to 3,800 veh/h reproduces the same example's Case 2, where the adjacent lanes cross the friction threshold and the managed lane drops to 41.9 mi/h and LOS E.
Open Basic Managed Lane SegmentsFreeway Facilities (10) and Reliability (11)
Freeway Facilities analyzes a whole directional freeway over consecutive 15-min periods. Build the Segments table upstream to downstream (the facility must begin and end with a basic segment), give each merge, diverge, or weaving segment its ramp demands as a comma-separated list with one value per period, and enter the Mainline Entry Demand the same way. The number of demand values sets the number of analysis periods. Weaving segments open a details card for short length, weaving lanes, and lane-changing minima. Set the Interchange Density when it differs from the total ramp density. Results report speed, density, and LOS per segment and period plus facility totals; the Oversaturated line tells you when demand exceeded capacity somewhere in the time-space domain.
The facility view above the table draws the segment chain as you build it, with ramp wedges on merge, diverge, weaving, and overlapping-ramp segments. After a run each segment fills with its LOS color for the selected analysis period (the P1, P2, ... chips), which is the time-space domain made visible: pick a period, read the bottleneck. Click a segment to highlight its table row, or switch to the 3D ribbon with the same period chips.
Freeway Reliability wraps that engine in a whole-year weekday scenario generator: monthly and weekday demand ratios plus randomly generated incidents from your crash rate. Keep the same Random Seed to reproduce a scenario set exactly. The run takes a few seconds because every scenario is a full Chapter 10 analysis. Read the scope note on the page for what the tail measures (PTI) can and cannot reproduce.
Weaving (13) and Merge/Diverge (14)
Both chapters carry the HCM Edition picker. The 7th Edition uses the lane-changing methodology; Edition 7.1 (2025) replaced it with an equivalent basic-segment speed less an impedance, and the two report different speeds, capacities, and LOS bands. Under 7.1 the weaving page asks for the per-movement weaving lane counts (NW,RF, NW,FR) instead of NWL.
On merge/diverge, the acceleration or deceleration lane length is editable directly on the diagram and stretches the drawn speed-change lane. A major merge operating under capacity reports no LOS, because the HCM defines none there; the page says so instead of inventing a letter. Speeds past capacity report as not defined under 7.1 for the same honesty.
Urban Streets (16, 17, and 18)
Chapter 18 evaluates one direction of travel over one segment, from the upstream boundary intersection to the downstream one. The geometry inputs set the base free-flow speed through the cross-section, access-point, and parking adjustments, and the signal spacing scales it down to the free-flow speed the segment actually offers. Percentages are entered as percentages here and converted at the engine boundary, so the link with curb is 70, not 0.70.
The boundary intersection is an input to this chapter, not something it computes. Through control delay, through capacity, and the full stop rate come from the Chapter 19, 20, 21, or 22 analysis of that intersection, which is what Exhibit 18-5 means by an HCM method output. Leaving the platoon ratio blank gives uniform arrivals with P = g/C.
The access-point turning delay selector picks the source for the Σ d_ap,i term of Equation 18-7. Measured or published delays takes a comma-separated delay per active access point, which is how the Chapter 30 Example Problem 1 defaults reproduce the published Exhibit 30-36 results. Computed (Chapter 30 §4) derives the same per-point delays instead of taking them, from one row per access-point approach giving the turn-in volumes, the lane configuration, the opposing flow, and the turn bays. It prints each point's left, right, and total delay along with the probability of the inside through lane being blocked, and on the default approaches it lands on the same 0.193 and 0.194 s/veh the measured mode supplies. Planning estimate uses Exhibit 18-13 instead; leaving its fields blank applies the exhibit's own baseline of 10% left and right turns and an influential access-point count of N_ap,s + p_ap,lt × N_ap,o, which gives a higher delay and a slightly lower travel speed than the per-point procedure.
Chapter 16 chains those segments into a facility in one direction of travel, and its analysis mode selector follows the two ways the HCM states a facility. Chapter 18 inputs describes every segment by its geometry and boundary-intersection values, runs the Chapter 18 engine over each one, and then aggregates. Published segment measures takes each segment's already known base free-flow speed, travel speed, stop rate, v/c ratio, and LOS letter, which is the Exhibit 16-7 HCM method output case and the way the published example problems are written. The two are exclusive within a run, and the mode defaults are the Chapter 30 and Chapter 29 Example Problem 1 facilities respectively.
The facility aggregation is length weighted. Base free-flow speed and travel speed are harmonic means over the segment lengths (Equations 16-2 and 16-3), the spatial stop rate is an arithmetic one (Equation 16-4), and facility LOS comes from the travel-speed ratio against the Exhibit 16-3 thresholds. One thing overrides the ratio: a through movement running over capacity at any boundary intersection forces LOS F, which is why the through capacity is worth supplying even when the facility is plainly undersaturated. Click a segment in the facility strip to highlight its card, and read the poorest-performing segment LOS alongside the facility letter, since a C facility can hold an E segment. Chapter 17 wraps the segment method in a whole-year weekday scenario generator. Each segment card is a Chapter 18 segment with its boundary signal, and the facility is evaluated once per analysis period of every weekday in the year, which is 3,120 scenarios for a 3-hour study period in twelve 15-min periods. The run is synchronous and takes a few seconds.
Weather is entered as twelve monthly normals. There is no snowfall column, because the Chapter 29 procedure decides whether an event falls as rain or as snow from the sampled temperature and sizes the snow depth from the precipitation columns. A snow climate is therefore expressed through the mean temperature and the precipitation entries. The January 1 day of week anchors the calendar the reporting period is built on, so a wrong value puts every day-of-week demand factor on the wrong date.
The three seeds fix the weather, demand, and incident streams independently. Rerunning with the same seeds reproduces a run exactly; any other seeds give a different but equally valid replication, which is what the HCM expects of a software-specific Monte Carlo stream. Oversaturated scenarios counts the scenarios in which a boundary through movement ran over capacity or started with a residual queue carried in from the previous period, which is the readout for how much of the distribution tail comes from oversaturation rather than from weather or incidents.
ATDM strategies are input-level adjustments applied to every scenario. A positive effective green adjustment shifts split to the coordinated through phase, and a saturation flow adjustment above 1 raises the boundary saturation flow rate. Adaptive signal control enters as a saturation flow adjustment of 1.156, the value Chapter 37 implies for its default 13.5% delay reduction target.
Intersections (19 to 22)
Signalized: a pretimed four-leg signal where phase durations include the change period (G + Y + Rc), the north-south approaches share one street phase pair and east-west the other, and a left runs protected only when you give it a phase duration and an exclusive lane. Parking, bus stops, grades, and actuated timing sit at base values on this page.
Two-way STOP: the minor street stops, and every movement carries an HCM rank shown in the diagram's dash pattern. Pick three-leg and the minor stem is northbound; volumes for movements that do not exist on a T are ignored. Leave PHF blank when your volumes are already flow rates. The engine applies the December 2022 HCM corrections.
All-way STOP: describe each approach as lanes with per-lane L/T/R volumes; set an approach to zero lanes to remove that leg entirely, matching three-leg sites. Results are per lane, since the method assigns LOS by lane.
Roundabouts: per-entry U/L/T/R demands, circulating and exiting lanes, and optional right-turn bypasses. A yielding bypass yields at the exit leg and gets its own capacity and delay; a nonyielding bypass adds a lane and reports zero delay. Conflicting pedestrians reduce entry capacity.
Interchange Ramp Terminals (23)
Chapter 23 evaluates the interchange by O-D movement, lettered A through N per Exhibit 23-8: the off-ramp lefts and rights, the arterial turns onto the on-ramps, and the arterial throughs. Choose the Interchange Form first; switching between the conventional diamond and the diverging diamond loads that form's published example as fresh defaults. Each lane group needs its green window (begin time and duration within the cycle); the DDI additionally asks for its crossover lane configurations, which the diagram mirrors. Results are control delay, extra distance travel time, and experienced travel time per O-D, with interchange LOS from the demand-weighted ETT.
Switching the page to Part C evaluates the alternative intersections. The STOP-controlled RCUT needs only movement demands and site parameters; the page derives the flow-rate conversion, conflicting flows, and adjusted gap-acceptance headways, then runs the Chapter 20 delay computation at each junction a movement traverses. The MUT takes its junction control delays from the Chapter 19 and Chapter 20 analyses of the component junctions and assembles each movement's journey, adding the extra distance travel time from the crossover spacing. The DLT computes the supplemental-intersection offset and the weighted-average experienced travel time over the per-junction flow and delay cells. Each form loads its Chapter 34 example problem as defaults.
Off-Street Pedestrian and Bicycle Facilities (24)
Chapter 24 bundles three analyses behind one facility selector. Exclusive pedestrian: walkway width, fixed-object width, and hourly demand give pedestrian space and LOS; note the walking speed is in ft/min here. Shared-use path: bicycle volumes by direction score the pedestrian experience through passing and meeting events, with speeds in mi/h. Off-street bicycle: path width, centerline, segment length, and total two-way demand feed the BLOS score, using the Exhibit 24-6 default mode mix of bicycles, pedestrians, runners, inline skaters, and child bicyclists.
Printable reports
Every successful run publishes to the Report page automatically: the input echo, the results tables, methodology notes with each chapter's caveats, and the facility diagram. Reports from different chapters are kept side by side for the session (they survive a refresh, and clear when the tab closes). Use Print / Save as PDF for a submittal-style sheet; printing always uses the light palette regardless of your theme.
The report also carries the run's Discussion. It is included by default and the Include discussion checkbox above the sheet leaves it out, for a deliverable that should carry only the numbers.
Open source
Calculations run locally in a Rust compute core compiled to WebAssembly. The project is open source — issues and contributions are welcome.
This is an independent, personally built tool and is not affiliated with any organization or corporation.
View on GitHub