Measure Your Pulse With a Phone Camera

This tool measures heart rate with your phone camera: with each heartbeat the fingertip transmits slightly less light, and the camera picks up that oscillation. Place a fingertip over the lens and wait about 25 seconds — a live pulse waveform appears on screen, followed by the beats per minute together with a signal-quality reading. For a computer without a camera there is a manual count: tap in time with your pulse and the tool derives the rate from the intervals between taps.

How to measure

1
Place your finger

Press "Start" and cover the main camera lens and the flash with the pad of your index finger. Press firmly but gently — hard pressure squeezes the capillaries and kills the signal.

2
Wait for the countdown

The tool spots the finger itself and starts the 25-second countdown. Rest your hand on a table and breathe normally; a pulse waveform appears on screen. If the finger slips, the countdown starts again — that is normal.

3
Read the result

The number appears with a quality reading. If the signal was weak the tool says so — then it is better to repeat than to trust the figure.

4
Or count manually

On a computer without a camera, find your pulse at the wrist or neck and tap the button in time. After four beats a result appears.

Place a finger on the camera and get the result in 25 seconds

This is not a medical device. The tool estimates heart rate and does not diagnose anything. It does not replace a pulse oximeter, an ECG or a doctor. If irregular beats, weakness, chest pain or dizziness worry you, see a doctor rather than a website.

Camera measurement

Manual count

Taps: 0

How it works

With every heartbeat there is slightly more blood in your fingertip, and it lets slightly less light through. The camera does not "see" this, but it registers it: the brightness of the red channel oscillates at the frequency of your pulse. The tool records that curve for 25 seconds, removes the slow drift caused by finger pressure and finds the period by autocorrelation. If there is no periodicity, no number is shown.

Everything runs in your browser. The algorithm is verified on a synthetic signal of known frequency — it recovers 45 to 180 beats per minute within 2.5 beats, and on noise or a weak signal it shows no number at all.

Published Updated Author: