One-Rep Max Calculator (5 formulas + percent table)
Enter the weight you lifted and how many reps you completed. The calculator returns five different 1RM estimates and a table of recommended weights for various rep ranges (1RM, 5RM, 10RM, etc.) for programming.
Individual formula estimates
- Epley
- 116.7
- Brzycki
- 112.5
- Lombardi
- 117.5
- O'Conner
- 112.5
- Lander
- 113.7
Training-percentage table
| Reps | % | Weight |
|---|---|---|
| 1 | 100% | 114.6 |
| 2 | 95% | 108.8 |
| 3 | 92% | 105.4 |
| 4 | 89% | 102 |
| 5 | 86% | 98.5 |
| 6 | 83% | 95.1 |
| 7 | 80% | 91.7 |
| 8 | 78% | 89.4 |
| 9 | 75% | 85.9 |
| 10 | 73% | 83.6 |
| 12 | 70% | 80.2 |
| 15 | 65% | 74.5 |
How it works
What 1RM is and why it matters
Your one-rep max (1RM) is the heaviest weight you can lift for a single repetition with proper form. It's the gold standard for measuring strength and the basis for percentage-based programming (5×5 at 80%, 3×3 at 90%, etc.). Many lifters never test their 1RM directly because the attempt is fatiguing and risky — instead they estimate it from submaximal lifts.
Estimating from a 5-rep set or 8-rep set has been validated against actual 1RM tests in multiple studies. Within ±5% accuracy is typical for sets of 1-10 reps. Above 10 reps, accuracy drops because endurance becomes a factor and form often breaks down.
Why we use five formulas
Each formula was validated on different populations and exercises, so each has slight biases. Averaging gives a more robust estimate.
Epley (1985): w × (1 + reps/30). Most popular; tends to overestimate slightly at high reps. Often the default in fitness apps.
Brzycki (1993): w × 36 / (37 − reps). Conservative; tends to be lower than Epley. Used in NSCA literature.
Lombardi: w × reps^0.10. The most aggressive at high reps; less commonly used.
O'Conner: w × (1 + 0.025 × reps). Linear; simplest to compute mentally.
Lander: 100w / (101.3 − 2.67123 × reps). Used in the bench-press research that produced the formula.
Using the percentage table for programming
Once you know your 1RM, the percentage table tells you what weight to use for various rep ranges. 5×5 work is typically done at 80-85% of 1RM (about 5RM weight); 3×3 strength sets at 90% (3RM); pyramids might hit 70% for 10s, 80% for 5s, 90% for 3s.
These percentages are starting points. If your last set leaves you with 2-3 reps in reserve, the weight is right. If you grind out reps and the weight crushes you, drop 5-10%. If you bang out double the prescribed reps easily, your 1RM is higher than estimated and you should retest.
Frequently asked questions
›How accurate is this?
Within ±5% for honest sets of 1-10 reps. Above 10 reps, accuracy drops because endurance and technical breakdown become factors. For strength athletes, retest 1RM every 8-12 weeks instead of estimating.
›Should I actually test my 1RM?
Powerlifters and athletes do, in controlled meets or test days. Recreational lifters often skip — estimating from a 3-5RM set is safer and gives 95% of the information.
›Why are different formulas giving different numbers?
Each was developed on different exercise populations. Bench press 1RM might be best modeled by Brzycki, squat by Epley. Averaging across all 5 reduces bias toward any single exercise.
›Is 1RM the same for all exercises?
No. Each lift has its own 1RM. A 100 kg bench press doesn't tell you anything about your squat 1RM. Test/estimate each main lift separately.
›How often should I update my 1RM?
Every 4-8 weeks for serious lifters, or whenever you significantly outperform your previous estimate. If 80% of your old 1RM feels light, retest.
›Can I use this for kettlebell or dumbbell exercises?
Yes for unilateral or stable-grip exercises. Less applicable for ballistic exercises (kettlebell swings, snatches) where the mechanics differ from a heavy single rep.
›What if I rep out a weight 15+ times?
The estimate becomes unreliable. Switch to a heavier weight that limits you to 8-12 reps for accurate 1RM estimation.
›Does the data leave my browser?
No. Calculation runs locally; nothing is sent to a server.
Related tools
Last updated: