Point of no return calculator
The point of no return calculator finds how far you can travel along a route and still return to the starting point within a stated fuel endurance.
Run — free
Enter the usable endurance in hours, the outbound ground speed, and the return ground speed. The result gives the limiting distance plus the time spent on each leg. It is useful when wind, current, or another directional effect makes the two ground speeds different. Use endurance remaining after subtracting every reserve your operation requires.
Understand what the point of no return means
The point of no return is the position on an outbound route where the fuel or energy remaining is just sufficient to reverse course and reach the departure point. Before that position, a return is possible within the endurance entered; beyond it, the planned return would exceed that endurance. This calculator treats the route as a straight out-and-back track and assumes each leg has a constant ground speed. Ground speed matters because the vehicle consumes time, not map distance, while wind or current can make equal distances take different amounts of time. The answer is a distance from the starting point, expressed in the distance unit implied by the speeds. If speeds are entered in knots, the result is nautical miles. If they are entered in kilometres per hour, it is kilometres. This is a planning calculation, not an authorization to continue. Actual fuel state, changing conditions, route deviations, regulatory requirements, and safe landing or stopping options must still govern the real decision.
Enter endurance and speeds consistently
Enter usable fuel endurance as decimal hours. A value of 4.5 means four hours and thirty minutes. The endurance should be the time genuinely available for the out-and-back portion, after deducting required reserve fuel and allowances for activities such as startup, taxi, climb, approach, holding, diversion, or unusable fuel. Next, enter positive outbound and return ground speeds using the same distance unit per hour. You may use knots, kilometres per hour, or miles per hour, but do not mix units. The calculator does not derive ground speed from airspeed and wind, and it does not predict how conditions will change. Use speeds appropriate to the expected direction of travel. A lower return speed moves the point of no return closer to the start because more time must be protected for the trip home. A higher return speed permits a later turn, although the point will still be limited by the total usable endurance supplied.
Read the distance and time results
The calculation divides the usable endurance between the two legs so that outbound distance equals return distance. Algebraically, outbound time is endurance multiplied by return ground speed and divided by the sum of the outbound and return speeds. Multiplying that time by outbound speed gives the point-of-no-return distance. Return time is the same distance divided by return speed, and the two times add back to the entered endurance apart from displayed rounding. The response includes hours and minutes for both legs, making it easier to place the result on a navigation timeline. Do not interpret the distance as a geographic coordinate: it is along-route distance from the origin. Turns, doglegs, altitude changes, speed changes, and intermediate stops are not modeled. For operational use, compare the result with checkpoints on the actual route, recalculate when the forecast or measured ground speeds change, and preserve whatever additional safety margin your procedures require rather than treating the mathematical limit as a target.
What you can do with it
Plan an aviation out-and-back leg
Estimate the limiting along-route distance when forecast wind creates different outbound and homebound ground speeds.
Assess a marine patrol route
Use speed over ground in each direction to account for a current before selecting a conservative turnaround checkpoint.
Build a fuel planning worksheet
Add a deterministic point-of-no-return calculation to route planning software or a repeatable operating checklist.
FAQ
What formula does the calculator use?
Distance equals endurance multiplied by outbound ground speed and return ground speed, divided by the sum of those two speeds.
Which distance unit is returned?
The result uses the unit behind your speeds: knots produce nautical miles, kilometres per hour produce kilometres, and miles per hour produce miles.
Should fuel reserve be included in endurance?
No. Subtract required reserves and other fuel allowances first, then enter only the endurance available for the out-and-back travel.
Why are outbound and return speeds separate?
Wind, current, or other directional effects can change ground speed, so equal route distances may require unequal travel times.
How much does the API request cost?
Each API request costs $0.002. The browser calculator can run the same deterministic calculation locally.
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/geo/point-of-no-return \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fuel_endurance_hours":5,"outbound_ground_speed":120,"return_ground_speed":180}'const res = await fetch("https://api.kit.forhosting.com/geo/point-of-no-return", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fuel_endurance_hours": 5,
"outbound_ground_speed": 120,
"return_ground_speed": 180
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/point-of-no-return",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fuel_endurance_hours": 5,
"outbound_ground_speed": 120,
"return_ground_speed": 180
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/point-of-no-return", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fuel_endurance_hours":5,"outbound_ground_speed":120,"return_ground_speed":180}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fuel_endurance_hours":5,"outbound_ground_speed":120,"return_ground_speed":180}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/point-of-no-return", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"fuel_endurance_hours": 5,
"outbound_ground_speed": 120,
"return_ground_speed": 180
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.point_of_no_return",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |