Count Squats With Your Phone Camera: How On-Device Rep Detection Works

A camera squat counter watches one angle — hip, knee, ankle — and applies a handful of rules to decide what was a rep. Here are the actual thresholds, the reasons reps get refused, and the two rules that reject a squat but can never reject a push-up.

A camera squat counter works by reading your body's joint positions from the video feed and watching one angle in particular: the angle at your knee, formed by your hip, knee and ankle. When that angle closes past a threshold and then opens again, that is a rep. Everything else — the setup, the failure modes, the reps it refuses — follows from that one measurement.

Disclosure, up front: pushup.quest is published by the makers of Pushup RPG, a free camera counter for push-ups and squats on iPhone and Android. The specific numbers below are our own detector's, because they are the ones we can state exactly rather than guess at. Other camera apps use the same general technique with different thresholds, and almost none of them publish theirs.

What the camera actually measures

On-device pose detection returns an estimated position for each major joint, several times a second. A squat counter does not "see" a squat; it watches the hip-knee-ankle angle rise and fall and applies rules to decide which of those movements was a rep.

In our detector, the gates are these:

GateThresholdWhat it rejects
DepthKnee angle must reach 105° or less — roughly parallel or deeperQuarter squats. A shallow bob that stops around 115–119° does not count.
Coming back upThe knee must return to 145° after a valid bottomSinking down and staying there. The rep completes on the way up, not at the bottom.
Time underA rep may last at most 5 secondsResting in the bottom position, or crouching to pick something up.
SpacingAt least 0.6 seconds between counted repsBouncing fast enough that the pose estimate cannot resolve separate reps.
Hips moveThe hips must actually drop during the rep, independently of the kneeBending one leg while the torso stays still. See below — this one has a story.
Feet plantedAnkles may drift at most 0.45 shoulder-widths during a repWalking. Specifically: propping the phone, walking back to your spot, and collecting a free rep.

Why the hips are measured separately

Reading the knee angle alone turns out not to be enough, and we know that because a player found the hole by accident while stretching in August 2026: bending one leg up and down, heel toward the backside, counted as squats.

The reason is unglamorous. The detector takes the more-bent of your two knees as the depth signal, so a single-leg curl clears the depth gate on its own — and the feet-planted rule measures the midpoint between your ankles, which one lifted leg moves only half as far. Neither gate caught it.

The fix is a floor on hip movement rather than a check that both knees move together. That distinction matters: a symmetry rule would refuse honest reps from anyone whose second leg drifts out of frame, and on a camera detector, wrongly refusing a real rep is the worse failure. The floor only asks whether your hips moved at all — bending a knee that far while standing on it must lower you, so zero hip travel means the leg is not carrying your weight. A real squat clears it several times over.

The depth number is the one people argue with, so it is worth being plain about it: 105° was chosen because a looser threshold let shallow stationary bobs through. If your reps are being refused, the overwhelmingly likely cause is depth, not the camera.

Squats are not judged the way push-ups are

This surprises people who used a camera counter for push-ups first. Two things that can never reject a push-up can reject a squat:

  • Timing. For push-ups, tempo is measured but only ever as a bonus — a rushed push-up still counts. For squats, reps closer together than 0.6 seconds are not counted at all. Timing is a hard gate on one movement and not the other.
  • Foot movement. A push-up has no equivalent rule. A squat does, because standing up and walking is the exact shape of a phantom rep.

If you have been counting push-ups happily and your squats start getting refused, that difference is usually why.

Setting up so the camera can actually see you

Camera counting has one real cost compared with a watch or a tap counter: you have to place the phone. What it buys you is a rep that was checked rather than asserted.

  • Get your legs in frame. The knee angle is the measurement, so the camera needs to see hip, knee and ankle. Standing the phone against a wall a couple of metres away, roughly at knee-to-hip height, is usually enough.
  • Face the camera or stand side-on. Either works, as long as the leg joints are not hidden behind each other for the whole rep.
  • Stay in one place. The foot-movement rule means drifting across the room mid-set will cost you reps.
  • Light in front, not behind. Backlighting a phone camera is the fastest way to make pose estimation unreliable, in any app.

If the legs are never visible during a rep — a common failure when the phone is too close or too low — our detector falls back to tracking how far your hips drop instead. It is a fallback, not a preference; getting the legs in frame is better.

