multicalci.com Civil Calculators
Civil Engineering

Vertical Curve Calculator

Find the length of a crest or sag vertical curve from the two grades and the stopping sight distance it must provide. Enter the approach and departure grades as percentages and the required sight distance, and this calculator identifies whether the curve is a crest or a sag, applies the appropriate sight distance formula including the case where sight distance exceeds curve length, and returns the required curve length, the K value and the rate of grade change.

AASHTO / IRC sight distance forms · crest A·S²/658 · sag A·S²/(120+3.5S)
Working on the plan alignment too? The horizontal curve calculator covers circular curve length, tangent, offsets and the minimum radius for a design speed.
📈 Grades and Sight Distance
Grades are percentages and do not convert. Results are always reported in SI — see the note under the results.

Positive uphill, negative downhill, in the direction of travel.
G₂ below G₁ gives a crest; above gives a sag.
Read from the design speed — see the table below.
📊 Vertical Curve
Press Calculate Curve Length to size the curve.
ƒ Governing Formulae

Grade difference

A = |G₁ − G₂|   crest if G₂ < G₁, sag if G₂ > G₁

Curve length, sight distance shorter than the curve (S < L)

Crest  L = A·S² / 658  (h₁ = 1.08 m, h₂ = 0.60 m)
Sag    L = A·S² / (120 + 3.5S)  (headlight, 0.6 m, 1° beam)

Curve length, sight distance longer than the curve (S > L)

L = 2S − k / A   where k is 658 for a crest
and (120 + 3.5S) for a sag

Design parameters

K = L / A  metres of curve per 1 % of grade change
RC = A / L  percent of grade change per metre

G₁, G₂ — approach and departure grades, percent, signed in the direction of travel

A — algebraic difference of grades, always taken positive

S — stopping sight distance the curve must provide

L — required length of the parabolic vertical curve

K — curve length per unit grade change, the parameter design tables are indexed on

RC — rate of grade change per metre, the reciprocal of K

h₁, h₂ — driver eye height and object height assumed for the crest case

Both branches are tested, and the calculator tells you which one governed. The S < L expression is only valid if the length it produces really does exceed the sight distance. This tool computes that form first, checks the condition, and falls back to the S > L expression when it fails, reporting the outcome as "Crest, S < L" or "Sag, S > L" beside the length. On a small grade difference the S > L form can come out zero or negative, which means no vertical curve is required to satisfy sight distance — a curve will still be needed for comfort and appearance.
This is the sight distance criterion only. Three other criteria commonly govern a vertical curve and none of them is checked here. The comfort criterion limits the vertical acceleration on a sag, typically to 0.3 m/s², and can govern at high design speeds. The appearance criterion sets a minimum length regardless of A, often taken as the distance travelled in two or three seconds at the design speed, which matters where A is very small. And drainage needs a minimum longitudinal gradient near the apex of a crest or the low point of a sag, usually 0.35 percent, to stop water ponding on the carriageway.
Not included: no chainage or reduced-level table along the curve, no high or low point location, no elevation at intermediate stations, no overtaking sight distance case, and no unsymmetrical vertical curves. Headroom clearance under a structure on a sag, and the sight distance past an overbridge soffit, both need separate checks.
📝 Worked Example 1 — Crest Curve
Given

A road rising at 3.5 percent meets a falling grade of 2.5 percent. The design speed calls for a stopping sight distance of 120 m.

Step 1 — grade difference and curve type

A = |3.5 − (−2.5)| = 6.000 %
G₂ is below G₁, so the curve is a crest and the divisor is 658.

Step 2 — try the S < L expression

L = A·S² / 658 = 6 × 120² / 658 = 86 400 / 658 = 131.3 m

Step 3 — check the branch

Is L greater than S? 131.3 > 120, so yes — the sight line does fall entirely within the curve and the expression used was the right one. The result is reported as Crest, S < L.

Step 4 — design parameters

K = L / A = 131.3 / 6 = 21.88 m per %
RC = A / L = 6 / 131.3 = 0.04569 %/m

Grade difference A 6.000 %

Required curve length 131.3 m — Crest, S < L

K value 21.88 m per %  ·  Rate of change 0.04569 %/m

