# Heat Index Calculator

> Computes the NWS heat index ('feels like' temperature in the shade) from air temperature and relative humidity with the Rothfusz regression, including the NWS low- and high-humidity adjustments, and classifies the NWS risk category.

- Calculator id: `heat-index` · Category: Weather & Environment (`weather`) · Tool name: `calculate_heat_index`
- Canonical page: https://tttkmbb.com/weather/heat-index · This document: https://tttkmbb.com/weather/heat-index.md · JSON definition: https://tttkmbb.com/weather/heat-index.json

## Purpose

Computes the NWS heat index ('feels like' temperature in the shade) from air temperature and relative humidity with the Rothfusz regression, including the NWS low- and high-humidity adjustments, and classifies the NWS risk category.

**Use when:** You need how hot humid weather feels, the NWS heat-index category (caution to extreme danger) or a heat-safety threshold for temperatures of 80 °F (27 °C) and above.

**Do not use when:** Temperatures are below about 80 °F (27 °C), where the heat index is not meaningful (for cold weather use wind-chill), or you need the dew point itself (use dew-point).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `temperature` | number |  | required | Air temperature in the shade, in temperature_unit. The regression is valid for 80–112 °F (27–44 °C). (min -50, max 150) |
| `temperature_unit` | enum: c \| f |  | optional, default "f" | Unit of the temperature input(s). |
| `relative_humidity_percent` | number | % | required | Relative humidity in percent (70 means 70 %). (min 0, max 100) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `heat_index_f` | number | °F | Apparent temperature in Fahrenheit. |
| `heat_index_c` | number | °C | Apparent temperature in Celsius. |
| `temperature_f` | number | °F | Input temperature in Fahrenheit (the regression works in °F). |
| `category` | string |  | Caution (80–89 °F), Extreme caution (90–102 °F), Danger (103–124 °F) or Extreme danger (125 °F and above). |
| `effect` | string |  | NWS description of heat disorders possible with prolonged exposure or strenuous activity. |
| `method_used` | string |  | Rothfusz regression (heat index ≥ 80 °F) or the simple Steadman-average formula below 80 °F. |

## Formula

`T in °F, RH in %. Simple: HI₀ = 0.5·[T + 61 + 1.2·(T − 68) + 0.094·RH]. If HI₀ ≥ 80: HI = −42.379 + 2.04901523·T + 10.14333127·RH − 0.22475541·T·RH − 0.00683783·T² − 0.05481717·RH² + 0.00122874·T²·RH + 0.00085282·T·RH² − 0.00000199·T²·RH²; if RH < 13 and 80 ≤ T ≤ 112: HI −= (13 − RH)/4 · √((17 − |T − 95|)/17); if RH > 85 and 80 ≤ T ≤ 87: HI += (RH − 85)/10 · (87 − T)/5`

The Rothfusz regression reproduces Steadman's apparent-temperature model within ±1.3 °F for shady, light-wind conditions; full sunshine can add up to 15 °F. NWS categories: 80–90 °F caution, 90–103 extreme caution, 103–124 danger, 125+ extreme danger.

## Data Sources

- NWS Weather Prediction Center – The Heat Index Equation (Rothfusz 1990 regression) — https://www.wpc.ncep.noaa.gov/html/heatindex_equation.shtml (government, retrieved 2026-09-24)
- NWS – Heat Index chart and categories — https://www.weather.gov/safety/heat-index (government, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/heat-index?temperature=…&relative_humidity_percent=…`
- `POST https://tttkmbb.com/api/v1/calculate/heat-index` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/heat-index · OpenAPI operationId `calculate_heat_index` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "heat-index", "inputs": {…}}`

## Example

- 90 °F, 70 % RH: inputs `{"temperature":90,"temperature_unit":"f","relative_humidity_percent":70}` → `{"heat_index_f":105.9,"heat_index_c":41.1,"temperature_f":90,"category":"Danger","method_used":"Rothfusz regression"}`
- 35 °C, 60 % RH: inputs `{"temperature":35,"temperature_unit":"c","relative_humidity_percent":60}` → `{"heat_index_f":113.1,"heat_index_c":45.1,"category":"Danger"}`

```
GET https://tttkmbb.com/api/v1/calculate/heat-index?temperature=90&temperature_unit=f&relative_humidity_percent=70
```

## Limitations

Temperatures are below about 80 °F (27 °C), where the heat index is not meaningful (for cold weather use wind-chill), or you need the dew point itself (use dew-point). The Rothfusz regression reproduces Steadman's apparent-temperature model within ±1.3 °F for shady, light-wind conditions; full sunshine can add up to 15 °F. NWS categories: 80–90 °F caution, 90–103 extreme caution, 103–124 danger, 125+ extreme danger. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why does the chart say 105 °F but the calculator 105.9 °F?**

The NWS chart rounds Steadman's original table; the regression used here (and by the NWS online calculator) reproduces it within about ±1.3 °F.

**Does it account for sun or wind?**

No. The heat index assumes shade and a light breeze; the NWS notes that direct sunshine can raise the apparent temperature by up to 15 °F (8 °C).

**What happens below 80 °F?**

The simple Steadman-average formula is reported and the category is 'No heat-index warning', because the full regression is only fitted for heat index values of 80 °F and above.

## Related

- [Dew Point Calculator](https://tttkmbb.com/weather/dew-point.md) — Dew point is the other common measure of how muggy the air feels.
- [Wind Chill Calculator](https://tttkmbb.com/weather/wind-chill.md) — The cold-weather counterpart of the heat index.
- [Temperature Converter](https://tttkmbb.com/conversion/temperature.md) — Plain °C ↔ °F conversion.
