PulseCheck app iconPulseCheck

Guide

How to measure your heart rate with the iPhone camera

The rear camera and the flash are a working pulse sensor. Here is what is physically happening, how to hold your finger so it works, and what to do when it does not.

Download PulseCheck on the App Store

PulseCheck is the free app used in this guide. Rated 5.0 out of 5 from 1 rating on the App Store.

This is a fitness and wellness guide. PulseCheck is not a medical device, it does not diagnose anything, and nothing here replaces a visit to a doctor.

Why a camera can see your pulse at all

Your fingertip is thin enough that light travels through it. When the flash sits against your skin, some of that light comes back into the lens, and how much comes back changes with every heartbeat, because each beat briefly pushes more blood into the tissue and blood absorbs light.

So the camera is not looking at a picture of anything. It is watching one number: how red the frame is, over and over. Plot that number against time and you get a wave with a bump on every beat. The technique has a name, photoplethysmography, shortened everywhere to PPG. It is the same principle behind the green lights on the back of a fitness watch, using a different light source.

Counting beats from that wave is arithmetic. Getting a clean wave in the first place is the hard part, and that is what the rest of this page is about.

The method, step by step

  1. Sit down first and stop moving. Your pulse falls quickly once you stop, so a reading taken in the first seconds after you sat down is a reading of the walk, not of the sitting.
  2. Find the rear camera and the flash. They sit next to each other on the back of the phone. Both need to be covered by the same fingertip. Covering only the lens leaves the sensor in the dark, and covering only the flash means the light never reaches the camera.
  3. Rest the pad of your finger over both. Firm enough that no daylight leaks in at the edges, gentle enough that you are not squeezing the blood out. If you press until your fingertip goes pale, you have pressed too hard and the signal disappears.
  4. Warm hands help. Cold fingers have less blood near the surface, which is the single most common reason a reading refuses to settle in winter.
  5. Hold still for the whole measurement. In PulseCheck a standard reading takes 15 seconds. Rest your elbow on a table or your knee so that nothing has to be held up by muscle.
  6. Read the label as well as the number. A pulse from a camera is only as good as the wave it came from, so a good app tells you how clean that wave was. Two readings ten seconds apart will rarely be identical, and that is normal.

What PulseCheck is doing during those 15 seconds

Most of it is defensive work against the things that ruin a reading.

  • The flash is driven at full brightness and stays on for the whole measurement. That is why the phone gets slightly warm and why the reading ends by itself rather than running forever.
  • Exposure, focus and white balance are locked. Left on automatic, the camera would quietly correct away the exact brightness changes it is supposed to be measuring.
  • The camera runs at exactly 30 frames a second at a small frame size. It does not need detail. It needs a steady, evenly spaced series of samples.
  • The accelerometer runs alongside it. Every frame that falls within a tenth of a second of a movement is thrown away before the counting starts, so a twitch does not become a heartbeat.
  • Peaks that are too close together are rejected. A pulse wave has a second, smaller bump after the main one, and naive counters read that bump as an extra beat and report double your real rate. PulseCheck refuses to accept two beats less than four tenths of a second apart in normal mode.
  • At least five seconds of clean signal must survive all of that. If motion ate too much of the recording, the app says so instead of quietly reporting a number built on what is left.

When the measurement fails, and what it means

There are three ways a PulseCheck reading ends without a number. Each one points at a different fix.

Too much movement

More than half the recording was discarded by the motion filter. Put your forearm on something solid and try again, or turn on Post-Workout Mode, which is built to tolerate a shakier hand.

Need more time

Fewer than five clean seconds survived, but not because of movement. Usually the finger slipped part way, or the flash was not fully covered for the whole run. Reseat your finger and hold it there.

Signal is weak

The wave arrived but no clear beats stood out of it. Cold hands, a very light touch, or a very hard one. Warm your hands, adjust the pressure slightly, and give it one more go.

None of these are verdicts about you. They are statements about the recording.

Reading the signal label

PulseCheck marks every result Strong signal, Moderate signal or Weak signal, and the label is about the recording, not about your health.

  • Strong signal means many beats were found, they were evenly spaced, and they stood well clear of the background noise.
  • Moderate signal means enough was found to give you a number, with more variation in it.
  • Weak signal means the app is not confident enough to name one number, so it shows a range instead and leaves the width of that range visible.

PulseCheck does not publish an accuracy figure against a clinical reference, because it has not been tested against one. That is the honest reason it labels signal quality rather than promising a margin of error. Treat the number as a fitness reading and nothing more.

Download PulseCheck on the App Store

Free, no subscription, no sign-up.

Common questions

Can I use the front camera instead?

Not for the finger method. It needs a bright light source sitting right next to the lens, and on an iPhone that is the rear flash. PulseCheck uses the rear camera for exactly this reason.

How long does one reading take?

15 seconds in normal mode and 25 in Post-Workout Mode. A live number appears after about five seconds, so you can watch it settle rather than stare at a spinner.

Does it work through a phone case?

Only if your finger can still reach both the lens and the flash directly. A case with a raised rim around the camera usually gets in the way. Take it off if readings keep failing.

Why do two readings a minute apart differ?

Because your pulse actually changes that fast. It rises when you breathe in, falls when you breathe out, and reacts to standing up, to a thought, to the room. This is why a single reading is far less interesting than the same reading taken the same way for a few weeks.