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: 59
Strength Sets: 0, 0%
Hypertrophy Sets: 59, 100%
Upper Sets: 47 (47h ) , 3d
Lower Sets: 6 (6h ) , 2d
Core Sets: 9 (9h ) , 3d
Push Sets: 21 (21h ) , 3d
Pull Sets: 26 (26h ) , 3d
Legs Sets: 3 (3h ) , 1d
Shoulders: 22↓ (22h ) , 3d
Triceps: 6↑ (6h ) , 3d
Back: 22↓ (22h ) , 3d
Abs: 6↑ (6h ) , 2d
Glutes: 5↑ (5h ) , 2d
Hamstrings: 5↑ (5h ) , 2d
Quadriceps: 5↑ (5h ) , 1d
Chest: 22↓ (22h ) , 3d
Biceps: 15↓ (15h ) , 3d
Calves: 2↑ (2h ) , 1d
Forearms: 10 (10h ) , 3d
{"maxWidth":2400,"url":"/planner","isLoggedIn":false}
{"exportedProgram":{"customExercises":{"fdbtizqf":{"name":"Low intensity low volume","types":[],"id":"fdbtizqf","isDeleted":false,"meta":{"synergistMuscles":[],"targetMuscles":[],"bodyParts":[],"sortedEquipment":[]},"vtype":"custom_exercise"},"fqjykerr":{"name":"High intensity low volume","types":[],"id":"fqjykerr","isDeleted":false,"meta":{"synergistMuscles":[],"targetMuscles":[],"bodyParts":[],"sortedEquipment":[]},"vtype":"custom_exercise"},"hsdymrhc":{"name":"High intensity high volume","types":[],"id":"hsdymrhc","isDeleted":false,"meta":{"synergistMuscles":[],"targetMuscles":[],"bodyParts":[],"sortedEquipment":[]},"vtype":"custom_exercise"},"kuyozklc":{"name":"External shoulder rotation, Cable","types":["pull","upper"],"id":"kuyozklc","isDeleted":false,"meta":{"synergistMuscles":[],"targetMuscles":[],"bodyParts":[],"sortedEquipment":[]},"vtype":"custom_exercise"},"gyvhlftz":{"name":"Low intensity high volume","types":[],"id":"gyvhlftz","isDeleted":false,"meta":{"synergistMuscles":[],"targetMuscles":[],"bodyParts":[],"sortedEquipment":[]},"vtype":"custom_exercise"},"elpgzqcp":{"name":"Core","types":["core"],"id":"elpgzqcp","isDeleted":false,"meta":{"synergistMuscles":[],"targetMuscles":[],"bodyParts":[],"sortedEquipment":[]},"vtype":"custom_exercise"},"yemijkqb":{"id":"yemijkqb","name":"Update 1RM","isDeleted":false,"types":[],"meta":{"targetMuscles":[],"synergistMuscles":[],"bodyParts":[],"sortedEquipment":[]},"vtype":"custom_exercise"}},"program":{"id":"jgimdpbk","name":" SBS Hypertrophy 3/week","url":"","author":"","shortDescription":"","description":"","nextDay":44,"weeks":[],"isMultiweek":false,"days":[{"id":"bwdcduxx","name":"Day 1","exercises":[]}],"exercises":[],"tags":[],"deletedDays":[],"deletedWeeks":[],"deletedExercises":[],"clonedAt":1738955414194,"planner":{"name":" SBS Hypertrophy 3/week","weeks":[{"name":"Week 1","days":[{"name":"Day 1","exerciseText":"t: Update 1RM[1-21] / used: none / 3x10+, 1x12+ / 70% / progress: custom(adjustmentMultiplier: 1) {~\nif (week % 7 != 0) {\n if (completedReps[numberOfSets] >= reps[numberOfSets] + 5) {\n rm1 = rm1+ (rm1 * 0.03 * state.adjustmentMultiplier)\n } else if (completedReps[numberOfSets] >= reps[numberOfSets] + 4) {\n rm1 = rm1+ (rm1 * 0.02 * state.adjustmentMultiplier)\n } else if (completedReps[numberOfSets] == reps[numberOfSets] + 3) {\n rm1 = rm1+ (rm1 * 0.015 * state.adjustmentMultiplier)\n } else if (completedReps[numberOfSets] == reps[numberOfSets] + 2) {\n rm1 = rm1+ (rm1 * 0.01 * state.adjustmentMultiplier)\n } else if (completedReps[numberOfSets] == reps[numberOfSets] + 1) {\n rm1 = rm1+ (rm1 * 0.005 * state.adjustmentMultiplier)\n } else if (completedReps[numberOfSets] == reps[numberOfSets] - 1) {\n rm1 = rm1 - (rm1 * 0.02 * state.adjustmentMultiplier)\n } else if (completedReps[numberOfSets] <= reps[numberOfSets] - 2) {\n rm1 = rm1 - (rm1 * 0.05 * state.adjustmentMultiplier)\n }\n}\n~}\n\nt: Core[1-21] / used: none / 3x12+ / 150lb / warmup: none / progress: custom() {~\n for (var.i in reps) {\n if (week % 7 != 0) {\n reps[var.i] = max(completedReps)\n }\n }\n~}\n\n\n\nt: High intensity low volume / used: none / 2x10+, 1x12+ / 70% / warmup: none\nt: Low intensity low volume / used: none / 2x12+, 1x15+ / 65% / warmup: none\n\nt: High intensity high volume / used: none / 3x10+, 1x12+ / 70% / warmup: none\nt: Low intensity high volume / used: none / 2x12+, 1x15+ / 65% / warmup: none\n\n\nChest Fly[1-21] / ...t: High intensity high volume / progress: custom(adjustmentMultiplier: 1) { ...t: Update 1RM }\nIncline Chest Press, Leverage Machine[1-21] / ...t: Low intensity low volume / progress: custom(adjustmentMultiplier: 1) { ...t: Update 1RM }\nT Bar Row[1-21] / ...t: High intensity high volume / progress: custom(adjustmentMultiplier: 1) { ...t: Update 1RM }\nBack Extension, Bodyweight[1-21] / ...t: Low intensity low volume / progress: custom(adjustmentMultiplier: 2) { ...t: Update 1RM }\nPreacher Curl, Leverage Machine[1-21] / ...t: Low intensity low volume / progress: custom(adjustmentMultiplier: 1) { ...t: Update 1RM }\nLateral Raise, Cable[1-21] / 3x12+ / 70% / warmup: none / progress: dp(1lb, 10, 15)","id":"gnpmxpne"},{"name":"Day 2","exerciseText":"Bench Press[1-21] / ...t: High intensity high volume / progress: custom(adjustmentMultiplier: 1) { ...t: Update 1RM }\nHanging Leg Raise[1-21] / ...t: Core / progress: custom() { ...t: Core }\nLeg Press[1-21] / ...t: High intensity low volume / progress: custom(adjustmentMultiplier: 2) { ...t: Update 1RM }\nChin Up[1-21] / ...t: Core / progress: custom() { ...t: Core }\nLateral Raise, Cable[1-21] / 3x12+ / 70% / warmup: none / progress: dp(1lb, 10, 15)\nFace Pull[1-21] / 3x12+ / 70% / warmup: none / progress: dp(5lb, 10, 15)","id":"vlsrrtpg"},{"name":"Day 3","exerciseText":"Incline Chest Press[1-21] / ...t: High intensity high volume / progress: custom(adjustmentMultiplier: 1) { ...t: Update 1RM }\nLat Pulldown, Leverage Machine[1-21] / ...t: High intensity high volume / progress: custom(adjustmentMultiplier: 1) { ...t: Update 1RM }\nExternal shoulder rotation, Cable[1-21] / 3x12+ / 70% / warmup: none / progress: dp(1lb, 10, 15)\nCrunch[1-21] / ...t: Core / progress: custom() { ...t: Core }\nShrug, Leverage Machine[1-21] / ...t: Low intensity low volume / progress: custom(adjustmentMultiplier: 1) { ...t: Update 1RM }\nPreacher Curl, Leverage Machine[1-21] / ...t: Low intensity low volume","id":"lbyijjby"}],"id":"wdclqpfl"},{"name":"Week 2","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none\nt: Low intensity low volume / used: none / 2x11+, 1x13+ / 67.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x9+, 1x11+ / 72.5% / warmup: none\nt: Low intensity high volume / used: none / 2x11+, 1x13+ / 67.5% / warmup: none","id":"tboqivtl"},{"name":"Day 2","exerciseText":"","id":"gugopuqh"},{"name":"Day 3","exerciseText":"","id":"qiinstso"}],"id":"duxwqkdz"},{"name":"Week 3","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x8+, 1x10+ / 75% / warmup: none\nt: Low intensity low volume / used: none / 2x10+, 1x12+ / 70% / warmup: none\n\nt: High intensity high volume / used: none / 3x8+, 1x10+ / 75% / warmup: none\nt: Low intensity high volume / used: none / 2x10+, 1x12+ / 70% / warmup: none","id":"idbqzorl"},{"name":"Day 2","exerciseText":"","id":"hwvregpw"},{"name":"Day 3","exerciseText":"","id":"mjkgpdxl"}],"id":"criyjxja"},{"name":"Week 4","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none\nt: Low intensity low volume / used: none / 2x11+, 1x13+ / 67.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x9+, 1x11+ / 72.5% / warmup: none\nt: Low intensity high volume / used: none / 2x11+, 1x13+ / 67.5% / warmup: none","id":"asfrrkjq"},{"name":"Day 2","exerciseText":"","id":"qiyyljae"},{"name":"Day 3","exerciseText":"","id":"zscxvxex"}],"id":"yxfxklog"},{"name":"Week 5","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x8+, 1x10+ / 75% / warmup: none\nt: Low intensity low volume / used: none / 2x10+, 1x12+ / 70% / warmup: none\n\nt: High intensity high volume / used: none / 3x8+, 1x10+ / 75% / warmup: none\nt: Low intensity high volume / used: none / 2x10+, 1x12+ / 70% / warmup: none","id":"gfqggenz"},{"name":"Day 2","exerciseText":"","id":"quqjfsuy"},{"name":"Day 3","exerciseText":"","id":"yschbqdu"}],"id":"gismqrkn"},{"name":"Week 6","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity low volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity high volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none","id":"nqqebnll"},{"name":"Day 2","exerciseText":"","id":"wpxtutgy"},{"name":"Day 3","exerciseText":"","id":"lcyvosdn"}],"id":"fwezrwod"},{"name":"Week 7","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 3x8+ / 60% / warmup: none\nt: Low intensity low volume / used: none / 3x10+ / 55% / warmup: none\n\nt: High intensity high volume / used: none / 4x8+ / 60% / warmup: none\nt: Low intensity high volume / used: none / 4x10+ / 55% / warmup: none","id":"nzmjkfrp"},{"name":"Day 2","exerciseText":"","id":"rzeixbkr"},{"name":"Day 3","exerciseText":"","id":"odfkeimy"}],"id":"gkihvmoa"},{"name":"Week 8","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none\nt: Low intensity low volume / used: none / 2x11+, 1x13+ / 67.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x9+, 1x11+ / 72.5% / warmup: none\nt: Low intensity high volume / used: none / 2x11+, 1x13+ / 67.5% / warmup: none","id":"jisxegsn"},{"name":"Day 2","exerciseText":"","id":"iyusnmfc"},{"name":"Day 3","exerciseText":"","id":"ngomvwig"}],"id":"mpmhogyb"},{"name":"Week 9","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x8+, 1x10+ / 75% / warmup: none\nt: Low intensity low volume / used: none / 2x10+, 1x12+ / 70% / warmup: none\n\nt: High intensity high volume / used: none / 3x8+, 1x10+ / 75% / warmup: none\nt: Low intensity high volume / used: none / 2x10+, 1x12+ / 70% / warmup: none","id":"vxxhfaum"},{"name":"Day 2","exerciseText":"","id":"dtzalrzb"},{"name":"Day 3","exerciseText":"","id":"qiatmjpq"}],"id":"wejrlitt"},{"name":"Week 10","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity low volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity high volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none","id":"dtibaodj"},{"name":"Day 2","exerciseText":"","id":"kcezfoho"},{"name":"Day 3","exerciseText":"","id":"kpaqdceq"}],"id":"wnmzvpnj"},{"name":"Week 11","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x8+, 1x10+ / 75% / warmup: none\nt: Low intensity low volume / used: none / 2x10+, 1x12+ / 70% / warmup: none\n\nt: High intensity high volume / used: none / 3x8+, 1x10+ / 75% / warmup: none\nt: Low intensity high volume / used: none / 2x10+, 1x12+ / 70% / warmup: none","id":"xkqwqtyg"},{"name":"Day 2","exerciseText":"","id":"putmvdkn"},{"name":"Day 3","exerciseText":"","id":"ozhhisyg"}],"id":"xrskslnc"},{"name":"Week 12","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity low volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity high volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none","id":"vbexosjt"},{"name":"Day 2","exerciseText":"","id":"sporrsmq"},{"name":"Day 3","exerciseText":"","id":"gcnnsual"}],"id":"dcneesnt"},{"name":"Week 13","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x6+, 1x8+ / 80% / warmup: none\nt: Low intensity low volume / used: none / 2x8+, 1x10+ / 75% / warmup: none\n\nt: High intensity high volume / used: none / 3x6+, 1x8+ / 80% / warmup: none\nt: Low intensity high volume / used: none / 2x8+, 1x10+ / 75% / warmup: none","id":"szgodfit"},{"name":"Day 2","exerciseText":"","id":"hzfrsmxf"},{"name":"Day 3","exerciseText":"","id":"zznibglh"}],"id":"dbdcrjjd"},{"name":"Week 14","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 3x8+ / 60% / warmup: none\nt: Low intensity low volume / used: none / 3x10+ / 55% / warmup: none\n\nt: High intensity high volume / used: none / 4x8+ / 60% / warmup: none\nt: Low intensity high volume / used: none / 4x10+ / 55% / warmup: none","id":"vbzfpgkx"},{"name":"Day 2","exerciseText":"","id":"npmobdun"},{"name":"Day 3","exerciseText":"","id":"kmyjslyd"}],"id":"tgyvjgqb"},{"name":"Week 15","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x8+, 1x10+ / 75% / warmup: none\nt: Low intensity low volume / used: none / 2x10+, 1x12+ / 70% / warmup: none\n\nt: High intensity high volume / used: none / 3x8+, 1x10+ / 75% / warmup: none\nt: Low intensity high volume / used: none / 2x10+, 1x12+ / 70% / warmup: none","id":"ynguybpg"},{"name":"Day 2","exerciseText":"","id":"zlwbngqa"},{"name":"Day 3","exerciseText":"","id":"rciowivm"}],"id":"vkavgdpf"},{"name":"Week 16","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity low volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity high volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none","id":"sbpvezfd"},{"name":"Day 2","exerciseText":"","id":"cmiweejz"},{"name":"Day 3","exerciseText":"","id":"eiikmphn"}],"id":"urmiwqol"},{"name":"Week 17","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x6+, 1x8+ / 80% / warmup: none\nt: Low intensity low volume / used: none / 2x8+, 1x10+ / 75% / warmup: none\n\nt: High intensity high volume / used: none / 3x6+, 1x8+ / 80% / warmup: none\nt: Low intensity high volume / used: none / 2x8+, 1x10+ / 75% / warmup: none","id":"fdighnql"},{"name":"Day 2","exerciseText":"","id":"mknxauwh"},{"name":"Day 3","exerciseText":"","id":"vyikopcg"}],"id":"uepmjqvr"},{"name":"Week 18","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity low volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x7+, 1x9+ / 77.5% / warmup: none\nt: Low intensity high volume / used: none / 2x9+, 1x11+ / 72.5% / warmup: none","id":"htcltahq"},{"name":"Day 2","exerciseText":"","id":"luwikefl"},{"name":"Day 3","exerciseText":"","id":"kpozvpng"}],"id":"gmbcvnst"},{"name":"Week 19","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x6+, 1x8+ / 80% / warmup: none\nt: Low intensity low volume / used: none / 2x8+, 1x10+ / 75% / warmup: none\n\nt: High intensity high volume / used: none / 3x6+, 1x8+ / 80% / warmup: none\nt: Low intensity high volume / used: none / 2x8+, 1x10+ / 75% / warmup: none","id":"bvueyjwi"},{"name":"Day 2","exerciseText":"","id":"zcowrrfv"},{"name":"Day 3","exerciseText":"","id":"woglafgm"}],"id":"luzigbmp"},{"name":"Week 20","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 2x5+, 1x6+ / 82.5% / warmup: none\nt: Low intensity low volume / used: none / 2x7+, 1x9+ / 77.5% / warmup: none\n\nt: High intensity high volume / used: none / 3x5+, 1x6+ / 82.5% / warmup: none\nt: Low intensity high volume / used: none / 2x7+, 1x9+ / 77.5% / warmup: none","id":"rbckevph"},{"name":"Day 2","exerciseText":"","id":"lbwkdham"},{"name":"Day 3","exerciseText":"","id":"zzwntllb"}],"id":"ogydvshn"},{"name":"Week 21","days":[{"name":"Day 1","exerciseText":"t: High intensity low volume / used: none / 3x8+ / 60% / warmup: none\nt: Low intensity low volume / used: none / 3x10+ / 55% / warmup: none\n\nt: High intensity high volume / used: none / 4x8+ / 60% / warmup: none\nt: Low intensity high volume / used: none / 4x10+ / 55% / warmup: none","id":"buewzqjn"},{"name":"Day 2","exerciseText":"","id":"dxexkccp"},{"name":"Day 3","exerciseText":"","id":"gvzllzec"}],"id":"kkshofiw"}],"vtype":"planner"},"vtype":"program"},"version":"20260304084247","settings":{"timers":{"warmup":90,"workout":180,"reminder":900},"units":"lb"}},"shouldSyncProgram":false,"isMobile":false,"revisions":[]}