ForHosting KIT · Travel & geography

Next waypoint ETA calculator

At 25 km/h on a 76° leg, a fix at 37.7749, -122.4194 is 13.43 km from the waypoint 37.8044, -122.2712 and gets there in about 32 min 14 s. Only the part of your speed aimed at the waypoint counts. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Current lat
37.7749
Current lon
-122.4194
Waypoint lat
37.8044
Waypoint lon
-122.2712
Bearing deg
76
Speed
25
You get
Distance remaining
13.43
Distance m
13,429.644
Waypoint bearing deg
75.817
Route bearing deg
76

The next waypoint ETA calculator turns one navigation fix into a practical progress estimate. Supply the current latitude and longitude, the next waypoint coordinates, the bearing followed on the active route leg, and present speed. It measures the great-circle distance still separating the two positions, finds the initial bearing toward the waypoint, compares that direction with the route bearing, and uses only the speed component that is actually closing the gap. The result includes remaining distance, course error, closing speed, ETA in seconds and minutes, and a readable duration. It runs deterministically without live maps, traffic, weather, network requests, or the current clock.

What the waypoint estimate measures

A waypoint ETA is most useful when it describes progress on the leg you are following, rather than dividing straight-line distance by the full speed regardless of direction. This calculator begins with the current position and next waypoint as decimal-degree coordinates. It calculates their shortest surface separation on a sphere using the haversine formula and the IUGG mean Earth radius.

It then calculates the initial true bearing from the current fix to the waypoint. The tool projects speed onto the waypoint direction with the cosine of that error. A vessel, aircraft, cyclist, or other moving object aimed directly at the waypoint therefore uses its full speed; one travelling obliquely has a lower closing speed and a longer ETA.

The method is an instantaneous estimate from one fix, not a forecast of future turns or speed changes. If the current position is already at the waypoint, distance and ETA are zero.

How to enter a route fix and interpret the result

Latitudes accept negative values south of the equator and positive values north of it, while longitudes are negative west of Greenwich and positive east of it. Coordinates are range-checked, and longitude differences are wrapped across the antimeridian so a short leg near 180 degrees does not accidentally become an almost complete trip around Earth. The speed field must be strictly positive.

Precision controls zero through nine decimal places for numeric output without altering the underlying calculation. ETA is distance divided by closing speed, not by total speed. For example, a 60-degree course error leaves only half of the current speed closing the waypoint, so the instantaneous ETA is approximately twice the direct-heading estimate.

Limits of an instantaneous ETA and good operational use

Treat this output as a transparent snapshot, not as turn-by-turn navigation or a promise of arrival. The estimate assumes the current bearing and speed continue while the remaining great-circle separation closes. It does not know the geometry of later route segments, restricted areas, currents, wind, traffic, climb profiles, terrain, scheduled stops, or acceleration.

It also uses a spherical Earth rather than an ellipsoidal geodesic, an appropriate trade-off for quick leg monitoring and repeatable automation but not a substitute for certified navigation equipment. On a curved or deliberately offset route, update the calculation after each position fix so course error and closing speed reflect the newest motion. If your route mandates following a polyline rather than moving toward the waypoint, compute the remaining polyline length elsewhere; this capability measures current-to-waypoint surface distance and adjusts time for the supplied heading.

The explicit rejection of a non-closing bearing is operationally valuable: it can flag a reversed course, a stale waypoint, swapped coordinates, or a vehicle moving along a holding pattern before downstream software displays a plausible-looking arrival. For noisy GPS feeds, smooth position, bearing, and speed before calling the solver, or require several consistent fixes before acting on an ETA change. No input is stored by the solver, no live location is fetched, and no system time is consulted.

Marine leg monitoring

Convert a boat fix, active waypoint, course, and speed in knots into nautical miles remaining and an instantaneous leg ETA.

Fleet telemetry dashboards

Turn periodic position and heading messages into reproducible progress fields without a maps request for every update.

How is the next waypoint ETA calculated?

The solver measures great-circle distance, finds the initial bearing to the waypoint, projects current speed onto that direction, and divides distance by the resulting positive closing speed.

Why does bearing affect ETA?

Only motion toward the waypoint closes the remaining distance. A course angled away from the direct bearing contributes less closing speed than the same speed aimed directly at it.

Does this calculate an arrival clock time?

No. It returns a remaining duration without reading the clock.

Does it use maps, traffic, wind, or currents?

No. It is deterministic spherical geometry based only on the coordinates, route bearing, speed, units, and precision you provide.

What if my course points away from the waypoint?

When your bearing is at right angles to the waypoint or points away from it, nothing of your speed closes the gap. The calculator then refuses the estimate instead of showing a negative or endless arrival time.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/geo/next-waypoint-eta

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/geo/next-waypoint-eta \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"current_lat":37.7749,"current_lon":-122.4194,"waypoint_lat":37.8044,"waypoint_lon":-122.2712,"bearing_deg":76,"speed":25}'
{
  "current_lat": 37.7749,
  "current_lon": -122.4194,
  "waypoint_lat": 37.8044,
  "waypoint_lon": -122.2712,
  "bearing_deg": 76,
  "speed": 25
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.next_waypoint_eta",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

latitude_min-90
latitude_max90
longitude_min-180
longitude_max180
speed_max_mps10000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

What the waypoint estimate measures

Your supplied bearing_deg is treated as the current course on the active route leg, measured clockwise from true north. The signed difference between those directions is returned as course_error_deg: a positive value puts the waypoint clockwise of the present course and a negative value puts it counter-clockwise. The response reports distance_remaining in your chosen unit, an unambiguous distance_m value, the waypoint and route bearings, closing_speed_mps, eta_seconds, eta_minutes, and eta_formatted. If the supplied bearing is perpendicular to or points away from the target, there is no positive closing speed, so the request is rejected instead of returning a misleading negative or infinite ETA.

How to enter a route fix and interpret the result

Use current_lat and current_lon for the present GPS fix and waypoint_lat and waypoint_lon for the next route point. Enter bearing_deg from zero through 360; zero and 360 both mean true north, 90 means east, 180 south, and 270 west. Choose speed_unit from km/h, mph, kn, or m/s, and select distance_unit independently from m, km, mi, or nmi. This separation is convenient when a marine display supplies knots but a report needs nautical miles, or a telemetry feed uses metres per second while the operator wants kilometres remaining. A small course error changes ETA only slightly, while an error approaching 90 degrees makes it grow rapidly. eta_formatted rounds to the nearest whole second for a readable label; eta_seconds and eta_minutes retain the requested decimal precision for software.

Limits of an instantaneous ETA and good operational use

Combine eta_seconds with your own trusted clock only if you need an arrival timestamp; keeping duration separate prevents timezone and device-clock differences from changing the calculation itself.

Navigation simulation tests

Generate stable distance, course-error, closing-speed, and ETA fixtures for autopilot displays and route-following exercises.

What happens when the bearing points away from the waypoint?

The request returns invalid_input because perpendicular or outward motion has no positive closing speed and therefore no finite instantaneous ETA.

What does the API calculation cost?

Each successful API request costs $0.002. The same deterministic calculation is available free in the browser.

Read the full KIT documentation →