Skip to main content
U.S. Army
Research Institute of Environmental Medicine

Core Body Temperature Estimation From Heart Rate


Uses minute by minute measures of heart rate to estimate core body temperature


Bias = -0.03 °C, SD = 0.32, LoA = ± 0.63 °C, RMSE = 0.30 ± °C


Use the algorithm with simple heart rate monitors to estimate core body temperature. Can be used to help prevent thermal injury and better manage work rest schedules.

Comprehensive details of the development and validation can be found in:

If you are interested, try out the algorithm using the USARIEM core body temperature estimator below.

Other news articles detailing this algorithm


This algorithm is able to provide accurate estimates of core body temperature from a sequence of heart rate observations. The method relies on a Kalman filter (Kalman 1960) which has been used extensively in engineering tracking problems. In these models an item or variable of interest must be tracked from a series of "noisy" observations, and knowledge of the temporal dynamics. The Kalman filter requires a transition and observation model defined by linear Gaussian probability density functions. In the figure below the transition model relates how the variable to be tracked changes over time, while the observation model relates current observations to the variable of interest.

The algorithm assumes that heart rate can be used as a "noisy" observation of core body temperature. By understanding how core body temperature changes over time and the most likely core body temperature for a given HR, a Kalman Filter model to estimate a series of core body temperature values can be learned. Heart rate is a convenient observation of the expected core temperature at steady state or a leading indicator of core temperature as it contains information about both heat production (through the Fick (1855) equation and VO2) and heat transfer since HR is related to skin profusion. E.g.

USARIEM Core Body Temperature Estimator

We have included a version of the algorithm in a Javascript app. on this page. You can try out the algorithm with your own data by enter an initial core body temperature, and then a series of minute by minute heart rate values separated by new lines, commas, or spaces. To get core body temperatures press calculate.


Starting Core Body Temperature (°C)
Minute by Minute Heart Rate Values (beats/min)

Estimated Core Body Temperatures
Last Modified Date: 7/10/2023