Live push-up counter (camera)
Press Start camera, set your phone or laptop side-on about two metres away, and do push-ups for 60 seconds. The counter tracks your elbow angle with on-device pose detection and only counts a rep when you bend below about 100° and straighten past 150°, so shallow reps are not counted. At the end you get your band from the push-up norms table and a 'beat me' card to share. Video never leaves your device.
The camera stays off until you press Start. Everything runs on your device — no video is recorded or uploaded.
How the camera push-up counter works
When you press Start, the page asks for camera permission and loads MediaPipe Pose Landmarker, an open-source model that finds 33 body landmarks in each video frame. It runs in your browser through WebAssembly, so the analysis happens on your device. The counter then:
- Picks the side the camera sees best and measures the angle at your elbow between your shoulder and wrist.
- Smooths the angle over a few frames so a single noisy frame cannot add a rep.
- Counts with hysteresis: a rep needs the elbow to bend below about 100° (roughly upper arms parallel to the floor) and then straighten past 150°. A dip that turns around before 100° is flagged as too shallow.
- Checks your body line from shoulder to hip to ankle when they are visible, and cues you if your hips sag or pike.
- Runs a 60-second timer after a five-second countdown to get into position, or counts up in untimed max-set mode until you press Stop.
Nothing is recorded or uploaded. The only network requests after you press Start download the MediaPipe library (from jsDelivr) and the pose model (from Google's public model storage). Video frames are processed in memory and discarded, and the camera turns off when the test ends.
Getting an accurate count
- Place the device side-on at floor height, about two metres away, in landscape if you can.
- Make sure your shoulder, elbow and wrist stay in frame for the whole set; hips and ankles help the body-line cue.
- Use even light and avoid baggy sleeves, which blur the elbow.
- Lower until your upper arms are at least parallel to the floor and lock out fully at the top — the same standard as on the push-up norms page.
What your result means
The result places your count in the Excellent, Good, Average or Below average band for your age and sex, using the same table as How many push-ups by age. That table is drawn from commonly published fitness-testing norms (ACE, ACSM and similar), and the sources disagree, so treat the band as a reference point. Two caveats: the norms describe one continuous max set rather than a timed test, and the published women's norms assume bent-knee push-ups — if you do full push-ups from your toes, you are likely outperforming the band shown.
Then download the 'beat me' card as a PNG or share it straight from your phone, and challenge a friend to the same test.
RepSquad — automatic rep counting
Counts push-ups through your iPhone camera with on-device pose detection and a live range-of-motion bar, so partial reps do not quietly inflate your numbers. No video leaves your phone.
View on the App StoreFrequently asked questions
Is my camera video uploaded anywhere?
No. Pose detection runs in your browser with MediaPipe Pose Landmarker (WebAssembly), and frames are analysed in memory and thrown away. Nothing is recorded, stored or sent to a server. The page does download the MediaPipe library and model files from public CDNs when you press Start, but those requests only fetch code and never carry your video.
How does the counter decide what counts as a push-up?
It measures the angle at your elbow between your shoulder and wrist on every frame. A rep counts only when the angle drops below about 100 degrees and then rises above 150 degrees. The gap between the two thresholds (hysteresis) stops small wobbles near one angle from being counted as extra reps, and a dip that never reaches 100 degrees is flagged as too shallow instead of counted.
Where should I put my phone or laptop?
Side-on is best: prop the device at floor level or on a low step about two metres away so your shoulder, elbow, wrist, hip and ankle on one side are all in frame. Good, even lighting helps. Face-on placement often hides the elbow angle, which makes reps harder to detect.
Why did it miss some of my reps?
The usual reasons are not going low enough, not locking out at the top, or the elbow or wrist leaving the frame. Baggy sleeves, dim light and a busy background also reduce tracking accuracy. Watch the on-screen cue: it tells you when a rep was too shallow or when your hips are out of line.
How does my score compare with push-up norms?
Your count is placed in the Excellent, Good, Average or Below average band for your age and sex from the same table used on our push-up test norms page, which is drawn from commonly published fitness-testing tables (ACE, ACSM and similar). Those norms are for one continuous max set, and the published women's norms assume bent-knee push-ups, so treat the band as a rough reference.
Does it work on any device?
It needs a recent browser with camera access and WebAssembly on a secure page. The first start downloads the model, which can take a few seconds on a slow connection, and older phones may track less smoothly. If camera permission is blocked, the page explains how to allow it and nothing else breaks.