How your phone camera can read your heart rate
It sounds like a magic trick: hold your face in front of the camera for half a minute and the app tells you your pulse — no cuff, no chest strap, no smartwatch. But there's no magic involved, just a well-understood bit of optics and signal processing called remote photoplethysmography, or rPPG. Here's what's actually happening.
Your skin changes colour with every heartbeat
Each time your heart beats, it pushes a fresh pulse of blood through the tiny vessels just beneath your skin. Blood absorbs light — particularly green light — so as that volume rises and falls, the amount of light your skin reflects changes by a tiny amount. It's far too subtle for your eye to notice, but a camera sensor captures it frame by frame.
Average the colour of a patch of facial skin across a video, and you get a faint, rhythmic wave riding on top of all the other variation in the image. That wave is your pulse. Its period — the time from one peak to the next — is the time between heartbeats.
From a noisy video to a number
The catch is that the heartbeat signal is small and the noise is large. Lighting flickers, you move, the camera auto-adjusts its exposure. Turning that mess into a trustworthy reading takes a few steps:
- Find the skin. The app focuses on regions that reliably show blood flow and ignores hair, eyes and background.
- Combine the colour channels. Algorithms such as POS and CHROM mix the red, green and blue signals in a way that cancels out motion while keeping the pulse — because movement affects all colours together, but a heartbeat doesn't.
- Filter to plausible rates. A band-pass filter keeps only frequencies in the human range (roughly 42–210 beats per minute) and throws away the rest.
- Find the dominant rhythm. A frequency analysis (an FFT) reveals the strongest repeating beat in the signal — that peak is your heart rate, cross-checked against the timing of individual beats.
From the same waveform, you can also estimate heart-rate variability (the small beat-to-beat timing differences linked to recovery and stress) and respiratory rate (breathing subtly modulates the pulse).
The short version: a heartbeat slightly changes how your skin reflects light; a camera sees it; software cleans up the signal and measures its rhythm. That's your pulse — extracted from ordinary video.
Where it's strong — and where it isn't
Done well, camera heart-rate estimation is genuinely useful for a quick, contactless wellness check. But it is an estimate, and honesty about its limits is what makes it trustworthy:
- Lighting matters. Soft, even light is ideal. Harsh backlight or a very dim room weakens the signal.
- Stillness matters. Big movements drown out the heartbeat. Holding steady for the full scan makes a real difference.
- Some metrics are sturdier than others. Heart rate is robust. SpO₂ (blood-oxygen) from a regular camera is far rougher, because phones lack the infrared light a real pulse oximeter uses — which is why we label it an estimate and never treat it as a clinical alarm.
A first checkpoint, not a diagnosis
Camera vitals are best thought of as a daily checkpoint — a fast way to notice a trend, get a number before a doctor's visit, or simply build the habit of paying attention to your body. They are not a substitute for a medical device or a clinician's judgement, and they shouldn't be used to diagnose or rule out a condition.
Used that way, they're quietly powerful: a meaningful health signal, available to anyone with a phone, in about the time it takes to read this paragraph.
This article is for general information and wellness education only. MyHealthBuddy.AI provides wellness-grade estimates, not medical diagnoses. Always consult a qualified healthcare professional for medical advice, and in an emergency call your local emergency number.