A compass bearing calculator that gives you the exact true bearing between any two GPS coordinates, together with the great-circle distance and a live compass rose — or works the problem backwards, finding your destination when you know your starting point, heading, and distance to travel.
What this tool calculates
The calculator has two modes:
Bearing and Distance — Enter the decimal-degree (or DMS) coordinates of two places on Earth. The tool instantly returns:
- Forward bearing — the compass heading (0–360°) you face at point A to begin the shortest path to point B, plus its 16-point compass label (N, NNE, NE, ENE …)
- Final bearing — the heading at which you arrive at B (differs from the forward bearing for long routes because the Earth is curved)
- Great-circle distance in kilometres, statute miles, and nautical miles
- Midpoint — the halfway coordinates on the great-circle arc
- A live compass rose that rotates the needle to the forward bearing
Find Destination — Enter a starting point, a bearing, and a travel distance (km, mi, or NM). The tool computes where you end up, returning decimal degrees and DMS.
How the formulas work
Haversine great-circle distance
The straight-line distance across a flat map is useless for navigation; we need the shortest path along the curved surface of the Earth. That is the great-circle (or orthodromic) distance, calculated by the Haversine formula:
a = sin²(Δφ/2) + cos φ₁ · cos φ₂ · sin²(Δλ/2)
d = 2R · arcsin(√a)
where φ is latitude in radians, λ is longitude in radians, R = 6 371.009 km (IUGG mean radius), and Δ denotes the difference between the two points. The intermediate value a is the square of half the chord length; d is the arc distance.
Forward (initial) bearing
θ = atan2( sin Δλ · cos φ₂ , cos φ₁ · sin φ₂ − sin φ₁ · cos φ₂ · cos Δλ )
The result of atan2 is in the range (−180°, 180°]; we normalise it to (0°, 360°) by adding 360° and taking modulo 360.
Final bearing
The final bearing equals the reverse initial bearing (from B to A) plus 180°, normalised to (0°, 360°). On a short route of a few hundred kilometres the two bearings are nearly the same; on a trans-Pacific crossing they can differ by 30° or more.
Destination point
Given origin (φ₁, λ₁), bearing θ, and angular distance δ = d/R:
φ₂ = arcsin( sin φ₁ · cos δ + cos φ₁ · sin δ · cos θ )
λ₂ = λ₁ + atan2( sin θ · sin δ · cos φ₁ , cos δ − sin φ₁ · sin φ₂ )
This is the inverse of the Haversine distance calculation and is used in the “Find Destination” tab.
Worked example — London to New York
- London: 51.5074° N, 0.1278° W
- New York: 40.7128° N, 74.0060° W
Plugging into the Haversine formula:
- Δφ = −10.7946° = −0.18840 rad
- Δλ = −73.8782° = −1.28942 rad
- a ≈ 0.17924
- c = 2 · arcsin(√0.17924) ≈ 0.87431 rad
- d = 6 371.009 × 0.87431 ≈ 5 570 km
Forward bearing (all angles converted to radians before applying trig):
- y = sin(−1.28942 rad) · cos(0.71063 rad) ≈ −0.72818
- x = cos(0.89884 rad) · sin(0.71063 rad) − sin(0.89884 rad) · cos(0.71063 rad) · cos(−1.28942 rad) ≈ 0.24124
- θ = atan2(−0.72818, 0.24124) ≈ −71.7° → normalised to 288.3° (WNW)
This means an aircraft departing London heads west-northwest at takeoff, arcs northward over Iceland, then descends into New York — a classic polar great-circle route.
| Route | Distance | Forward bearing |
|---|---|---|
| London → New York | 5 570 km | 288° WNW |
| Tokyo → Sydney | 7 826 km | 170° S |
| Cape Town → Cairo | 7 239 km | 12° NNE |
| Yerevan → Tbilisi | 170 km | 9° N |
Reading the compass rose
The compass rose shows the forward bearing as a blue needle. North is always at the top. The 16 compass points are marked around the ring with major tick marks at the cardinal directions (N, E, S, W) and minor ticks at every 22.5°. The bearing in degrees is displayed inside the dial for quick reference.
Practical navigation notes
- All bearings are true north, not magnetic. To use the result with a physical compass, apply your local magnetic declination (available from NOAA for free).
- Haversine is accurate to within ~0.5% for any pair of surface points. The small error arises because the Earth is slightly oblate (flattened at the poles). For sub-metre precision use the Vincenty formula or Karney’s algorithm.
- Nautical miles (NM) are the natural unit for maritime and aviation navigation: 1 NM equals exactly 1 minute of arc of latitude, making chart work straightforward.
- The midpoint on a great-circle arc is not the same as the midpoint on a rhumb line (a path of constant bearing). For routes that cross significant longitude ranges, the great-circle midpoint can be hundreds of kilometres north of the straight-looking map midpoint.