These are the calculator's default inputs. Press Calculate Curve Length without changing anything and you should get exactly these figures back. Once you have K, sizing any other curve at the same design speed is a multiplication: at K = 21.88 a 4 percent grade change needs 87.5 m and a 9 percent change needs 197 m.
💡 Worked Example 2 — Sag Curve, and Why It Needs to Be Longer
Given

A valley: the road falls at 3.0 percent and then rises at 3.0 percent. The same 120 m stopping sight distance applies.

Step 1 — same grade difference, different curve

A = |−3.0 − 3.0| = 6.000 %, identical to the crest example.
But G₂ is above G₁, so this is a sag and the divisor becomes 120 + 3.5 × 120 = 540.

Step 2 — curve length

L = 6 × 120² / 540 = 86 400 / 540 = 160.0 m
160.0 > 120, so the S < L branch is correct: Sag, S < L.

Step 3 — compare

K = 160.0 / 6 = 26.67 m per %, against 21.88 for the crest.
The sag needs 22 percent more curve for the same grade change and the same sight distance.

Crest 131.3 m, K = 21.88

Sag 160.0 m, K = 26.67

Same A, same S, 28.7 m more curve required in the valley

Why the sag is the harder case

In daylight nothing obstructs the view across a sag, so sight distance is not the issue. The controlling condition is night driving: a headlight sits about 0.6 m above the road and its beam spreads only around one degree upward, so as the road curves away beneath it the illuminated length grows slowly. That is a more demanding geometry than a driver's eye at 1.08 m looking over a crest at a 0.6 m object, and it is why the sag divisor is smaller and the curve longer.

This formula was corrected recently. An earlier version of this calculator used L = A·S/3.5 + S for the sag case, which is dimensionally inconsistent — it adds a length to a quantity that is not one. At A = 6 and S = 120 it returned 325.7 m against the correct 160.0 m, roughly twice the required length. It was conservative rather than dangerous, but it would have added around 165 m of unnecessary curve to every sag on an alignment. The sag case now uses the standard headlight expression.
📏 Worked Example 3 — When S Exceeds L
Given

A gentler crest: 3.0 percent rising to 2.0 percent falling, so A = 5.000 percent, with the same 120 m sight distance.

Step 1 — the usual expression gives an invalid answer

L = 5 × 120² / 658 = 109.4 m
But 109.4 is less than the 120 m sight distance, so the assumption behind that expression — that the whole sight line lies on the curve — is false. The answer cannot be used.

Step 2 — switch branches

L = 2S − 658/A = 240 − 658/5 = 240 − 131.6 = 108.4 m
The calculator reports this as Crest, S > L.

S < L form 109.4 m — invalid here, since 109.4 < 120

S > L form 108.4 m — the governing answer

K value 21.68 m per %

Where this matters

The two forms cross over when A equals the constant divided by the sight distance — at S = 120 m that is A = 658/120 = 5.48 percent for a crest. Below that grade difference the S > L branch governs, and the gap between the two widens as A falls. Push A low enough and 2S − 658/A goes negative, meaning sight distance alone requires no vertical curve; the comfort and appearance criteria then take over, and this calculator does not check either.

📐 Inputs, Units and Accepted Ranges
InputSI unitImperial unitAcceptedNotes
Approach grade G₁%%any sign, typically −10 to +10Positive uphill in the direction of travel
Departure grade G₂%%any sign, typically −10 to +10Below G₁ gives a crest, above gives a sag
Stopping sight distance Smft> 0Taken from the design speed — see the table below
Radius, deflection angle, design speed and superelevation are not on this page — they belong to the plan alignment and do not affect any vertical curve result. Use the horizontal curve calculator for those.
📚 Reference Tables

Stopping sight distance by design speed — IRC values, level road

Design speed, km/hSSD, mCrest K at this SSag K at this S
30301.374.00
40453.087.30
50605.4710.91
60809.7316.00
659012.3118.62
8012021.8826.67
10018049.2443.20
K is the curve length per one percent of grade change, computed from the S < L forms. Note the crossover: at lower speeds the sag needs the longer curve, but the crest overtakes it somewhere between 120 and 180 m of sight distance, because crest length grows with the square of S while the sag divisor also grows with S.

Crest and sag length for a range of grade differences — at S = 120 m

