Enter the air temperature and either the relative humidity or the dew point. The heat index (feels-like temperature) is calculated in °C, °F and K, with the NWS risk level and a graph of humidity against the heat index.
Table of Contents
-
What you can do on this page
-
What is this calculation used for?
-
How to Use
-
Formulas and graphs
-
Symbols and terms
-
Good to know before you start
-
How to calculate it in Excel
-
How to calculate it in Google Sheets
-
How to calculate it in Python
-
How to write it in LaTeX and other math languages (copy and paste)
-
How to have ChatGPT do the calculation
-
DataChef Features
-
Related Features
-
NumberChef Calculators List
What you can do on this page
- Enter the air temperature and relative humidity, and you get the heat index, the feels-like temperature used by the US National Weather Service (NWS), on the spot
- You can also use the dew point instead of the humidity (the dew point is converted to relative humidity automatically)
- The result is shown in °F, °C and K, together with the NWS risk level (Caution, Extreme Caution, Danger or Extreme Danger)
- A graph shows at a glance how much hotter the same temperature feels when the humidity is higher
- A plain-language explanation of the formulas and copy-and-paste formulas for Excel, Google Sheets and Python are all on this page
What is this calculation used for?
"It's 92°F today, a bit cooler than yesterday, so practice should be easier." If you ignore the humidity, this can be wrong. At 92°F and 75% humidity, the heat index is about 116°F, which falls in the NWS "Danger" category.
Seeing in numbers how much the humidity changes the risk helps coaches and players stop judging practice intensity and breaks by the temperature alone. Many schools and athletic associations follow their own heat policies (often based on the WBGT), so follow those for decisions such as canceling practice.
In the US, the heat index is widely used to plan heat safety for outdoor workers, and the OSHA-NIOSH Heat Safety Tool app is built on it. At 86°F, for example, the heat index is about 88°F at 50% humidity but about 100°F at 80% humidity, a difference of about 12°F from humidity alone.
This lets you adjust the work, such as slowing the pace and adding more breaks and water on muggy days, based on numbers rather than a hunch.
104°F in a dry desert city (20% humidity) has a heat index of about 103°F, while 92°F in a humid coastal city (75% humidity) has a heat index of about 116°F. The place that is 12°F cooler on the thermometer can feel far more dangerous.
The "Heat Index" and "Feels like" values in weather apps are this very index, so knowing what they show makes it easier to plan clothing and daytime activities on a trip.
At a room temperature of 82°F and 70% humidity, the heat index is about 86°F. Lower the humidity to 40% with a dehumidifier or the air conditioner, and it drops to about 82°F. Without changing the thermostat, removing moisture alone makes it feel about 5°F cooler.
Knowing that lowering the humidity is an option, not only lowering the thermostat, helps you balance comfort and your electric bill.
The dew point in the forecast shows how much water vapor is in the air. At an air temperature of 86°F, for example, a dew point of 75°F is a relative humidity of about 70% (very muggy), while a dew point of 60°F is about 42% (fairly comfortable). Many US forecasters describe dew points in the 70s as oppressive.
Knowing that a high dew point comes with a muggy day lets you read the kind of heat ahead even without a humidity forecast. The calculator on this page also accepts the dew point as input.
Formulas and graphs
Symbols and terms
Symbols
| \(HI\) | H I | The heat index, a feels-like temperature found from air temperature and humidity. The formulas work in degrees Fahrenheit (°F); the calculator on this page also converts the result to °C and K. |
| \(T\) | tee | The air temperature. Note that the simple formula and the regression use °F, while the dew point conversion (Magnus approximation) uses °C. |
| \(RH\) | R H | Relative humidity, the "humidity" in the weather forecast. Put the percentage from 0 to 100 into the formula as is (for example, 70% humidity → 70). |
| \(T_d\) | tee sub dee | The dew point (°C in the conversion formula). It is the temperature at which water droplets (condensation) start to form when the air is cooled, and it shows how much water vapor is in the air. |
| \(c_0\)–\(c_8\) | c zero to c eight | The nine coefficients of the Rothfusz regression, constants fitted statistically to match the data. |
| \(\exp\) | exponential | The natural exponential function. \(\exp(x)\) is Euler's number \(e \approx 2.718\) raised to the power \(x\). Use the EXP function in Excel or math.exp in Python. |
Terms
| heat index | An index that combines air temperature and humidity to show, as a temperature, how hot it feels to people. It was developed by George Winterling in 1978 and is based on work by R. G. Steadman. The NWS uses it for summer heat advisories and warnings. It assumes shade and a light wind; the NWS notes that full sunshine can raise it by up to about 15°F. It was designed for hot, humid conditions (about 80°F and above, 40% humidity and above), so values in cooler or drier air are only a rough guide. |
| WBGT (wet bulb globe temperature) | A different heat stress index that includes sunshine, wind and humidity as well as air temperature. In the US it is used by the military, many sports and athletic associations and outdoor workplaces, and some NWS offices publish WBGT forecasts. It gives lower numbers than the heat index, so the two cannot be compared directly. |
| feels-like temperature | A temperature that shows how hot or cold it actually feels, rather than what the thermometer reads. In humid air, sweat evaporates slowly and the body loses heat less easily, so the same temperature feels hotter. The heat index puts this effect into a formula. Weather apps often show it as "Feels like". |
| relative humidity | How much water vapor the air holds, as a percentage of the most it can hold at that temperature. The "humidity" in the weather forecast is the relative humidity. |
| dew point | The temperature at which water vapor starts to turn into droplets (condensation starts) as air is cooled. The more water vapor in the air, the higher it is, so it is also a good guide to how muggy it feels (a high dew point is a muggy day). |
| saturation vapor pressure | The pressure of water vapor when the air holds as much as it can at that temperature. It rises with temperature. Meteorologists define relative humidity as "actual vapor pressure ÷ saturation vapor pressure × 100 (%)", and the Magnus approximation is an easy way to find the saturation vapor pressure from the temperature. |
| regression | A formula whose coefficients are chosen to fit a large set of data as closely as possible. The Rothfusz regression approximates the results of a model of human heat balance with a formula in air temperature and humidity. |
| °F (Fahrenheit) | The temperature unit used in the US. Water freezes at 32°F and boils at 212°F. To convert from Celsius, °F = °C × 9/5 + 32. |
| kelvin | The unit of absolute temperature used in science (symbol K). It is the Celsius temperature plus 273.15 (0°C = 273.15 K). |
Good to know before you start
Here is what helps you use the calculation on this page with real understanding, not just by pressing the button.
| Variables and substitution (Grades 6–7) |
|
| Percentages (Grade 6) |
|
| Temperature units (middle school science) |
|
| Square roots (Grade 8) |
|
| Exponential functions (Algebra 2) |
|
How to calculate it in Excel
| Air temperature (°F) | 77 |
| Air temperature (°C) | =(B1-32)*5/9 |
| Relative humidity (%) | 40 |
| Heat index (°F) | =0.5*(B1+61+(B1-68)*1.2+B3*0.094) |
| Heat index (°C) | =(B4-32)*5/9 |
| Air temperature (°F) | 86 |
| Air temperature (°C) | =(B1-32)*5/9 |
| Relative humidity (%) | 70 |
| Heat index (°F) | =-42.379+2.04901523*B1+10.14333127*B3-0.22475541*B1*B3-0.00683783*B1^2-0.05481717*B3^2+0.00122874*B1^2*B3+0.00085282*B1*B3^2-0.00000199*B1^2*B3^2 |
| Heat index (°C) | =(B4-32)*5/9 |
| Air temperature (°F) | 86 |
| Dew point (°F) | 71.6 |
| Relative humidity (%) | =100*EXP(17.625*((B2-32)*5/9)/(243.04+(B2-32)*5/9))/EXP(17.625*((B1-32)*5/9)/(243.04+(B1-32)*5/9)) |
The first table (simple formula) is for milder conditions, when the average of the air temperature and the simple value is below 80°F. With the example values (77°F, 40%), B4 shows about 76.28 (°F) and B5 about 24.6 (°C).
The second table (regression) is for hot conditions of 80°F or more. With the example values (86°F, 70%), B4 shows about 95.07 (°F) and B5 about 35.0 (°C). The adjustments for very low humidity (below 13%) and very high humidity (above 85%) are left out. For exact values, use the calculator on this page or the Python code.
The third table converts the dew point to relative humidity. The formula converts °F to °C inside, because the Magnus approximation works in °C. With the example values (86°F air, 71.6°F dew point), B3 shows about 62.28 (%).
How to calculate it in Google Sheets
| Air temperature (°F) | 77 |
| Air temperature (°C) | =(B1-32)*5/9 |
| Relative humidity (%) | 40 |
| Heat index (°F) | =0.5*(B1+61+(B1-68)*1.2+B3*0.094) |
| Heat index (°C) | =(B4-32)*5/9 |
| Air temperature (°F) | 86 |
| Air temperature (°C) | =(B1-32)*5/9 |
| Relative humidity (%) | 70 |
| Heat index (°F) | =-42.379+2.04901523*B1+10.14333127*B3-0.22475541*B1*B3-0.00683783*B1^2-0.05481717*B3^2+0.00122874*B1^2*B3+0.00085282*B1*B3^2-0.00000199*B1^2*B3^2 |
| Heat index (°C) | =(B4-32)*5/9 |
| Air temperature (°F) | 86 |
| Dew point (°F) | 71.6 |
| Relative humidity (%) | =100*EXP(17.625*((B2-32)*5/9)/(243.04+(B2-32)*5/9))/EXP(17.625*((B1-32)*5/9)/(243.04+(B1-32)*5/9)) |
How to calculate it in Python
import math
air_temperature_f = 86 # air temperature (°F)
relative_humidity = 70 # relative humidity (%)
# To start from the dew point, remove the # from the next two lines (Magnus approximation, which works in °C)
# dew_point_f = 71.6 # dew point (°F)
# relative_humidity = 100 * math.exp(17.625 * ((dew_point_f - 32) * 5 / 9) / (243.04 + (dew_point_f - 32) * 5 / 9)) / math.exp(17.625 * ((air_temperature_f - 32) * 5 / 9) / (243.04 + (air_temperature_f - 32) * 5 / 9))
t_f = air_temperature_f
rh = relative_humidity
heat_index_f = 0.5 * (t_f + 61 + (t_f - 68) * 1.2 + rh * 0.094) # simple formula
if (t_f + heat_index_f) / 2 >= 80: # if the average is 80°F or more, use the Rothfusz regression
heat_index_f = (-42.379 + 2.04901523 * t_f + 10.14333127 * rh
- 0.22475541 * t_f * rh - 0.00683783 * t_f ** 2
- 0.05481717 * rh ** 2 + 0.00122874 * t_f ** 2 * rh
+ 0.00085282 * t_f * rh ** 2 - 0.00000199 * t_f ** 2 * rh ** 2)
if rh < 13 and 80 <= t_f <= 112: # low-humidity adjustment
heat_index_f -= (13 - rh) / 4 * math.sqrt((17 - abs(t_f - 95)) / 17)
elif rh > 85 and 80 <= t_f <= 87: # high-humidity adjustment
heat_index_f += (rh - 85) / 10 * (87 - t_f) / 5
heat_index_c = (heat_index_f - 32) * 5 / 9
heat_index_k = heat_index_c + 273.15
print(f"Heat index: {heat_index_f:.1f} °F ({heat_index_c:.1f} °C / {heat_index_k:.1f} K)")
How to write it in LaTeX and other math languages (copy and paste)
HI = 0.5 × (T + 61 + (T − 68) × 1.2 + RH × 0.094)
HI = 0.5 \left( T + 61 + (T - 68) \times 1.2 + RH \times 0.094 \right)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>HI</mi>
<mo>=</mo>
<mn>0.5</mn>
<mo>×</mo>
<mo>(</mo>
<mi>T</mi><mo>+</mo><mn>61</mn>
<mo>+</mo>
<mo>(</mo><mi>T</mi><mo>−</mo><mn>68</mn><mo>)</mo>
<mo>×</mo><mn>1.2</mn>
<mo>+</mo>
<mi>RH</mi><mo>×</mo><mn>0.094</mn>
<mo>)</mo>
</mrow>
</math>
HI = 0.5 (T + 61 + (T - 68) * 1.2 + RH * 0.094)
hi = 0.5*(t + 61 + (t - 68)*1.2 + rh*0.094)
HI := 0.5*(T + 61 + (T - 68)*1.2 + RH*0.094);
HI = 0.5*(T + 61 + (T - 68)*1.2 + RH*0.094);
HI = 0.5(T + 61 + (T - 68) × 1.2 + RH × 0.094)
HI = −42.379 + 2.04901523T + 10.14333127RH − 0.22475541T·RH − 0.00683783T² − 0.05481717RH² + 0.00122874T²·RH + 0.00085282T·RH² − 0.00000199T²·RH²
HI = -42.379 + 2.04901523\,T + 10.14333127\,RH - 0.22475541\,T \cdot RH - 0.00683783\,T^2 - 0.05481717\,RH^2 + 0.00122874\,T^2 RH + 0.00085282\,T\,RH^2 - 0.00000199\,T^2 RH^2
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>HI</mi>
<mo>=</mo>
<mo>−</mo><mn>42.379</mn>
<mo>+</mo><mn>2.04901523</mn><mi>T</mi>
<mo>+</mo><mn>10.14333127</mn><mi>RH</mi>
<mo>−</mo><mn>0.22475541</mn><mi>T</mi><mo>⋅</mo><mi>RH</mi>
<mo>−</mo><mn>0.00683783</mn><msup><mi>T</mi><mn>2</mn></msup>
<mo>−</mo><mn>0.05481717</mn><msup><mi>RH</mi><mn>2</mn></msup>
<mo>+</mo><mn>0.00122874</mn><msup><mi>T</mi><mn>2</mn></msup><mi>RH</mi>
<mo>+</mo><mn>0.00085282</mn><mi>T</mi><msup><mi>RH</mi><mn>2</mn></msup>
<mo>−</mo><mn>0.00000199</mn><msup><mi>T</mi><mn>2</mn></msup><msup><mi>RH</mi><mn>2</mn></msup>
</mrow>
</math>
HI = -42.379 + 2.04901523 T + 10.14333127 RH - 0.22475541 T RH - 0.00683783 T^2 - 0.05481717 RH^2 + 0.00122874 T^2 RH + 0.00085282 T RH^2 - 0.00000199 T^2 RH^2
hi = -42.379 + 2.04901523*t + 10.14333127*rh - 0.22475541*t*rh - 0.00683783*t^2 - 0.05481717*rh^2 + 0.00122874*t^2*rh + 0.00085282*t*rh^2 - 0.00000199*t^2*rh^2
HI := -42.379 + 2.04901523*T + 10.14333127*RH - 0.22475541*T*RH - 0.00683783*T^2 - 0.05481717*RH^2 + 0.00122874*T^2*RH + 0.00085282*T*RH^2 - 0.00000199*T^2*RH^2;
HI = -42.379 + 2.04901523*T + 10.14333127*RH - 0.22475541*T*RH - 0.00683783*T^2 - 0.05481717*RH^2 + 0.00122874*T^2*RH + 0.00085282*T*RH^2 - 0.00000199*T^2*RH^2;
HI = -42.379 + 2.04901523T + 10.14333127RH - 0.22475541T RH - 0.00683783T^2 - 0.05481717RH^2 + 0.00122874T^2 RH + 0.00085282T RH^2 - 0.00000199T^2 RH^2
RH = 100 × exp(17.625Td / (243.04 + Td)) ÷ exp(17.625T / (243.04 + T))
RH = 100 \times \dfrac{\exp\left(\dfrac{17.625\,T_d}{243.04 + T_d}\right)}{\exp\left(\dfrac{17.625\,T}{243.04 + T}\right)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>RH</mi>
<mo>=</mo>
<mn>100</mn>
<mo>×</mo>
<mfrac>
<mrow>
<mi>exp</mi>
<mo>(</mo>
<mfrac>
<mrow><mn>17.625</mn><msub><mi>T</mi><mi>d</mi></msub></mrow>
<mrow><mn>243.04</mn><mo>+</mo><msub><mi>T</mi><mi>d</mi></msub></mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mrow>
<mi>exp</mi>
<mo>(</mo>
<mfrac>
<mrow><mn>17.625</mn><mi>T</mi></mrow>
<mrow><mn>243.04</mn><mo>+</mo><mi>T</mi></mrow>
</mfrac>
<mo>)</mo>
</mrow>
</mfrac>
</mrow>
</math>
RH = 100 exp((17.625 T_d)/(243.04 + T_d)) / exp((17.625 T)/(243.04 + T))
rh = 100*Exp[17.625*td/(243.04 + td)]/Exp[17.625*t/(243.04 + t)]
RH := 100*exp(17.625*Td/(243.04 + Td))/exp(17.625*T/(243.04 + T));
RH = 100*exp(17.625*Td/(243.04 + Td))/exp(17.625*T/(243.04 + T));
RH = 100 exp(17.625T_d/(243.04 + T_d))/exp(17.625T/(243.04 + T))
How to have ChatGPT do the calculation
You are a weather calculation assistant. Do the following calculation by actually running Python code, and base your answer only on the numbers from the execution result (do not answer by mental math or guessing). Find the heat index (NWS method) at an air temperature of 86°F and a relative humidity of 70%. Steps: 1. Calculate the simple formula HI = 0.5 × (T + 61 + (T − 68) × 1.2 + RH × 0.094) 2. If the average of the air temperature and the simple value is 80°F or more, recalculate with the Rothfusz regression HI = -42.379 + 2.04901523T + 10.14333127RH - 0.22475541T·RH - 0.00683783T² - 0.05481717RH² + 0.00122874T²RH + 0.00085282T·RH² - 0.00000199T²RH² (apply the low-humidity adjustment if RH < 13% and T is 80 to 112°F, or the high-humidity adjustment if RH > 85% and T is 80 to 87°F) 3. Give the result in both °F and °C (°C = (°F − 32) × 5/9) Show the formulas you used and the numbers from the execution result.
How to Use
-
1Enter your numbersType the numbers you want to calculate with into the input fields
-
2CalculatePress the "Calculate" button
-
3Check the resultThe result appears on the spot. The same page also explains the idea behind the calculation and the formula
DataChef Features
No technical knowledge required.
Intuitive and user-friendly operation.
Can be used without registering personal information.
Automatic file deletion by clicking "download".
and rapid file conversion.
No attribution required.
No need to contact us for commercial use permission.
