Squat counter

A squat counter that runs in your browser

Thresholds read from the game code at build time · 29 August 2026

reps. counts squats through your webcam, on your device, with no app to install and no account on Easy. Point the camera at your whole body, stand up straight, and every full squat is counted against a market chart that sets the target. This page is the counter's rule set in plain numbers — what it looks for, how deep a squat has to be, and what it has not been measured against yet.

How does the squat counter work?

The reps. squat counter runs Google's MediaPipe Pose Landmarker in the browser, reads the knee angle from 33 body landmarks on every video frame, and counts one squat each time that angle drops below 95° and then climbs back above 165°. The video is processed on the device and never uploaded. It is free to use on Easy without an account, on any laptop or phone with a camera. Method v1.0, thresholds read from the detector code on 29 August 2026.

What counts as a squat rep?

A rep in reps. is one full pass: standing, all the way down, all the way back up. The counter is a two-state machine over the knee angle. You are standing when the knee angle is above 165°; you are at the bottom when it is below 95°. Each threshold has to hold for 2 consecutive frames (about 67 ms at 30 frames per second), and two reps can never be counted less than 550 ms apart. A half squat that stops above 95°, or a bounce that does not return to 165°, is not a rep.

165° standing
95° bottom

Three form gates reject look-alikes. The torso has to stay roughly upright, so bending the knees while lying down does not count. Both feet have to stay on the ground when they are visible, so a leg lift does not count. And a knee rising above the hip does not count, so a high step does not read as the bottom of a squat.

How deep does a squat have to be?

In reps., a full-depth squat is a knee angle below 95° — the shin and the thigh close to a right angle, which for most people puts the thighs about parallel to the floor. That is the counter's definition, not coaching advice: it is the depth the game requires before a rep can be counted, chosen so that a quarter squat cannot score, and it has not been reviewed by a coach or physiotherapist. The angle is read on whichever legs the camera can see and averaged; a side-on camera gives the cleanest read, and facing the camera the angle foreshortens, so a squat may need to go a little deeper to register.

Do I need an account or an app?

No. reps. is a web page. Easy difficulty runs with no sign-in at all; an account is only needed to keep a record of your runs and to appear on the daily ladder. There is nothing to download — the pose model is fetched by the browser the first time you play and cached after that.

Does the video leave my device?

No. Camera frames are processed on the device by the pose model and are never uploaded or recorded. What does leave — a finished run's rep count and time, a country code, sign-in details if you sign in — is listed line by line on the privacy page.

How accurate is it?

We have not published a measured accuracy figure against a human count yet. The thresholds on this page are tuned from testing sessions, not from a study, and the smoothing (an exponential moving average with half-weight on each new frame, plus the 2-frame hold) exists to stop a jittery landmark from flickering a rep in or out. Until a measured number is published here, read this page as the exact rules the counter applies, not as a claim about how well they match a coach's count.

Every green candle on a chart is a set of squats. Pick a session and the counter starts when you do.

Try the counter

Numbers on this page are imported from lib/exercises/squat.ts when the page is built. The full rule set that turns a chart into a workout is on the method page; the push-up counter has its own page; camera placement is on the setup page.