What we cannot tell you

Whether specific squat variations register is untested. The detector reads knee angle, so it is reasonable to expect that any variation reaching 105° with planted feet would count — a goblet squat, a wide stance, an air squat. But we have not measured that, and a plausible inference is not a result. Jump squats in particular combine a fast cadence with feet leaving the ground, which is the shape of two different rejection rules, and we have not tested them.

We would rather say that than publish a compatibility table we made up.

Camera counting versus the alternatives

Camera pose detection is not automatically the right answer. It is the only method that can check your depth, and it is the wrong choice if you cannot place a phone where it can see you. A wearable counts from wrist or head motion and needs no setup at all, but cannot know how deep you went. A tap counter is perfectly accurate about what you tell it, and tells you nothing you did not already know.

We compare the actual apps in each category, including the ones we would send you to instead of ours, in best apps that count squats.

If you are training both movements

Squats and push-ups load almost nothing in common, which is the reason to bother with both. Our own app keeps their records entirely separate — squat totals, XP and leaderboards never pool with push-up numbers — because a combined number would let leg volume flatter an upper-body figure and make both meaningless. Whether two movements are enough on their own is a fair question, and we take it seriously in are pushups and squats enough.

Squats are generally well tolerated, but knee or hip pain that is sharp rather than effortful is a reason to stop the set and see a clinician, not something to train through.

Frequently asked questions

How does an app count squats with the camera?

It runs on-device pose detection on the camera feed, estimates the position of your hip, knee and ankle, and watches the angle they form. When that angle closes past a depth threshold and then opens again, the app counts a rep. No video needs to leave your phone for this to work — the detection runs locally.

How deep does a squat have to be to count?

In Pushup RPG, the knee angle must reach 105 degrees or less, which is roughly parallel or deeper. A quarter squat that stops around 115 to 119 degrees does not count. That threshold was deliberately tightened because a looser one allowed shallow stationary bobs through. Other camera apps use different thresholds and most do not publish them.

Can you cheat a camera squat counter by bending one leg?

You could until August 2026, and a player found it by accident while stretching — a heel-to-butt curl on one leg registered as squats, because the detector takes the more-bent knee as its depth signal and the feet-planted check measures the midpoint between your ankles, which one lifted leg barely moves. Pushup RPG now also requires your hips to drop during the rep. Bending a knee that far while standing on it necessarily lowers you, so no hip movement means the leg is not carrying your weight.

Why are my squats not counting?

Depth is the most common reason — stopping above parallel means the rep never passes the gate. After that: staying at the bottom longer than 5 seconds reads as a rest rather than a rep, reps less than 0.6 seconds apart are not counted separately, and moving your feet more than about half a shoulder-width during a rep is treated as a step rather than a squat. Getting your legs fully in frame fixes a surprising number of cases.

Do squats count the same way push-ups do?

No. Two rules that can never reject a push-up can reject a squat: rep timing and foot movement. For push-ups, tempo is measured only as a bonus and a rushed rep still counts, whereas squats closer together than 0.6 seconds are not counted at all. Squats also have a maximum rep duration and a planted-feet requirement that push-ups do not have.

Does a camera squat counter work without internet?

In Pushup RPG the pose detection runs entirely on your device, so counting works with no connection — there is no server in the counting loop and no video is uploaded. Other apps vary, and a camera app that requires a connection to count is worth asking questions about.

Do jump squats or goblet squats count?

We have not tested them, so we will not claim either way. The detector reads knee angle, so any variation that reaches the depth threshold with planted feet would plausibly register — but that is inference rather than measurement. Jump squats in particular involve both a fast cadence and the feet leaving the ground, which is the shape of two separate rejection rules.

Yerasyl Amanbek builds Pushup RPG — including the on-device pose detection that counts the reps — and edits the training guides on this site. A software developer rather than a clinician: these guides lean on published exercise-science research and established coaching practice, and say so plainly wherever the evidence is mixed. More about the app and how these guides are written →

Not medical advice. This is general fitness information, not a diagnosis or treatment plan. Stop if you feel sharp joint pain rather than muscle fatigue, and check with a qualified professional before starting a new exercise programme — especially if you're injured, pregnant, or managing a health condition.