Dew point calculator
Find the temperature at which moisture starts to condense: air at 25 °C and 60% humidity has a dew point of 16.69 °C. Use it to predict sweating windows and walls, or to judge how muggy the air feels. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Air temperature (°C)
- 25
- Relative humidity (%)
- 60
- Dew point (°C)
- 16.69
Calculates the dew point in degrees Celsius from an air temperature and a relative humidity percentage using the Magnus-Tetens approximation.
What the dew point tells you
The dew point is the temperature to which air must cool for its water vapour to start condensing. Air at 25 °C with 60% relative humidity has a dew point of 16.69 °C: any surface colder than that will collect moisture. That makes it a practical way to predict when windows, walls or equipment will start to sweat, simply by comparing the dew point with the surface temperature. It is also a better single measure of how muggy the air feels than humidity alone, which is why it is used to gauge comfort. You enter the air temperature in Celsius and the relative humidity as a percentage, and the result comes back in Celsius.
How the calculation works
The calculator uses the Magnus-Tetens approximation with the coefficients 17.62 and 243.12. It first works out an intermediate term: 17.62 times the temperature, divided by 243.12 plus the temperature, plus the natural logarithm of the humidity divided by 100. The dew point is then 243.12 times that term, divided by 17.62 minus the term. This approximation is accurate to a small fraction of a degree across typical weather conditions, and it holds below freezing too. Humidity must be above 0 and no more than 100 percent, since a logarithm of zero has no value. Results are rounded to two decimals by default, and you can choose from 0 to 4.
What you can do with it
Assess condensation risk
Compare the dew point against a surface temperature to predict when windows, walls or equipment will start to sweat.
Gauge comfort and mugginess
Convert temperature and humidity into a dew point, a better single measure of how muggy air feels than humidity alone.
FAQ
What units does it use?
Temperature is in degrees Celsius and humidity is a relative-humidity percentage. The dew point is returned in Celsius.
Why must humidity be above 0?
The formula takes the natural log of RH / 100, which is undefined at 0.
How precise is the result?
Rounded half-up to the decimals you request (0 to 4, default 2).
How do I know if a window or wall will get condensation?
Compare the dew point with the surface temperature. When a window, wall or piece of equipment is colder than the dew point, moisture starts to condense on it; at 25 °C and 60% humidity that threshold is 16.69 °C.
Does the dew point calculator work below freezing?
Yes. The air temperature can be any number, including negative values for cold conditions, because the Magnus-Tetens formula stays valid below freezing. Only the humidity is limited, to more than 0 and at most 100 percent.
Related tools
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/dev/dew-point \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"temp_c":25,"humidity":60}'const res = await fetch("https://api.kit.forhosting.com/dev/dew-point", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"temp_c": 25,
"humidity": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/dew-point",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"temp_c": 25,
"humidity": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/dew-point", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"temp_c":25,"humidity":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"temp_c":25,"humidity":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/dew-point", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"temp_c": 25,
"humidity": 60
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.dew_point",
"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. |
Technical notes
The Magnus-Tetens approximation
The dew point is then Td = b * gamma / (a - gamma). The example inputs, a temperature of 25 C at 60% humidity, produce a dew point of 16.69 C. This tool computes the dew point, the temperature to which air must cool for water vapour to start condensing, using the Magnus-Tetens formula with the coefficients a = 17.62 and b = 243.12. It first evaluates an intermediate term gamma = a * T / (b + T) + ln(RH / 100), where T is the air temperature in Celsius and RH is the relative humidity as a percentage. The response echoes temp_c and humidity, returns dew_point_c, and tags method "magnus_tetens" so the result is self-describing. This approximation is accurate to a small fraction of a degree across typical meteorological ranges.
Inputs, ranges and validation
The optional decimals field defaults to 2 and, like the other dev calculators, is bounded to an integer from 0 to 4. Two fields are required. temp_c is the air temperature in Celsius and may be any finite number, including negatives for cold conditions, since the formula is valid below freezing. humidity is the relative humidity in percent and must be greater than 0 and no more than 100; a value of 0 or below, or above 100, returns a typed invalid_input error, because the natural logarithm of RH / 100 is undefined at zero and RH cannot exceed saturation. Every input is checked for type, finiteness and range before the logarithm runs, and any non-finite intermediate result is rejected as invalid_input rather than propagated into the output.
Rounding, determinism and delivery
The dew point is rounded half-up on the exact IEEE value to the requested number of decimals, so results never drift through a locale-sensitive formatter. Failed API tasks are never charged; prepaid balance is spent only on successful work at $0.002. Landings ship in eight languages around one language-neutral JSON contract.
Integration use cases
Process sensor data in bulk
Send batches of temperature and humidity readings through the API to add a dew_point_c column to a weather or HVAC log.
Technical questions
Which formula is used?
The Magnus-Tetens approximation with a = 17.62 and b = 243.12, computing Td = b * gamma / (a - gamma).
Does it work below freezing?
Yes. temp_c accepts any finite value including negatives, and the approximation stays valid for sub-zero air.