Reference table, 56 figures
Squat strength percentile by bodyweight and lift
This table shows the squat strength percentile a male lifter reaches at each bodyweight (55–115 kg) and one-rep-max (60–200 kg) — for example, an 85 kg lifter squatting 140 kg sits at the 44th percentile.
Every value below is computed live from the Strength Percentile calculator engine. Read the methodology for the standards and the 1RM model, or compare frameworks in DOTS vs strength standards and the 1RM formula breakdown.
Squat percentile grid: bodyweight rows × 1RM columns
Male squat percentile. Rows: bodyweight (kg). Columns: one-rep max (kg).
| BW \ 1RM | 60 | 80 | 100 | 120 | 140 | 160 | 180 | 200 |
|---|---|---|---|---|---|---|---|---|
| 55 | 15 | 32 | 54 | 76 | 89 | 95 | 96 | 97 |
| 65 | 10 | 19 | 37 | 56 | 74 | 86 | 95 | 96 |
| 75 | 7 | 15 | 25 | 41 | 57 | 73 | 85 | 93 |
| 85 | 5 | 11 | 18 | 30 | 44 | 58 | 72 | 83 |
| 95 | 4 | 8 | 14 | 21 | 33 | 46 | 59 | 71 |
| 105 | 4 | 5 | 11 | 17 | 25 | 36 | 48 | 59 |
| 115 | 3 | 5 | 9 | 14 | 19 | 28 | 39 | 49 |
Cells are percentiles (1–99) on the calculator's strength-standards scale: the five standards are placed at the 5th, 20th, 50th, 80th and 95th percentile of trained lifters and cells are interpolated between them. They are positions on that scale, not ranks measured from a database of lifters. Higher 1RM raises the percentile; higher bodyweight lowers it for the same absolute lift. Reps fixed at 1; the engine applies an Epley estimate when reps > 1.
How the table is made
- Engine
- Strength Percentile Calculator (strength-percentile-calculator)
- Source
- Computed live from /engines/strength-percentile-calculator.js
- Rows
- Bodyweight: 55, 65, 75, 85, 95, 105, 115 kg
- Columns
- One-rep max: 60, 80, 100, 120, 140, 160, 180, 200 kg
- Fixed inputs
- sex = male, lift = squat, reps = 1
- Size
- 7 × 8 = 56 cells
- Each figure
- percentile (1–99)
- Grid last changed
- , recomputed on every build
The engine is deterministic, with no clock and no randomness, so each cell reproduces exactly on every build. The full grid is embedded as machine-readable JSON and recomputed by our CI gate against a fresh engine run; the table and CSV are rendered from those same outputs, never hand-entered.