A, %Crest L, mBranchSag L, mBranch
20.0none required0.0none required
320.7S > L60.0S > L
475.5S > L105.0S > L
5108.4S > L133.3S < L
6131.3S < L160.0S < L
8175.1S < L213.3S < L
10218.8S < L266.7S < L
The crest switches branch at A = 658/120 = 5.48 %, and the sag at A = 540/120 = 4.50 %. Below those values the S > L expression governs and the required length falls away sharply — and at A = 2 % it reaches zero, meaning sight distance alone calls for no vertical curve at all. The appearance and drainage criteria then decide the length, and neither is checked here.

Which criterion governs a vertical curve

CriterionApplies toGoverns whenChecked here?
Stopping sight distanceCrest and sagMost of the timeYes
Headlight sight distanceSagBuilt into the sag formulaYes
Passenger comfortSagHigh design speed, large ANo
Appearance / minimum lengthCrest and sagVery small ANo
Drainage near the apexCrest and sagLong flat curves, kerbed roadsNo
Overtaking sight distanceCrestTwo-lane rural roadsNo
Headroom under a structureSagBridge or gantry over a sagNo

Sign convention for the two grades

G₁G₂A = |G₁ − G₂|Curve type
+3.5−2.56.0Crest — over a hill
+4.0+1.03.0Crest — rise easing off
−3.0+3.06.0Sag — through a valley
−4.0−1.03.0Sag — descent easing off
+2.0+2.00.0No curve — grades equal
A crest does not require the road to actually go over a hill — any case where the departure grade is algebraically lower than the approach grade is convex, including a climb that simply becomes gentler.
Frequently Asked Questions
How do you calculate the length of a vertical curve?
Curve length comes from the algebraic difference of the two grades and the sight distance the curve must provide. For a crest curve where the sight distance is shorter than the curve, the length equals the grade difference times the sight distance squared divided by 658. For a sag curve the divisor is 120 plus 3.5 times the sight distance, which reflects headlight illumination rather than eye and object heights. Where the sight distance exceeds the curve length a different expression applies, and this calculator tests both and reports which one governed.
What is the difference between a crest and a sag vertical curve?
A crest curve is convex, joining a rising grade to a falling one, and its length is governed by the driver being able to see over the hump, so the controlling factor is the height of the eye and of the object on the road. A sag curve is concave, joining a falling grade to a rising one, and daytime sight distance is rarely a problem because nothing blocks the view. The sag case is instead controlled by how far the headlight beam reaches at night, and secondarily by passenger comfort under the increased vertical acceleration.
What is the K value of a vertical curve?
K is the curve length divided by the algebraic difference of grades, expressed as metres of curve per one percent of grade change. It is a convenient design parameter because it depends only on the design speed and the curve type, not on the particular grades, so highway standards tabulate a minimum K for each design speed and a designer can read the required length straight off by multiplying K by A. A K of 26.67 means the curve needs 26.67 metres of length for every one percent of grade change.
Why does a sag curve need to be longer than a crest curve?
For the same grade difference and the same sight distance a sag curve usually comes out longer, because the headlight criterion that governs it is more demanding than the eye and object heights that govern a crest. A headlight sits about 0.6 metres above the road and its beam spreads only about one degree upward, so the illuminated distance grows slowly with curve length. At a six percent grade difference and 120 metres of sight distance a crest needs 131.3 metres of curve where a sag needs 160.0 metres.
What happens when the sight distance is greater than the curve length?
The standard expression assumes the whole sight line falls within the curve, and it stops being valid once the sight distance exceeds the curve length. A second expression then applies, in which the required length equals twice the sight distance minus the relevant constant divided by the grade difference. This calculator computes the first form, checks whether the result really is longer than the sight distance, and switches to the second form if not, reporting which case governed. On small grade differences the second form can return zero or negative, meaning no vertical curve is needed for sight distance at all.
🔗 Related Tools

Vertical Curve Calculator — multicalci.com. Sight distance criterion only. No check on passenger comfort, appearance minimum length, drainage gradient near the apex, overtaking sight distance or headroom under a structure. No chainage table, high or low point location, or unsymmetrical curves. Results are indicative and must be verified against IRC, AASHTO or the governing highway standard.