TruthKit

Your heartbeat, read from the colour of your skin.

Each beat pushes blood into your face and shifts its colour by a fraction of one percent. Your webcam can see that. This page measures it and draws it, live.

Waiting for you.

Sit facing a window or a lamp, and hold still for about 12 seconds.

--bpm

No reading

Last five windows

Fig. 1The pulse line

The POS pulse signal from all three regions, band limited to 0.8 to 3.0 Hz, drawn as it arrives. Height is relative colour change. Each tick marks a peak, and the time between some peaks is written beside it.

Signal by region

ForeheadWaiting
Left cheekWaiting
Right cheekWaiting

Waiting

Frames
none
Signal to noise
none
Colour swing
none
Skin colour now
none
Fig. 2Where the rate comes from

The spectrum appears with the first 6 second window.

What your camera is seeing.

  1. It finds your face, in your browser

    A MediaPipe face model places 478 points on your face in every frame. Three patches come from those points: your forehead and both cheeks, which are bare skin with good blood supply, away from your eyes and mouth.

  2. It averages the colour of each patch

    Thousands of pixels become one red, green and blue value per frame. Averaging is what lets a change this small rise above the camera's own noise.

  3. It separates blood from light

    The POS method, from Wang and colleagues in 2017, combines the three channels so that changes in brightness cancel and the colour shift of blood remains. It runs on a window of 1.6 seconds, sliding one sample at a time.

  4. It looks for the strongest rhythm

    Every second, a Fourier transform of the last 6 seconds finds the strongest rhythm between 48 and 180 beats a minute. The page shows a number only when recent windows agree to within 7 beats, a separate window 10 seconds earlier agrees too, and at least one skin region finds the same rate.

What this is not.

A pulse does not prove a video is genuine.

High-quality deepfakes can carry the pulse of the person who drove them, as Seibold and colleagues showed in 2025. Compression can also remove a real pulse. So when TruthKit checks a video, a clear pulse only reads as consistent with a live pulse, and no pulse is only ever inconclusive.

This is not a medical device.

It has not been tested on people against a pulse oximeter. It can be wrong, and it cannot tell you anything about your health. If you are worried about your heart, ask a doctor.

The quality gates are working values.

No published pass mark for signal to noise exists, so this page uses 0 dB plus agreement across separate windows and skin regions. Those values were tested on synthetic signals with a known rate, not calibrated on people.