ForHosting KIT · Science

Cloud base calculator

A temperature of 20 °C with a dew point of 12 °C puts the cloud base 1,000 m up: 125 m for every degree of spread. Enter readings in Celsius, Fahrenheit or kelvin and get the height in metres and feet. 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
Creativity
20
Dew point
12
You get
Result
1,000
Temperature unit
Celsius
Temperature c
20
Dew point c
12

A cloud base calculator estimates how high the lowest convective or stratiform cloud layer sits above the ground from two surface readings: air temperature and dew point. The standard lapse-rate spread formula treats the dry-bulb temperature as falling at about 9.8 °C per kilometre along a dry adiabat and the dew point as falling at about 1.8 °C per kilometre in unsaturated air, so the dew-point depression closes at 8 °C per kilometre. That rate is exactly 125 metres of height per Celsius degree of spread: cloud-base height in metres equals 125 times (T minus Td) after both observations are converted to Celsius. Equal temperatures return a base of zero metres, the fog-at-the-surface case.

What the lapse-rate spread formula is and why 125 metres per degree

The lifting condensation level is the height at which a parcel of unsaturated air, lifted dry-adiabatically from the surface, reaches saturation. At that height the dry-bulb temperature has fallen onto the dew point and a cloud can form. In the standard teaching approximation the dry-bulb temperature decreases at the dry adiabatic lapse rate of about 9.8 °C per kilometre, while the dew point of unsaturated air decreases much more slowly, at about 1.8 °C per kilometre.

The dew-point depression therefore closes at 8.0 °C per kilometre, which is 0.008 °C per metre. Inverting that rate gives the classic 125 metres of cloud-base height per Celsius degree of surface spread: height equals 125 times (T minus Td), with both temperatures in Celsius, or equivalently height equals (T minus Td) divided by 0.008. That is the lapse-rate spread formula used in aviation briefing, field meteorology, and classroom lifting-condensation-level estimates.

It is not a full parcel model with mixing ratio and a numerically integrated LCL; it is the closed-form spread rule that pilots and observers have used for decades because it needs only a thermometer and a dew-point reading. When the two surface temperatures are equal the formula returns zero metres: fog or stratus sitting on the ground. Temperatures are converted to Celsius before the 125 metres-per-degree factor is applied, so a Fahrenheit or Kelvin pair is not multiplied by 125 as if the unit were Celsius.

VFR briefing from a METAR dry-bulb and dew point

Turn a surface temperature and dew point into a metre and foot estimate of the lowest cloud layer so a pilot can judge whether a circuit or a cross-country remains visual.

How is cloud-base height calculated from temperature and dew point?

Convert both readings to Celsius, form the dew-point depression T minus Td, and multiply by 125 metres per degree. That factor is the inverse of an 8 °C/km spread-closure rate (dry adiabatic 9.8 °C/km minus dew-point lapse 1.8 °C/km).

What units does the cloud base calculator accept?

The 125 m/°C factor is always applied after conversion to Celsius.

What does a result of zero metres mean?

The air temperature equals the dew point at the surface, so the lifting condensation level is at the ground: fog or stratus sitting on the surface. That is a valid success, not an error.

What happens if the dew point is higher than the air temperature?

The reading is refused, because the air would already be supersaturated at the surface and the formula would give a negative height, a cloud below the ground. Check both readings and their unit.

How accurate is the 125 metres-per-degree rule?

It is the closed-form spread rule pilots and observers have used for decades, not a full parcel model with mixing ratio. Treat the result as a briefing estimate of the lowest cloud layer, enough to judge whether a flight can stay visual.

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/phys/cloud-base

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/phys/cloud-base \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"temperature":20,"dew_point":12}'
{
  "temperature": 20,
  "dew_point": 12
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "phys.cloud_base",
  "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.

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.

When the dew point exceeds the air temperature the air would already be supersaturated at the surface and the request fails with invalid_input instead of a negative height.

What the lapse-rate spread formula is and why 125 metres per degree

When the dew point is higher than the air temperature the observation is physically inconsistent with relative humidity of 100 percent or less, so this calculator refuses the request instead of reporting a negative height that would imply a cloud below the surface.

Input contract, response shape, and error behaviour

Send a JSON body with two required finite numbers: temperature (aliases t, temp, air_temperature, and dry_bulb) and dew_point (aliases dewpoint, td, dew, and dew_point_temperature). An optional temperature_unit field accepts the closed set celsius, fahrenheit, or kelvin and defaults to celsius, which is the native unit of the 125 metres-per-degree factor. Fahrenheit and Kelvin values are converted to Celsius before the spread is evaluated; the echoed temperature_c and dew_point_c fields always report those converted temperatures so a client can audit the conversion without reimplementing it. A dew point that exceeds the air temperature fails with invalid_input and is never charged, because a negative dew-point depression would produce a negative height and the published formula is not defined for that case. Missing fields, non-finite numbers, temperatures at or below absolute zero, magnitudes larger than one million, and an unknown temperature_unit are also rejected by name. On success the body echoes the submitted temperature, dew_point, and the resolved temperature_unit; it then publishes temperature_c, dew_point_c, dew_depression_c, cloud_base_m as the primary height in metres, cloud_base_ft as the same height in international feet (0.3048 metres per foot), result as an alias of cloud_base_m, method set to lapse_rate_spread, plus formula and equation strings filled with the rounded numbers. Example: temperature 20 °C and dew_point 12 °C yield an 8 °C spread and a 1000 metre base, because 125 times 8 is 1000. Pricing is a flat $0.002 per successful request with unit item; failed validation does not consume prepaid balance.

Aviation, field work, classrooms, and searches this page is not answering

VFR pilots and weather briefers use a cloud base calculator when a METAR already gave them a dry-bulb and a dew point and they need a metre (or foot) estimate of the lowest cloud layer above ground before deciding whether a circuit or a cross-country remains legal. Growers, vineyard managers, and municipal road desks use the same spread when they want a quick ceiling for morning fog or low stratus from an evening observation. Classroom and exam-prep generators need a deterministic oracle for the 125 metres-per-degree rule so a grader can mark both the fog-at-the-surface case (spread zero) and the rejection of a dew point above the air temperature. Prefer this capability when you already have a surface temperature and a dew point and only need the estimated base height. Enter the surface air temperature and the matching dew point, choose the unit if it is not Celsius, and read cloud_base_m, cloud_base_ft, and dew_depression_c. Keep both temperatures above absolute zero, keep the dew point at or below the dry-bulb, and prefer JSON numbers over pre-formatted strings when you control the client. This page targets people searching for a cloud base calculator, lifting condensation level from temperature and dew point, or the lapse-rate spread formula in metres. It is not a dew-point solver from temperature and humidity, not a relative-humidity calculator, not a full numerical LCL from mixing ratio and pressure, and not a ceiling-from-METAR parser. Round-trip checks are easy: convert both readings to Celsius, form the depression as T minus Td, multiply by 125, and confirm cloud_base_m matches within the same eight-decimal rounding.

Field ceiling for fog and low stratus

Convert an evening or dawn shelter temperature and dew point into cloud_base_m for growers, road desks, and observers who need a quick lifting-condensation-level height without a sounding.

Classroom checks of the 125 m/°C rule

Students enter T and Td from a textbook problem and verify that h = 125 × (T − Td) matches the published arithmetic, including the zero-metre fog case and the rejection of Td > T.

What happens if the dew point is higher than the air temperature?

The task fails with invalid_input. A negative dew-point depression would imply a cloud below the surface and relative humidity above 100 percent, so the formula is not defined and the request is not billed.

What does the cloud base calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →