Online Heart Rate Monitor: Measure Your Pulse With Your Camera

Every heartbeat pushes a little more blood into the skin, which changes its colour by a fraction of a percent. A camera can see that change. This tool reads it from your face (front camera) or your fingertip (back camera), turns it into a pulse wave, and counts the beats.

From the gaps between beats it also estimates HRV (RMSSD), and it compares your heart rate and HRV with typical values for your age and sex to give a stress estimate, using the same weighting as the stress score in the Bodly app.

Everything runs in your browser. The video is never uploaded or saved.

To track this over time, try Bodly, a free iPhone app.

Check your heart rate

Sit still in good, even light. Keep your forehead and cheeks inside the box and breathe normally for 45 seconds.

The video never leaves your device: colour is read in your browser and nothing is uploaded or saved.

A wellness estimate from your camera, not a medical device. Stress compares this one reading with typical values for your age; it is not a diagnosis.

How to get an accurate reading

  • Sit down and rest for a minute first. A resting reading is the useful one.
  • Face mode: even light from the front (a window or a lamp), no strong light behind you, face inside the box.
  • Finger mode: rest the fingertip lightly over the back camera and flash. Pressing hard squeezes the blood out and flattens the signal.
  • Stay still and breathe normally for the full 45 seconds. Talking and moving are the biggest sources of error.
  • Check the signal quality in the result: below about 30% the tool will not give a number.

How camera heart rate works

The method is called photoplethysmography (PPG): measuring blood volume changes with light. Smartwatches do it with green LEDs against the wrist. Researchers showed in 2008 that an ordinary camera in ambient light can pick up the same pulse from the face (remote PPG).

The tool averages the colour of the skin in each video frame, removes slow changes in light, filters the signal to the range of plausible heart rates (42-210 bpm) and finds its dominant rhythm. Each heartbeat is then located as a peak, and the intervals between peaks give HRV.

How accurate is it?

For heart rate at rest, smartphone PPG is close to medical devices: a 2018 meta-analysis of 14 studies found no significant difference between smartphone apps and validated methods in adults with a normal rhythm (mean difference -0.32 bpm).

HRV is harder. It depends on the exact timing of every beat, so it needs a very clean signal: finger mode in good light is far more reliable than face mode. When the signal is not clean enough, the tool shows heart rate only rather than a guess.

Camera readings are less reliable during movement, in dim or flickering light, with cold fingers, and in people with irregular heart rhythms. It is a wellness tool, not a medical device.

What your numbers mean

A normal adult resting heart rate is 60-100 bpm, and the healthy median is about 68-69 bpm for men and 70-74 bpm for women at every adult age (CDC data). HRV falls with age: a typical resting RMSSD is around 58 ms at 26-35 and around 38 ms at 46-55.

The stress estimate combines both: a higher heart rate and a lower HRV than usual for your age push it up. Because a single reading has no personal history, it says how this reading compares with people like you, not whether you are more stressed than usual. Tracking it every morning against your own baseline is what makes it meaningful.

Stress estimate bands (same as the Bodly app)
ScoreBandWhat it usually means
0-25LowRelaxed: slow heart rate and high HRV for your age
26-65MediumTypical for your age
66-100HighFast heart rate and low HRV for your age: strain, poor sleep, illness, caffeine or stress

Further reading

Frequently asked questions

Sources & references

Related tools