One-Rep Max (1RM) Calculator

Estimate your one-rep max from a weight and rep count using the Epley and Brzycki formulas, plus a training percentage table.

The two formulas

Epley: 1RM = weight × (1 + reps / 30). Brzycki: 1RM = weight × 36 / (37 - reps). Both take a submaximal set, some weight for some number of reps short of failure or right at it, and project what a true single-rep max would be. Neither needs you to actually attempt a heavy single, which is the whole appeal for programming without constant max-effort testing.

Worked example

200 lifted for 5 reps: Epley gives 200 × (1 + 5/30) = 233.3. Brzycki gives 200 × 36 / 32 = 225.0. The two land about 8 lb apart here, typical for a set in the 4-6 rep range, and would spread further apart if the same weight were lifted for 10 or 12 reps instead.

Training percentage table (based on a 1RM of 233)

% of 1RMWeight
50%116.5
60%139.8
70%163.1
75%174.8
80%186.4
85%198.1
90%209.7
95%221.3
100%233

How to calculate 1RM in Python

def epley_1rm(weight, reps): return weight * (1 + reps / 30) def brzycki_1rm(weight, reps): return weight * 36 / (37 - reps) print(round(epley_1rm(200, 5), 1)) # 233.3 print(round(brzycki_1rm(200, 5), 1)) # 225.0

This is a training estimate, not medical or professional coaching advice. Warm up properly, use a spotter or safety pins for near-maximal attempts, and stop if a lift feels unsafe. Consult a qualified coach or trainer for a personalized program.

Related Tools