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: 66
Strength Sets: 3, 5%
Hypertrophy Sets: 63, 95%
Upper Sets: 33 (33h ) , 3d
Lower Sets: 27 (27h ) , 3d
Core Sets: 6 (3s , 3h ) , 2d
Push Sets: 21 (21h ) , 2d
Pull Sets: 15 (15h ) , 2d
Legs Sets: 24 (24h ) , 2d
Shoulders: 18↓ (18h ) , 3d
Triceps: 12 (12h ) , 2d
Back: 12 (12h ) , 3d
Abs: 6↑ (3s , 3h ) , 2d
Glutes: 20↓ (2s , 18h ) , 4d
Hamstrings: 14↓ (14h ) , 3d
Quadriceps: 21↓ (2s , 20h ) , 4d
Chest: 15↓ (15h ) , 3d
Biceps: 6↑ (6h ) , 1d
Calves: 11 (11h ) , 3d
Forearms: 5↑ (5h ) , 1d
{"maxWidth":2400,"url":"/planner","isLoggedIn":false}
{"exportedProgram":{"customExercises":{"hggspupz":{"types":["pull","upper"],"isDeleted":false,"smallImageUrl":"https://www.endomondo.com/wp-content/uploads/2024/03/Chest-Supported-Dumbbell-Row.jpg","meta":{"synergistMuscles":["Trapezius Lower Fibers","Trapezius Middle Fibers","Trapezius Upper Fibers","Infraspinatus","Teres Major","Teres Minor"],"targetMuscles":["Deltoid Posterior"],"bodyParts":[],"sortedEquipment":[]},"largeImageUrl":"https://www.endomondo.com/wp-content/uploads/2024/03/Chest-Supported-Dumbbell-Row.jpg","name":"Rear Delt Row, Dumbbell","id":"hggspupz","vtype":"custom_exercise"},"paylntkd":{"types":["core"],"isDeleted":false,"smallImageUrl":"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTM0XTHhMwuvjE2Ir7OgMF7Agajg4IED9h-Mo_g3d06O2Cj9DtSmBHLeB4K&s=10","meta":{"synergistMuscles":["Quadriceps","Gluteus Maximus","Gluteus Medius"],"targetMuscles":["Rectus Abdominis","Obliques"],"bodyParts":[],"sortedEquipment":[]},"largeImageUrl":"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTM0XTHhMwuvjE2Ir7OgMF7Agajg4IED9h-Mo_g3d06O2Cj9DtSmBHLeB4K&s=10","name":"Captain Chair Straight Leg Raises, Bodyweight","id":"paylntkd","vtype":"custom_exercise"}},"program":{"deletedExercises":[],"planner":{"name":"Thinner Leaner Stronger (5-day) Phase 2","weeks":[{"name":"Week 1","days":[{"name":"Day 1 - Lower Body A","exerciseText":"t: Lunge[1-8] / used: none / 3x6-8 / 70% / @8+ / 180s / warmup: none / update: custom() {~\nif (week != 9) {\n if (setIndex > 0) {\n //state.failure = 0\n for (var.i in completedReps) {\n if (var.i <= setIndex && (completedReps[var.i] < minReps || (completedReps[var.i] == minReps && completedRPE[var.i] > RPE))) {\n if (state.failure < 3) {\n state.failure += 1\n }\n } else if (var.i <= setIndex && (completedReps[var.i] >= reps && completedRPE[var.i] <= RPE)) {\n if (state.failure > 0) {\n state.failure -= 1\n }\n }\n }\n if (state.failure < 1 && (completedReps[setIndex] >= reps && completedRPE[setIndex] <= RPE)) {\n weights = completedWeights[setIndex] + state.increment\n } else if (state.failure < 3 && (completedReps[setIndex] < minReps || (completedReps[setIndex] == minReps && completedRPE[setIndex] > RPE))) {\n weights = completedWeights[setIndex] - state.increment/2\n } else {\n weights = completedWeights[setIndex]\n }\n }\n }\n~} / progress: custom(failure: 0, increment: 5kg) {~\nif (week != 9) {\n rm1 = calculate1RM(completedWeights[numberOfSets], completedReps[numberOfSets]) * rpeMultiplier(1, completedRPE[numberOfSets])\n if (state.failure < 1 && (completedReps[numberOfSets] >= reps && completedRPE[numberOfSets] <= RPE)) {\n weights = completedWeights[numberOfSets] + state.increment\n } else if (state.failure < 3 && (completedReps[numberOfSets] < minReps)|| (completedReps[numberOfSets] == minReps && completedRPE[numberOfSets] > RPE)) {\n weights = completedWeights[numberOfSets] - state.increment/2\n } else {\n weights = completedWeights[numberOfSets]\n } \n }\n~}\n\nt: Crunch[1-8] / used: none / 3x6+ / 120s / warmup: none / progress: custom(start:6, target: 30, weeks:8, increment: 2.5kg) {~\n if (completedReps <= state.target) {\n if (completedReps >= reps) {\n reps += round(((state.target - state.start) / state.weeks))\n }\n }\n else {\n reps = state.start\n weights += state.increment\n }\n~}\n\nt: Plank[1-8] / used: none / 3x10+ / 120s / warmup: none / progress: custom(mintime:10, targettime: 120, increment: 5, variation:1) {~\n descriptionIndex = state.variation\n if (completedReps >= reps) {\n reps += state.increment\n }\n if (descriptionIndex == 1 && completedReps > state.targettime) {\n reps = state.mintime\n state.variation = 2\n descriptionIndex = state.variation\n }\n~}\n\nprimary: Squat[1-9] / used: none / 3x6-8 / 70% / @8+ / 180s / warmup: 1x10 50%, 1x4 70%\naccessory: Squat[1-9] / used: none / 3x8-10 / 75% / @9+ / 120s / warmup: none\ncore: Squat[1-8] / used: none / 3x6+ (AMRAP) / @10 / 120s / warmup: none\n\n// [Barbell Squat Video](https://www.youtube.com/watch?v=KJ_tmkdWmE0&feature=youtu.be)\nfirst: Squat[1,1-9] / ...primary: Squat / update: custom() { ...t: Lunge } / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Barbell Romanian Deadlift Video](https://m.youtube.com/watch?v=ua-Zlgpe1no&feature=youtu.be)\nRomanian Deadlift, Barbell[2,1-9] / ...primary: Squat / warmup: none / update: custom() { ...t: Lunge } / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Leg Press Video](https://m.youtube.com/watch?v=shOprEcfDPM&feature=youtu.be)\nSeated Leg Press[3,1-9] / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Dumbbell Lunge, In-Place Video](https://m.youtube.com/watch?v=1x1sL4GwQoA&feature=youtu.be)\nLunge, Dumbbell[4,1-9] / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }","id":"ugrarwyy"},{"name":"Day 2 - Push","exerciseText":"// [Incline Barbell Bench Press Video](https://m.youtube.com/watch?v=cPbElRT55C8&feature=youtu.be)\nIncline Bench Press[1,1-9] / ...primary: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Dumbbell Bench Press Video](https://m.youtube.com/watch?v=F1-6iSktxHc&feature=youtu.be)\nBench Press, Dumbbell[2,1-9] / ...primary: Squat / warmup: none / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Incline Dumbbell Bench Press Video](https://m.youtube.com/watch?v=IQFBxglnH_k&feature=youtu.be)\nIncline Bench Press, Dumbbell[3,1-9] / 2.5kg / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Triceps Pushdown Video](https://m.youtube.com/watch?v=QlWG2iGsWwA&feature=youtu.be)\nTriceps Pushdown, Cable[4,1-9] / 2.5kg / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 2.5kg) { ...t: Lunge }\n// [*Captain Chair Straight Leg Raises Video*](https://www.youtube.com/watch?v=CU2-V80_JsA&t=24s)\n//\n// *Optional Exercise*\n//\n// *do As Many Reps As Possible (AMRAP)*\nCaptain Chair Straight Leg Raises, Bodyweight[5,1-8] / ...core: Squat / progress: custom(start:6, target: 30, weeks:8, increment: 2.5kg) { ...t: Crunch }","id":"whfemfdh"},{"name":"Day 3 - Pull","exerciseText":"// [Barbell Deadlift Video](https://m.youtube.com/watch?v=oZTO3clUAWU&feature=youtu.be)\nDeadlift[1,1-9] / ...primary: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Seated Cable Row Video](https://m.youtube.com/watch?v=BHT2QCiyo3A&feature=youtu.be)\nSeated Row, Cable[2,1-9] / 5kg / ...primary: Squat / warmup: none / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Lat Pulldown Video](https://m.youtube.com/watch?v=PJXwrqUJG9A&feature=youtu.be)\n//\n// Close-Grip\nclosegrip: Lat Pulldown[3,1-9] / 5kg / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Barbell Curl Video](https://m.youtube.com/watch?v=iwYZYvWc9BY&feature=youtu.be)\nBicep Curl, Barbell[4,1-9] / 20kg / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 2.5kg) { ...t: Lunge }","id":"cgbedait"},{"name":"Day 4 - Upper Body","exerciseText":"// [Seated Barbell Overhead Press Video](https://m.youtube.com/watch?v=iZ3cVBL_q4o&feature=youtu.be)\nSeated Overhead Press, Barbell[1,1-9] / ...primary: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Close-Grip Barbell Bench Press Video](https://m.youtube.com/watch?v=vDZ0QvMw_w0&feature=youtu.be)\nBench Press Close Grip[2,1-9] / ...primary: Squat / warmup: none / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Cable Side Raise Video](https://youtube.com/shorts/3e-D9UJwwBg?feature=share)\n//\n// Unilateral Raise\nLateral Raise, Cable[3,1-9] / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 2.5kg) { ...t: Lunge }\n// [Dumbbell Rear Delt Row Video](https://m.youtube.com/shorts/D96_DwefWLY?feature=share)\nRear Delt Row, Dumbbell[4,1-9] / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 2.5kg) { ...t: Lunge }\n// [*Plank Video*](https://www.youtube.com/watch?v=pSHjTRCQxIw&t=28s)\n//\n// *Optional Exercise, reps represent seconds to hold position*\n//\n// **Variation 1:** normal plank\n\n// [*Plank Video*](https://www.youtube.com/watch?v=pSHjTRCQxIw&t=28s)\n//\n// *Optional Exercise, reps represent seconds to hold position*\n//\n// **Variation 2:** elbows 5\" in front of shoulders, and flexed glutes\n\nPlank, Bodyweight[5,1-8] / 3x10+ (second) / ...core: Squat / progress: custom(mintime:10, targettime: 120, increment: 5, variation:1) { ...t: Plank }","id":"duvphtxd"},{"name":"Day 5 - Lower Body B","exerciseText":"// [Barbell Squat Video](https://www.youtube.com/watch?v=KJ_tmkdWmE0&feature=youtu.be)\nlast: Squat[1,1-9] / ...primary: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Leg Curl Video](https://m.youtube.com/watch?v=1N9BEWbf0E4&feature=youtu.be)\nSeated Leg Curl, Leverage Machine[2,1-9] / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Dumbbell Bulgarian Split Squat Video](https://m.youtube.com/watch?v=DCGHjnIekw0&feature=youtu.be)\nBulgarian Split Squat, Dumbbell[3,1-9] / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }\n// [Barbell Hip Thrust Video](https://m.youtube.com/watch?v=MxrBskXjVHU&feature=youtu.be)\nHip Thrust[4,1-9] / ...accessory: Squat / update: custom() { ...t: Lunge } / progress: custom(failure: 0, increment: 5kg) { ...t: Lunge }","id":"xzguqpyj"}],"id":"ybjlayng"},{"name":"Week 2","days":[{"name":"Day 1 - Lower Body A","exerciseText":"","id":"cssuxpyp"},{"name":"Day 2 - Push","exerciseText":"","id":"shiorqjr"},{"name":"Day 3 - Pull","exerciseText":"","id":"wxhcrxyc"},{"name":"Day 4 - Upper Body","exerciseText":"","id":"bcxldjph"},{"name":"Day 5 - Lower Body B","exerciseText":"","id":"vtmvwnzy"}],"id":"cngexnvb"},{"name":"Week 3","days":[{"name":"Day 1 - Lower Body A","exerciseText":"","id":"lddhpaqh"},{"name":"Day 2 - Push","exerciseText":"","id":"gbviqmev"},{"name":"Day 3 - Pull","exerciseText":"","id":"bwhxlzty"},{"name":"Day 4 - Upper Body","exerciseText":"","id":"rvpwjffc"},{"name":"Day 5 - Lower Body B","exerciseText":"","id":"bcyabras"}],"id":"agfoneyr"},{"name":"Week 4","days":[{"name":"Day 1 - Lower Body A","exerciseText":"","id":"amkybyis"},{"name":"Day 2 - Push","exerciseText":"","id":"upwcxtcc"},{"name":"Day 3 - Pull","exerciseText":"","id":"iwuqxcok"},{"name":"Day 4 - Upper Body","exerciseText":"","id":"oppskffv"},{"name":"Day 5 - Lower Body B","exerciseText":"","id":"ijztdzwo"}],"id":"emcgyaih"},{"name":"Week 5","days":[{"name":"Day 1 - Lower Body A","exerciseText":"","id":"ehmuegyl"},{"name":"Day 2 - Push","exerciseText":"","id":"clafnnny"},{"name":"Day 3 - Pull","exerciseText":"","id":"cbxaqppi"},{"name":"Day 4 - Upper Body","exerciseText":"","id":"rpqphjmi"},{"name":"Day 5 - Lower Body B","exerciseText":"","id":"hsrudmld"}],"id":"tgwfgcel"},{"name":"Week 6","days":[{"name":"Day 1 - Lower Body A","exerciseText":"","id":"feyxterg"},{"name":"Day 2 - Push","exerciseText":"","id":"kszjdejv"},{"name":"Day 3 - Pull","exerciseText":"","id":"bzmvqkfd"},{"name":"Day 4 - Upper Body","exerciseText":"","id":"qzqfofwk"},{"name":"Day 5 - Lower Body B","exerciseText":"","id":"ibakfbug"}],"id":"onpvjzds"},{"name":"Week 7","days":[{"name":"Day 1 - Lower Body A","exerciseText":"","id":"czfgdbcl"},{"name":"Day 2 - Push","exerciseText":"","id":"empnszwx"},{"name":"Day 3 - Pull","exerciseText":"","id":"bckyrasr"},{"name":"Day 4 - Upper Body","exerciseText":"","id":"fdczbksf"},{"name":"Day 5 - Lower Body B","exerciseText":"","id":"spmhhbdn"}],"id":"jsdurglh"},{"name":"Week 8","days":[{"name":"Day 1 - Lower Body A","exerciseText":"","id":"hrntolym"},{"name":"Day 2 - Push","exerciseText":"","id":"gdengbhp"},{"name":"Day 3 - Pull","exerciseText":"","id":"vlznmwlh"},{"name":"Day 4 - Upper Body","exerciseText":"","id":"zmytezwf"},{"name":"Day 5 - Lower Body B","exerciseText":"","id":"ykkdjesm"}],"id":"evsymcmt"},{"name":"Week 9 - Deload Week","days":[{"name":"Day 1 - Lower Body A Deload","exerciseText":"primary: Squat / used: none / 2x3 / progress: none\naccessory: Squat / used: none / 2x4 / progress: none","id":"vgeqwxky"},{"name":"Day 2 - Push Deload","exerciseText":"","id":"vnzaazbg"},{"name":"Day 3 - Pull Deload","exerciseText":"","id":"zdtrsbzq"},{"name":"Day 4 - Upper Body Deload","exerciseText":"","id":"ehqvhknp"},{"name":"Day 5 - Lower Body B Deload","exerciseText":"","id":"xazfsdbt"}],"id":"hziibpmp"}],"vtype":"planner"},"exercises":[],"days":[{"name":"Day 1","exercises":[],"id":"sxxbhgsq"}],"deletedDays":[],"url":"","isMultiweek":false,"name":"Thinner Leaner Stronger (5-day) Phase 2","weeks":[],"nextDay":1,"shortDescription":"","clonedAt":1726738429832,"description":"","id":"uvprsufh","tags":[],"deletedWeeks":[],"author":"","vtype":"program"},"version":"20260304084247","settings":{"timers":{"warmup":90,"workout":120,"reminder":900},"units":"kg"}},"shouldSyncProgram":false,"isMobile":false,"revisions":[]}