True airspeed from indicated airspeed calculator
This true airspeed calculator estimates how fast an aircraft is moving through the surrounding air when you know indicated airspeed, pressure altitude, and outside air temperature.
Run — free
It uses the familiar aviation planning rule that true airspeed changes by roughly two percent per thousand feet, with a temperature adjustment made through estimated density altitude. The result is useful for flight planning, quick cross-checks, and classroom work, but it remains an approximation rather than certified aircraft performance data or an air-data-computer result.
Enter the three values that describe the flight condition
Start with the indicated airspeed shown by the aircraft instrument, expressed in knots. Then enter pressure altitude in feet, not merely the elevation printed on an airport chart. Pressure altitude represents altitude relative to the standard pressure datum and is the appropriate basis for this rule-of-thumb calculation. Finally, enter outside air temperature in degrees Celsius. Temperature matters because air density at a given pressure altitude can be higher or lower than the standard atmosphere assumes. A warm day generally produces a higher estimated density altitude and therefore a larger difference between indicated and true airspeed. A cold day generally moves the estimate in the opposite direction. Keep all three values tied to the same flight condition; combining a cruise airspeed with a surface temperature, for example, gives a result that may look precise but has little practical meaning. The calculator validates finite numeric values and reports the intermediate atmospheric estimates so you can review what influenced the answer rather than accepting a single unexplained number.
Understand how the rule of thumb applies temperature
The calculation first estimates International Standard Atmosphere temperature as 15 degrees Celsius at sea level minus 2 degrees for every 1,000 feet of pressure altitude. It compares your outside air temperature with that standard value. The difference is converted to an approximate density-altitude adjustment using 120 feet per degree Celsius, a familiar cockpit planning shortcut. The calculator then applies the standard two-percent true-airspeed increase for each 1,000 feet of estimated density altitude. In compact form, estimated true airspeed equals indicated airspeed multiplied by one plus 0.02 times density altitude in thousands of feet. This staged approach makes the temperature correction explicit and easy to inspect. It also explains why two flights at the same pressure altitude and indicated airspeed can receive different estimates on days with different temperatures. These relationships are deliberately simplified. They do not model compressibility, position error, instrument error, humidity, or the exact standard-atmosphere density equations used by more rigorous aeronautical calculations.
Use the estimate within its proper planning role
Treat the returned true airspeed as a quick estimate for planning and reasonableness checks. It can help you compare an indicated cruise target with an expected true airspeed, discuss how hot-and-high conditions affect performance, or make an initial groundspeed estimate before applying wind. True airspeed is not groundspeed: wind still has to be added as a vector, so a headwind, tailwind, or crosswind changes motion over the ground without changing the aircraft's speed through the air. The output includes knots, miles per hour, and kilometres per hour for convenience, along with the correction factor and estimated density altitude. For operational decisions, use the aircraft flight manual, pilot operating handbook, approved performance tables, and installed instruments. At high speed or high altitude, compressibility and non-linear atmospheric effects make the simple percentage rule progressively less reliable. The calculator therefore offers transparency and speed, not false certification. If a rule-of-thumb result disagrees materially with approved aircraft data, the approved source governs.
What you can do with it
Cruise planning cross-check
Compare an indicated cruise speed with a quick temperature-adjusted true airspeed estimate before using approved performance data.
Ground school exercise
Show how pressure altitude and temperature change the relationship between indicated and true airspeed.
Hot-and-high discussion
Estimate how warmer-than-standard air raises density altitude and increases the true airspeed associated with a given indication.
FAQ
What formula does this calculator use?
It estimates ISA temperature, adjusts pressure altitude by about 120 feet per degree Celsius from ISA, and then increases indicated airspeed by about two percent per 1,000 feet of estimated density altitude.
Is true airspeed the same as groundspeed?
No. True airspeed is speed through the surrounding air. Groundspeed also reflects the wind vector.
Why does outside air temperature affect the result?
Temperature changes air density. Warmer-than-standard air usually raises density altitude, increasing the estimated difference between indicated and true airspeed.
Can I use the result for operational aircraft performance decisions?
Use it only as an estimate. Approved flight-manual data, performance tables, and installed flight instruments should govern operational decisions.
What does an API request cost?
Each API request costs $0.002. The browser calculation uses the same deterministic logic.
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/travel/true-airspeed-from-ias \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"indicated_airspeed_knots":120,"pressure_altitude_ft":8000,"outside_air_temperature_c":5}'const res = await fetch("https://api.kit.forhosting.com/travel/true-airspeed-from-ias", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"indicated_airspeed_knots": 120,
"pressure_altitude_ft": 8000,
"outside_air_temperature_c": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/true-airspeed-from-ias",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"indicated_airspeed_knots": 120,
"pressure_altitude_ft": 8000,
"outside_air_temperature_c": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/true-airspeed-from-ias", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"indicated_airspeed_knots":120,"pressure_altitude_ft":8000,"outside_air_temperature_c":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"indicated_airspeed_knots":120,"pressure_altitude_ft":8000,"outside_air_temperature_c":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/true-airspeed-from-ias", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"indicated_airspeed_knots": 120,
"pressure_altitude_ft": 8000,
"outside_air_temperature_c": 5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.true_airspeed_from_ias",
"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. |