DEV Community

Sami Renkyorganci
Sami Renkyorganci

Posted on • Originally published at ffmicheck.com

The two 1RM formulas that give different answers (and which one to trust)

If you've ever pulled a "one-rep max" estimate from a spreadsheet or calculator app, there's a good chance one of two formulas was running under the hood: Epley (1985) or

Brzycki (1993). They look similar on paper but give different answers under fatigue. Which matters when you're programming percentages.

## The formulas

Epley:

  1RM = weight × (1 + reps / 30)                                                                                                                                                         
Enter fullscreen mode Exit fullscreen mode

Brzycki:

  1RM = weight × 36 / (37 − reps)
Enter fullscreen mode Exit fullscreen mode

## Worked example

Bench 100 kg for 5 reps:

  • Epley: 100 × (1 + 5/30) = 116.7 kg
  • Brzycki: 100 × 36 / 32 = 112.5 kg

Same set, 4 kg gap in the estimate. That gap matters when you're prescribing "5x5 at 85%" — the two formulas produce different working loads.

## When to use each

Research comparison (LeSuer et al. 1997, Wood et al. 2002):

| Rep range | Better formula | Why |

|-----------|---------------|-----|
| 1–3 reps | Epley or either | Both fit tightly at low reps |
| 4–8 reps | Similar accuracy | Convergence zone |
| 9–10 reps | Brzycki | Epley starts overpredicting |
| 12+ reps | Neither | Both break down |

## Practical rule

Average the two. For programming safety:

  function estimate1RM(weight, reps) {
    const epley = weight * (1 + reps / 30);
    const brzycki = weight * 36 / (37 - reps);
    return {
      epley: epley.toFixed(1),                                                                                                                                                           
      brzycki: brzycki.toFixed(1),       
      avg: ((epley + brzycki) / 2).toFixed(1),                                                                                                                                           
      conservative: Math.min(epley, brzycki).toFixed(1),                                                                                                                               
    };                                                                                                                                                                                   
  }                      

  estimate1RM(100, 5);                                                                                                                                                                   
  // { epley: '116.7', brzycki: '112.5', avg: '114.6', conservative: '112.5' }
Enter fullscreen mode Exit fullscreen mode

Use conservative for heavy percentages you're about to attempt, avg for programming references.

## Why this matters

Neither formula was validated above 10 reps. The relationship between rep count and load isn't linear at the extremes — at 15+ reps, endurance and glycogen dominate rather than neural
drive, and no formula accounts for that.

Full breakdown with rep-load percentage table and lift-specific accuracy data at ffmicheck.com.


Built as part of FFMI Check — a free fitness calculator hub citing peer-reviewed formulas (Kouri 1995, Mifflin-St Jeor, Epley, Brzycki) instead of proprietary
math.

Top comments (0)