Vertical Curve Calculator
Solves an equal-tangent parabolic vertical curve — the K value, crest/sag type, BVC and EVC stations and levels, the high or low point, and a station-by-station elevation set-out table — with a profile plot and CSV export.
Curve inputs
Grades are percentages, uphill positive (e.g. −2 for a 2% downgrade). A crest curve has g₂ < g₁; a sag curve has g₂ > g₁. The PVI is where the two grade lines meet. Everything runs in your browser.
Curve summary Crest curve
Profile
Vertical scale is exaggerated so the curve is visible — it is not to the same scale as the horizontal axis.
Elevation / set-out table
| Point | Chainage | x from BVC | Grade-line RL | Offset | Curve RL |
|---|---|---|---|---|---|
| BVC | 0+900.000 | 0.000 | 97.000 | 0.000 | 97.000 |
| P1 | 0+920.000 | 20.000 | 97.600 | -0.050 | 97.550 |
| P2 | 0+940.000 | 40.000 | 98.200 | -0.200 | 98.000 |
| P3 | 0+960.000 | 60.000 | 98.800 | -0.450 | 98.350 |
| P4 | 0+980.000 | 80.000 | 99.400 | -0.800 | 98.600 |
| P5 | 1+000.000 | 100.000 | 100.000 | -1.250 | 98.750 |
| P6 | 1+020.000 | 120.000 | 100.600 | -1.800 | 98.800 |
| High/Low | 1+020.000 | 120.000 | 100.600 | -1.800 | 98.800 |
| P7 | 1+040.000 | 140.000 | 101.200 | -2.450 | 98.750 |
| P8 | 1+060.000 | 160.000 | 101.800 | -3.200 | 98.600 |
| P9 | 1+080.000 | 180.000 | 102.400 | -4.050 | 98.350 |
| EVC | 1+100.000 | 200.000 | 103.000 | -5.000 | 98.000 |
Curve RL = grade-line RL + offset, where the offset from the tangent is A·x² / (200·L). The high/low point is where the grade passes through zero (only when g₁ and g₂ have opposite signs). A study and field-planning aid — check against your design and standards.
Before you rely on this: First-pass guide only. Verify safety-critical or regulated work against the relevant standards, your project requirements and a qualified professional.
How to use this calculator
- Enter the incoming grade g₁ and outgoing grade g₂ as percentages (uphill positive, e.g. −2 for a 2% downgrade).
- Enter the curve length L and the PVI station (chainage) and PVI level (RL).
- Set the station interval, then read the K value, the high/low point and the elevation of the curve at each station in the table.
How it works
The curve is an equal-tangent parabola, so the BVC (start) and EVC (end) sit half the length either side of the PVI: BVC station = PVI − L/2 and EVC station = PVI + L/2, with levels found by projecting the grades from the PVI.
The algebraic grade change is A = g₂ − g₁ (percent); a negative A is a crest, a positive A is a sag. The rate of vertical curvature is K = L / |A|, the horizontal length per 1% of grade change, which is what design standards specify for sight distance.
The curve level at a distance x from the BVC is RL = RL_BVC + (g₁/100)·x + A·x² / (200·L). The high or low point (where the grade is zero) is x = −g₁·L / A from the BVC, and only exists when g₁ and g₂ have opposite signs.
Worked example
Worked example. For g₁ = +3%, g₂ = −2%, L = 200 m and the PVI at chainage 1000 at RL 100.000: A = −5% (a crest), K = 40. The BVC is at 0+900 (RL 97.000) and the EVC at 1+100 (RL 98.000). The high point sits where the grade is zero, at chainage 1+020, RL 98.800.
Common mistakes
- Entering a downgrade as a positive number — a falling grade is negative (e.g. −2%).
- Using the curve length as the tangent (half) length; L is the full BVC-to-EVC length.
- Expecting a high/low point on every curve — it only exists when the grades change sign (a crest from up-to-down, or a sag from down-to-up).
Frequently asked questions
What is the K value of a vertical curve?
K is the rate of vertical curvature, K = L / |A|, i.e. the horizontal length (in metres or feet) needed for a 1% change in grade. Design standards give a minimum K for a given design speed so the curve meets stopping sight distance; a larger K is a flatter, longer curve.
Where is the high or low point on the curve?
It is where the grade passes through zero, a distance x = −g₁·L / A from the BVC. A crest curve (grades from up to down) has a high point; a sag curve (down to up) has a low point. If both grades have the same sign there is no turning point within the curve.
What is the difference between BVC, PVI and EVC?
The PVI (point of vertical intersection) is where the two straight grades meet. The BVC (beginning of vertical curve, also called PVC) and EVC (end, also called PVT) are the tangent points where the parabola starts and finishes, each L/2 in chainage from the PVI.
Related tools
- Circular Curve Set-Out Table Generator
- Circular Curve Elements Calculator
- Grade & Fall Calculator
- Contour Interpolation Calculator
- Cut Fill Chainage Table Builder
- Long Section Table Builder
Explore more in Surveying, Coordinates, GIS & CAD.
Tip: Enter any known values to calculate the remaining results.
All calculations run in your browser. Your inputs are never saved or transmitted.



