This tool allows you to quickly build your weightlifting programs, ensure you have proper weekly volume per muscle group , and balance it with the time you spend in a gym . You can build multi-week programs, plan your mesocycles, deload weeks, testing 1RM weeks, and see the weekly undulation of volume and intensity of each exercise on a graph.
Set the program name, create weeks and days, type the list of exercises for each day, putting each exercise on a new line, along with the number of sets and reps after slash (/) character, like this:
Squat / 3x3-5
Romanian Deadlift / 3x8
Autocomplete will help you with the exercise names. You can also create custom exercises if they're missing in the library.
On the right you'll see Weekly Stats , where you can see the number of sets per week per muscle group, whether you're in the recommended range (indicated by color), strength/hypertrophy split, and if you hover a mouse over the numbers - you'll see what exercises contribute to that number, and how much.
The exercise syntax supports RPEs , percentage of 1RM , rest timers, various progressive overload types, etc. Read more about the features in the docs !
When you're done, you can convert this program to Liftosaur program, and run what you planned in the gym, using the Liftosaur app !
To use this program:
Install Liftosaur app Copy the link to this program by clicking on below Import the link in the app, on the Choose Program screen. Week Stats
Total Sets: 72
Strength Sets: 12, 17%
Hypertrophy Sets: 60, 83%
Upper Sets: 51 (6s , 45h ) , 4d
Lower Sets: 16 (6s , 10h ) , 2d
Core Sets: 5 (5h ) , 1d
Push Sets: 31 (6s , 25h ) , 3d
Pull Sets: 28 (3s , 25h ) , 4d
Legs Sets: 8 (3s , 5h ) , 1d
Shoulders: 22↓ (5s , 18h ) , 4d
Triceps: 21↓ (3s , 18h ) , 3d
Back: 14↓ (2s , 13h ) , 4d
Abs: 5↑ (5h ) , 1d
Glutes: 15↓ (5s , 10h ) , 2d
Hamstrings: 11 (3s , 8h ) , 2d
Quadriceps: 15↓ (5s , 10h ) , 2d
Chest: 20↓ (5s , 15h ) , 4d
Biceps: 15↓ (15h ) , 4d
Calves: 8↑ (3s , 5h ) , 2d
Forearms: 13↓ (13h ) , 4d
{"maxWidth":2400,"url":"/planner","isLoggedIn":false}
{"exportedProgram":{"customExercises":{},"program":{"planner":{"name":"5/3/1: Boring But Big","vtype":"planner","weeks":[{"name":"Week 1","days":[{"name":"Day 1","exerciseText":"main / used: none / 1x5 58%, 1x5 67%, 1x5+ 76%, 2x10 50%, 3x10 50% 180s / progress: custom(increment: 5lb) {~\n if (week % 3 == 0) {\n rm1 += state.increment\n }\n~}\nddp[1-4] / used: none / 5x10 / 73.31% / progress: custom(min: 10, max: 15, increment: 5lb) {~\n if (completedReps >= reps) {\n if (min(reps) == max(reps) && max(reps) == state.max) {\n reps = state.min\n weights += state.increment\n } else {\n var.index = 1\n var.stop = 0\n for (var.i in completedReps) {\n if (var.stop == 0 && reps[var.i] < max(reps)) {\n var.stop = 1\n reps[var.i] += 1\n }\n }\n if (var.stop == 0) {\n reps[1] += 1\n }\n }\n }\n~}\n\nOverhead Press[1-4] / ...main / warmup: 1x5 45lb, 1x5 65lb / superset: A\nBicep Curl[1-4] / ...ddp / 3x13, 2x12 / 30lb / warmup: none / superset: A\nSkullcrusher[1-4] / ...ddp / 5x9 / 75lb 180s / warmup: 1x5 20lb, 1x5 40lb / superset: A / progress: custom(min: 8, max: 13) { ...ddp }"},{"name":"Day 2","exerciseText":"Deadlift[1-4] / ...main / warmup: 1x5 135lb / superset: A\nAb Wheel[1-4] / 2x11, 3x10 / 0lb / superset: A / progress: custom() {~\n if (completedReps >= reps) {\n var.index = 1\n var.stop = 0\n for (var.i in completedReps) {\n if (var.stop == 0 && reps[var.i] < max(reps)) {\n var.stop = 1\n reps[var.i] += 1\n }\n }\n if (var.stop == 0) {\n reps[1] += 1\n }\n }\n~}\nIncline Curl[1-4] / ...ddp / 4x12, 1x11 / 25lb 180s / warmup: none / superset: A"},{"name":"Day 3","exerciseText":"// 5/3/1 main progression, will increase 1RM at the 3rd week.\nBench Press[1-4] / ...main / warmup: 1x5 45lb, 1x5 95lb / superset: A\nShoulder Press[1-4] / ...ddp / 2x11, 3x10 / 40lb / warmup: none / superset: A\nHammer Curl[1-4] / ...ddp / 2x11, 3x10 / 30lb 180s / warmup: none / superset: A"},{"name":"Day 4","exerciseText":"Squat[1-4] / ...main / warmup: 1x5 45lb, 1x5 135lb / superset: A / progress: custom(increment: 10lb) { ...main }\nChin Up[1-4] / 3x9, 2x8 / 0lb / superset: A / update: custom() {~\n if (setIndex == 0) {\n weights = bodyweight + originalWeights[ns]\n }\n~} / progress: custom(min: 5, max: 10) { ...ddp }\nTriceps Extension[1-4] / ...ddp / 2x13, 3x12 / 35lb 180s / warmup: none / superset: A"}]},{"name":"Week 2","days":[{"name":"Day 1","exerciseText":"main / used: none / 1x3 63%, 1x3 72%, 1x3+ 81%, 5x10 50%"},{"name":"Day 2","exerciseText":""},{"name":"Day 3","exerciseText":""},{"name":"Day 4","exerciseText":""}]},{"name":"Week 3","days":[{"name":"Day 1","exerciseText":"main / used: none / 1x5 67%, 1x3 76%, 1x1+ 85%, 5x10 50%"},{"name":"Day 2","exerciseText":""},{"name":"Day 3","exerciseText":""},{"name":"Day 4","exerciseText":""}]},{"name":"Week 4 - Deload","days":[{"name":"Day 1","exerciseText":"main / used: none / 1x5 36%, 1x5 45%, 1x5 54%, 5x10 40%"},{"name":"Day 2","exerciseText":""},{"name":"Day 3","exerciseText":""},{"name":"Day 4","exerciseText":""}]}]},"exercises":[],"days":[],"url":"https://www.jimwendler.com/blogs/jimwendler-com/101077382-boring-but-big","isMultiweek":true,"name":"5/3/1: Boring But Big","weeks":[],"nextDay":6,"shortDescription":"Very simple hypertrophy program based on the 5/3/1 principle.","clonedAt":1743030919364,"description":"5/3/1 hypertrophy program based on the 4 big lifts (Squat/Bench Press/Overhead Press/Deadlift), and doing a lot of volume with those.","tags":[],"author":"Jim Wendler","deletedExercises":[],"deletedDays":[],"deletedWeeks":[],"vtype":"program","updatedAt":1752685017622,"id":"the531bbb"},"version":"20260304084247","settings":{"timers":{"warmup":90,"workout":180,"reminder":900},"units":"lb"}},"shouldSyncProgram":false,"isMobile":false,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","revisions":[]}