Magnetic compasses (China, 11th century) predate the European Age of Exploration by ~400 years.
§01What is
Understanding the Compass Bearing Calculator
The Compass Bearing Calculator computes Bearing (°) from 4 inputs: lat 1, lon 1, lat 2, lon 2. Forward bearing between two lat/lon points.
Quick calculators for the math that shouldn’t need a notepad — instant, accurate, private to your browser.
The Compass Bearing Calculator sits in that toolkit — it forward bearing between two lat/lon points. Enter your numbers above and the result updates instantly; every step of the math is shown in the Derivation panel so you can see exactly how the answer was reached.
Apply the formula to a realistic set of inputs: Lat 1 = 40.7128, Lon 1 = -74.006, Lat 2 = 51.5074, Lon 2 = -0.1278.
01Start by noting the input — Lat 1: 40.7128.
02Start by noting the input — Lon 1: -74.006.
03Start by noting the input — Lat 2: 51.5074.
04Start by noting the input — Lon 2: -0.1278.
05Substitute these values into the formula: {let t=e.lat1,a=e.lon1,n=e.lat2,r=e.lon2;const o=e=>e × π / 180,l=sin(o(r-a)) × cos(o(n)),i=cos(o(t)) × sin(o(n))-sin(o(t)) × cos(o(n)) × co…
06Compute Bearing (°): the calculator returns 51.2126.
07Cross-check the answer by opening the Derivation panel above — every line of math is shown so you can follow the computation end-to-end.
§04Variants
Common Compass Bearing Problems
The formula gets rearranged depending on which variable you need. Here are the patterns you’ll run into in the real world — find the one that matches your problem and follow the worked steps.
01 · PATTERN
Lat 1 halved
lat1 = 20.3564 (from 40.7128)
Keep every other input at its default and halve the lat 1. See how bearing (°) responds.
01New Lat 1: 20.3564
02Baseline Bearing (°): 51.2126
03New Bearing (°): 41.5909
04Bearing (°) decreases by 18.8% → use this sensitivity to plan for real-world variation.
02 · PATTERN
Lat 1 doubled
lat1 = 81.4256 (from 40.7128)
Keep every other input at its default and double the lat 1. See how bearing (°) responds.
01New Lat 1: 81.4256
02Baseline Bearing (°): 51.2126
03New Bearing (°): 95.18
04Bearing (°) increases by 85.9% → use this sensitivity to plan for real-world variation.
03 · PATTERN
Lon 1 halved
lon1 = -37.003 (from -74.006)
Keep every other input at its default and halve the lon 1. See how bearing (°) responds.
01New Lon 1: -37.003
02Baseline Bearing (°): 51.2126
03New Bearing (°): 54.2874
04Bearing (°) increases by 6% → use this sensitivity to plan for real-world variation.
04 · PATTERN
Lon 1 doubled
lon1 = -148.012 (from -74.006)
Keep every other input at its default and double the lon 1. See how bearing (°) responds.
01New Lon 1: -148.012
02Baseline Bearing (°): 51.2126
03New Bearing (°): 19.4479
04Bearing (°) decreases by 62% → use this sensitivity to plan for real-world variation.
§05FAQ
Frequently asked questions
Yes. The calculator implements the standard formula as documented and returns exact floating-point results. No approximations are used unless noted in the formula.
Your feedback
How useful was this calculator?
Your ratings stay in your browser — they help us learn which tools people actually rely on.