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: 63
Strength Sets: 3, 5%
Hypertrophy Sets: 60, 95%
Upper Sets: 63 (3s , 60h ) , 4d
Lower Sets: 0
Core Sets: 0
Push Sets: 37 (37h ) , 4d
Pull Sets: 26 (3s , 23h ) , 4d
Legs Sets: 0
Shoulders: 26↓ (2s , 24h ) , 4d
Triceps: 16↓ (16h ) , 4d
Back: 17↓ (3s , 14h ) , 4d
Abs: 0↑
Glutes: 0↑
Hamstrings: 0↑
Quadriceps: 0↑
Chest: 20↓ (20h ) , 4d
Biceps: 18↓ (2s , 16h ) , 4d
Calves: 0↑
Forearms: 15↓ (2s , 14h ) , 4d
{"maxWidth":2400,"url":"/planner","isLoggedIn":false}
{"exportedProgram":{"customExercises":{},"program":{"deletedExercises":[],"planner":{"name":"Aesthetic 4:1 4d/wk","vtype":"planner","weeks":[{"name":"Week 1","days":[{"name":"Day 1","exerciseText":"repProgress / used: none / progress: custom() {~\n if (week < 4 && completedReps >= reps) {\n reps += 1\n } else if (week == 4) {\n weights = weights * 0.6\n }\n~}\nweightProgress / used: none / progress: custom() {~\n if (week < 4 && completedReps >= reps) {\n weights += 2.5lb\n } else if (week == 4) {\n weights = weights * 0.6\n }\n~}\n\nPull Up[1-4] / 3x7 / progress: custom() { ...repProgress }\nLat Pulldown[1-4] / 3x15 / progress: custom() { ...repProgress }\nIncline Bench Press[1-4] / 3x10 / progress: custom() { ...weightProgress }\nIncline Bench Press, Dumbbell[1-4] / 3x12 / progress: custom() { ...weightProgress }","id":"byizbjrq"},{"name":"Day 2","exerciseText":"Skullcrusher, Dumbbell[1-4] / 2x12 / progress: custom() { ...repProgress }\nTriceps Extension[1-4] / 2x12 / progress: custom() { ...repProgress }\nLateral Raise[1-4] / 4x15 / progress: custom() { ...repProgress }\nLateral Raise, Cable[1-4] / 3x15 / progress: custom() { ...repProgress }\nBicep Curl, Barbell[1-4] / 5x15 / progress: custom() {~\nif (week < 4 && completedReps >= reps) {\nnumberOfSets += 1\n} else if (week == 4) {\nnumberOfSets = 5\nweights = weights * 0.6\n}\n~}\nWrist Curl[1-4] / 2x12","id":"thrppxum"},{"name":"Day 3","exerciseText":"Incline Bench Press[1-4] / 3x10 / progress: custom() { ...weightProgress }\nIncline Bench Press, Dumbbell[1-4] / 3x12 / progress: custom() { ...weightProgress }\nLat Pulldown[1-4] / 3x15 / progress: custom() { ...repProgress }\nTriceps Pushdown, Cable[1-4] / 3x15 / progress: custom() { ...repProgress }\n","id":"eltjbfls"},{"name":"Day 4","exerciseText":"Bicep Curl[1-4] / 4x15 / progress: custom() { ...repProgress }\nBicep Curl, Cable[1-4] / 4x10 / progress: custom() { ...weightProgress }\nLateral Raise[1-4] / 4x15 / progress: custom() { ...repProgress }\nLateral Raise, Cable[1-4] / 4x15 / progress: custom() { ...repProgress }\nSkullcrusher, Dumbbell[1-4] / 3x15 / progress: custom() { ...repProgress }\nWrist Curl[1-4] / 2x15 / progress: custom() { ...repProgress }","id":"cwcdteej"}],"id":"pszrepai"},{"name":"Week 2","days":[{"name":"Day 1","exerciseText":"repProgress / used: none / progress: custom() {~\n if (week < 4 && completedReps >= reps) {\n reps += 1\n } else if (week == 4) {\n weights = weights * 0.6\n }\n~}\nweightProgress / used: none / progress: custom() {~\n if (week < 4 && completedReps >= reps) {\n weights += 2.5lb\n } else if (week == 4) {\n weights = weights * 0.6\n }\n~}\n\nPull Up[1-4] / 3x7 / progress: custom() { ...repProgress }\nLat Pulldown[1-4] / 3x15 / progress: custom() { ...repProgress }\nIncline Bench Press[1-4] / 3x10 / progress: custom() { ...weightProgress }\nIncline Bench Press, Dumbbell[1-4] / 3x12 / progress: custom() { ...weightProgress }","id":"xghuwavq"},{"name":"Day 2","exerciseText":"Skullcrusher, Dumbbell[1-4] / 2x12 / progress: custom() { ...repProgress }\nTriceps Extension[1-4] / 2x12 / progress: custom() { ...repProgress }\nLateral Raise[1-4] / 4x15 / progress: custom() { ...repProgress }\nLateral Raise, Cable[1-4] / 3x15 / progress: custom() { ...repProgress }\nBicep Curl, Barbell[1-4] / 5x15 / progress: custom() {~\nif (week < 4 && completedReps >= reps) {\nnumberOfSets += 1\n} else if (week == 4) {\nnumberOfSets = 5\nweights = weights * 0.6\n}\n~}\nWrist Curl[1-4] / 2x12","id":"mymuffim"},{"name":"Day 3","exerciseText":"Incline Bench Press[1-4] / 3x10 / progress: custom() { ...weightProgress }\nIncline Bench Press, Dumbbell[1-4] / 3x12 / progress: custom() { ...weightProgress }\nLat Pulldown[1-4] / 3x15 / progress: custom() { ...repProgress }\nTriceps Pushdown, Cable[1-4] / 3x15 / progress: custom() { ...repProgress }\n","id":"yvvwprlm"},{"name":"Day 4","exerciseText":"Bicep Curl[1-4] / 4x15 / progress: custom() { ...repProgress }\nBicep Curl, Cable[1-4] / 4x10 / progress: custom() { ...weightProgress }\nLateral Raise[1-4] / 4x15 / progress: custom() { ...repProgress }\nLateral Raise, Cable[1-4] / 4x15 / progress: custom() { ...repProgress }\nSkullcrusher, Dumbbell[1-4] / 3x15 / progress: custom() { ...repProgress }\nWrist Curl[1-4] / 2x15 / progress: custom() { ...repProgress }","id":"rsmdotvf"}],"id":"norzzeam"},{"name":"Week 3","days":[{"name":"Day 1","exerciseText":"repProgress / used: none / progress: custom() {~\n if (week < 4 && completedReps >= reps) {\n reps += 1\n } else if (week == 4) {\n weights = weights * 0.6\n }\n~}\nweightProgress / used: none / progress: custom() {~\n if (week < 4 && completedReps >= reps) {\n weights += 2.5lb\n } else if (week == 4) {\n weights = weights * 0.6\n }\n~}\n\nPull Up[1-4] / 3x7 / progress: custom() { ...repProgress }\nLat Pulldown[1-4] / 3x15 / progress: custom() { ...repProgress }\nIncline Bench Press[1-4] / 3x10 / progress: custom() { ...weightProgress }\nIncline Bench Press, Dumbbell[1-4] / 3x12 / progress: custom() { ...weightProgress }","id":"kkmgdwgw"},{"name":"Day 2","exerciseText":"Skullcrusher, Dumbbell[1-4] / 2x12 / progress: custom() { ...repProgress }\nTriceps Extension[1-4] / 2x12 / progress: custom() { ...repProgress }\nLateral Raise[1-4] / 4x15 / progress: custom() { ...repProgress }\nLateral Raise, Cable[1-4] / 3x15 / progress: custom() { ...repProgress }\nBicep Curl, Barbell[1-4] / 5x15 / progress: custom() {~\nif (week < 4 && completedReps >= reps) {\nnumberOfSets += 1\n} else if (week == 4) {\nnumberOfSets = 5\nweights = weights * 0.6\n}\n~}\nWrist Curl[1-4] / 2x12","id":"rkbygscp"},{"name":"Day 3","exerciseText":"Incline Bench Press[1-4] / 3x10 / progress: custom() { ...weightProgress }\nIncline Bench Press, Dumbbell[1-4] / 3x12 / progress: custom() { ...weightProgress }\nLat Pulldown[1-4] / 3x15 / progress: custom() { ...repProgress }\nTriceps Pushdown, Cable[1-4] / 3x15 / progress: custom() { ...repProgress }\n","id":"gbexwgkg"},{"name":"Day 4","exerciseText":"Bicep Curl[1-4] / 4x15 / progress: custom() { ...repProgress }\nBicep Curl, Cable[1-4] / 4x10 / progress: custom() { ...weightProgress }\nLateral Raise[1-4] / 4x15 / progress: custom() { ...repProgress }\nLateral Raise, Cable[1-4] / 4x15 / progress: custom() { ...repProgress }\nSkullcrusher, Dumbbell[1-4] / 3x15 / progress: custom() { ...repProgress }\nWrist Curl[1-4] / 2x15 / progress: custom() { ...repProgress }","id":"mpcqkztf"}],"id":"zskgunim"},{"name":"Week 4 - Deload","days":[{"name":"Day 1","exerciseText":"repProgress / progress: none\nweightProgress / progress: none\nPull Up / 3x7 / 60%\nLat Pulldown / 3x15 / 60%\nIncline Bench Press / 3x10 / 60%\nIncline Bench Press, Dumbbell / 3x12 / 60%","id":"hhuibowy"},{"name":"Day 2","exerciseText":"Skullcrusher, Dumbbell / 2x12 / 60%\nTriceps Extension / 2x12 / 60%\nLateral Raise / 4x15 / 60%\nLateral Raise, Cable / 3x15 / 60%\nBicep Curl, Barbell / 5x15 / 60%\nWrist Curl / 2x12 / 60%","id":"pokgwrve"},{"name":"Day 3","exerciseText":"Incline Bench Press / 3x10 / 60%\nIncline Bench Press, Dumbbell / 3x12 / 60%\nLat Pulldown / 3x15 / 60%\nTriceps Pushdown, Cable / 3x15 / 60%","id":"xavpkkyi"},{"name":"Day 4","exerciseText":"Bicep Curl / 4x15 / 60%\nBicep Curl, Cable / 4x10 / 60%\nLateral Raise / 4x15 / 60%\nLateral Raise, Cable / 4x15 / 60%\nSkullcrusher, Barbell / 3x15 / 60%\nWrist Curl / 2x15 / 60%","id":"gonotqpl"}],"id":"vuhmnvhq"}]},"exercises":[],"vtype":"program","days":[],"deletedDays":[],"url":"","isMultiweek":false,"name":"Aesthetic 4:1 4d/wk","weeks":[],"nextDay":1,"shortDescription":"","clonedAt":1767394481404,"description":"","tags":[],"deletedWeeks":[],"author":"","id":"mshpvvsq","authorid":"fpipxiyycm"},"version":"20260304084247","settings":{"timers":{"warmup":90,"workout":120,"reminder":900},"units":"lb"}},"shouldSyncProgram":false,"isMobile":false,"revisions":[]}