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: 75
Strength Sets: 32, 43%
Hypertrophy Sets: 43, 57%
Upper Sets: 46 (14s , 32h ) , 4d
Lower Sets: 26 (18s , 8h ) , 2d
Core Sets: 3 (3h ) , 1d
Push Sets: 28 (14s , 14h ) , 2d
Pull Sets: 23 (5s , 18h ) , 4d
Legs Sets: 21 (13s , 8h ) , 2d
Shoulders: 19↓ (10s , 9h ) , 4d
Triceps: 16↓ (7s , 9h ) , 2d
Back: 18↓ (5s , 13h ) , 4d
Abs: 3↑ (3h ) , 1d
Glutes: 20↓ (14s , 6h ) , 2d
Hamstrings: 13↓ (9s , 4h ) , 2d
Quadriceps: 19↓ (12s , 7h ) , 2d
Chest: 22↓ (12s , 11h ) , 4d
Biceps: 12 (12h ) , 4d
Calves: 11 (7s , 4h ) , 2d
Forearms: 9↑ (9h ) , 4d
{"maxWidth":2400,"url":"/planner","isLoggedIn":false}
{"exportedProgram":{"customExercises":{},"program":{"planner":{"name":"GZCL Burrito But Big","weeks":[{"name":"Week 1","days":[{"name":"Day 1","exerciseText":"/// ALL Variations of T1 and T2\n/// Those are \"templates\" (i.e. with `used: none`), you can reuse them in your exercises\n\n// **T1 Leader Classic**. Work up to the RM of the first set, then record the weight.\n// Then do 4-6 \"half\" sets (same weight, half of the reps).\nt1_classic / used:none / 1+x6 85%+, 4x3 85% / 180s / progress: custom() {~\n weights = completedWeights[1]\n~} / update: custom() {~\n if (setIndex == 1) {\n weights = completedWeights[1]\n }\n~}\n\n// **T1 Leader Conditioning**. Similar to Classic, but after\n// the first set, do the conditioning part - do the **\"conditioning\"** part - \n// **12-18 reps** total within **10** minutes with the same weight. You can do\n// them by sets of 1 rep, 2 reps or 3 reps, every 60 seconds or so.\n// Use \"+\" button to add the sets.\nt1_leader_cond / used: none / 1+x6 85%+ 180s / update: custom() {~\n var.threshold = reps[1] == 6 ? 12 :\n reps[1] == 8 ? 14 :\n reps[1] == 9 ? 16 : 18\n if ((sum(completedReps) - reps[1]) < var.threshold) {\n numberOfSets += 1\n sets(numberOfSets, numberOfSets, 1, 3, 0, completedWeights[1], 60, 0, 0)\n }\n~}\n\n// **T2 Leader Classic**. Work up to the RM of the first set, then record the weight.\n// Then do 4-6 \"half\" sets (same weight, half of the reps).\nt2_classic / used:none / 1+x8 80%+ 180s, 4+x4 80% 180s / update: custom() { ...t1_classic } / progress: custom() { ...t1_classic }\n\n// **T2 Leader Conditioning**. Similar to Classic, but after\n// the first set, do the conditioning part - do the **\"conditioning\"** part - \n// **16-27 reps** total within **10** minutes with the same weight. You can do\n// them by sets of 1 rep, 2 reps or 3 reps, every 60 seconds or so.\n// Use \"+\" button to add the sets.\nt2_leader_cond / used: none / 1+x8 80%+ 180s / progress: custom() {~\n weights = completedWeights[1]\n~} / update: custom() {~\n var.threshold = reps[1] == 8 ? 16 :\n reps[1] == 10 ? 18 :\n reps[1] == 11 ? 20 : 22 \n if ((sum(completedReps) - reps[1]) < var.threshold) {\n numberOfSets += 1\n sets(numberOfSets, numberOfSets, 1, 3, 0, completedWeights[1], 60, 0, 0)\n }\n~}\n\n// **T2 Leader High-Volume**. Similar to Classic, but after\n// the first set do the **\"high volume\"** part - 3 sets of **5-7 reps**.\n// Try to get as close to the top range as possible!\nt2_leader_high_volume / used: none / 1+x10 80%+ 180s, 3x5-7 80% / progress: custom() {~\n weights = completedWeights[1]\n~} / update: custom() {~\n if (setIndex == 1) {\n weights = completedWeights[1]\n }\n~}\n\n// **T2 Leader Widowmaker**. Initially pick the weight you want to have **20 RM** of on **week 4**.\n// Attempt it (staying within 10-20 range), record the weight.\n// Each week you'll work towards that goal, trying to get closer and closer to the goal.\n// After the attempt, do \"half-sets\" - do 4 sets with half of your RM set reps.\nt2_leader_widowmaker / used: none / 1x10-20 70%+, 4x5 70% / 180s / update: custom() {~\n if (setIndex == 1) {\n weights = completedWeights[1]\n reps = floor(completedReps[1] / 2)\n }\n~} / progress: custom() {~\n weights = completedWeights[1]\n~}\n\n// **T3**. Do Max Reps Sets, going close to failure, but in the rep range >= 10 reps.\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)\n\n\n//WORKOUT START\n\n// **T1 Leader Classic**. Work up to the RM of the first set, then record the weight.\n// Then do 4-6 \"half\" sets (same weight, half of the reps).\nt1: Bench Press [1,1-8]/ ...t1_classic / 180s / progress: custom() { ...t1_classic } / update: custom() { ...t1_classic }\n\n// **T2 Leader Conditioning**. Similar to Classic, but after\n// the first set, do the conditioning part - do the **\"conditioning\"** part - \n// **16-27 reps** total within **10** minutes with the same weight. You can do\n// them by sets of 1 rep, 2 reps or 3 reps, every 60 seconds or so.\n// Use \"+\" button to add the sets.\nt2: Overhead Press [2,1-8]/ ...t2_leader_cond / 180s / progress: custom() { ...t2_leader_cond } / update: custom() { ...t2_leader_cond }\n\n// **T3**. Do Max Reps Sets, going close to failure, but in the rep range >= 10 reps.\nLat pulldown[3,1-12] / ...t3_DP1\nIncline Chest Press, Dumbbell[4,1-12] / ...t3_MRS\nTriceps Pushdown, Cable[5,1-12] / ...t3_MRS","id":"dxuslece"},{"name":"Day 2","exerciseText":"// ...t1_classic\nt1_classic: Squat [1,1-8] / ...t1_classic / progress: custom() { ...t1_classic } / update: custom() { ...t1_classic }\n// ...t2_classic\nt2_classic: Romanian Deadlift, Barbell[2,1-8] / ...t2_classic / progress: custom() { ...t1_classic } / update: custom() { ...t1_classic }\n// **T3**. Do Max Reps Sets, going close to failure, but in the rep range >= 10 reps.\nBent Over Row, Barbell[3,1-12] / ...t3_DP1\nSeated Leg Press, Leverage Machine [4,1-12] / ...t3_MRS\nPreacher Curl, Leverage Machine [5,1-12] / ...t3_MRS","id":"jcxlrmfj"},{"name":"Day 3","exerciseText":"// ...t1_classic\nt1_classic: Overhead Press[1,1-8] / ...t1_classic / progress: custom() { ...t1_classic } / update: custom() { ...t1_classic }\n// ...t2_classic\nt2_classic: Incline bench press[2,1-8] / ...t2_classic / progress: custom() { ...t1_classic } / update: custom() { ...t1_classic }\n// **T3**. Do Max Reps Sets, going close to failure, but in the rep range >= 10 reps.\nClose Grip: Lat Pulldown [3,1-12] / ...t3_DP1\nPec deck [4,1-12] / ...t3_MRS\nTriceps Pushdown, Cable[5,1-12] / ...t3_MRS","id":"aqvvhckf"},{"name":"Day 4","exerciseText":"// ...t1_classic\nt1_classic: Deadlift[1,1-8] /...t1_classic / progress: custom() { ...t1_classic } / update: custom() { ...t1_classic }\n// ...t2_classic\nt2_classic: Front Squat[2,1-8] / ...t2_classic / progress: custom() { ...t1_classic } / update: custom() { ...t1_classic }\n// **T3**. Do Max Reps Sets, going close to failure, but in the rep range >= 10 reps.\nBent Over Row, Barbell[3,1-12] / ...t3_MRS\nSplit squat [4,1-12] / ...t3_DP1\nBicep curl [5,1-12] / ...t3_MRS\nPlank[6,1-12] / ...t3_MRS","id":"dwnvxybc"}],"id":"bgglyqnz"},{"name":"Week 2","days":[{"name":"Day 1","exerciseText":"// **T1 Leader Classic**. Now use the same weight, but attempt to do 1-2 reps more.\nt1_classic / used:none / 1+x7-8 85%, 4x4 85% / 180s\n// **T2 Leader Classic**. Now use the same weight, but attempt to do 1-2 reps more.\nt2_classic / used:none / 1+x9-10 80%, 2x4 80%, 2x5 80% / 180s\nt2_leader_cond / used: none / 1+x9-10 80%+ 180s / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"nkpuzwjn"},{"name":"Day 2","exerciseText":"","id":"zrqllzym"},{"name":"Day 3","exerciseText":"","id":"izrqxeki"},{"name":"Day 4","exerciseText":"","id":"yiopixcf"}],"id":"kkvkkuis"},{"name":"Week 3","days":[{"name":"Day 1","exerciseText":"t1_classic / used: none / 1+x8-9 85%, 2x4 85%, 2x5 85% / 180s\nt2_classic / used: none / 1+x10-11 80%, 4x5 80% / 180s\nt2_leader_cond / used: none / 1+x10-11 80%+ 180s / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"wumytfbw"},{"name":"Day 2","exerciseText":"","id":"jugemkin"},{"name":"Day 3","exerciseText":"","id":"ssxlwblf"},{"name":"Day 4","exerciseText":"","id":"crnfcbtr"}],"id":"uvrgezxu"},{"name":"Week 4","days":[{"name":"Day 1","exerciseText":"t1_classic / used: none / 1+x9-10 85%, 4x5 85% / 180s\nt2_classic / used: none / 1+x11-12 80%, 2x5 80%, 2x6 80% / 180s\nt2_leader_cond / used: none / 1+x11-12 80%+ 180s / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"euhkwnte"},{"name":"Day 2","exerciseText":"","id":"kbrduwvt"},{"name":"Day 3","exerciseText":"","id":"svxtlvgq"},{"name":"Day 4","exerciseText":"","id":"nigmgiky"}],"id":"hpdtmujj"},{"name":"Week 5","days":[{"name":"Day 1","exerciseText":"// **T1 Leader Classic**. Beginning of the second mesocycle - again, work up to the RM of the first set, then record the weight.\n// Then do 4-6 \"half\" sets (same weight, half of the reps).\nt1_classic / used: none / 1+x6 85%+, 4x3 85% / 180s\n// **T2 Leader Classic**. Beginning of the second mesocycle - again, work up to the RM of the first set, then record the weight.\n// Then do 4-6 \"half\" sets (same weight, half of the reps).\nt2_classic / used: none / 1+x8 80%+, 4x4 80% / 180s\nt2_leader_cond / used: none / 1+x8 80%+ 180s / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"yetkhuhd"},{"name":"Day 2","exerciseText":"","id":"ledfolti"},{"name":"Day 3","exerciseText":"","id":"teasutfv"},{"name":"Day 4","exerciseText":"","id":"tcfjkwrn"}],"id":"dacltvdf"},{"name":"Week 6","days":[{"name":"Day 1","exerciseText":"// **T1 Leader Classic**. Now use the same weight, but attempt to do 1-2 reps more.\nt1_classic / used: none / 1+x7-8 85%, 4x4 85% / 180s\n// **T2 Leader Classic**. Now use the same weight, but attempt to do 1-2 reps more.\nt2_classic / used: none / 1+x9-10 80%, 2x4 80%, 2x5 80% / 180s\nt2_leader_cond / used: none / 1+x9-10 80%+ 180s / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"wouobfht"},{"name":"Day 2","exerciseText":"","id":"ffrbmmzh"},{"name":"Day 3","exerciseText":"","id":"voyuutbx"},{"name":"Day 4","exerciseText":"","id":"sspnyvpd"}],"id":"mxalzfes"},{"name":"Week 7","days":[{"name":"Day 1","exerciseText":"t1_classic / used: none / 1+x8-9 85%, 2x4 85%, 2x5 85% / 180s\nt2_classic / used: none / 1+x10-11 80%, 4x5 80% / 180s\nt2_leader_cond / used: none / 1+x10-11 80%+ 180s / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"rjnzbqgf"},{"name":"Day 2","exerciseText":"","id":"gcnmotxi"},{"name":"Day 3","exerciseText":"","id":"scmewhru"},{"name":"Day 4","exerciseText":"","id":"azmxbuev"}],"id":"eakshzon"},{"name":"Week 8","days":[{"name":"Day 1","exerciseText":"t1_classic / used: none / 1+x9-10 85%, 4x5 85% / 180s\nt2_classic / used: none / 1+x11-12 80%, 2x5 80%, 2x6 80% / 180s\nt2_leader_cond / used: none / 1+x11-12 80%+ 180s / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"ldawvhox"},{"name":"Day 2","exerciseText":"","id":"mujpmffr"},{"name":"Day 3","exerciseText":"","id":"pjqrrrqk"},{"name":"Day 4","exerciseText":"","id":"ztcfbkrj"}],"id":"asnjtgtp"},{"name":"Week 9","days":[{"name":"Day 1","exerciseText":"// **T1 Anchor Classic**. Work up to the RM of the first set, then record the weight.\n// Then do single sets (same weight, just one rep for each set).\nt1_anchor: Bench Press / 1x6 85%+, 6x1 85% / 180s / update: custom() {~\n if (setIndex == 1) {\n weights = weights[1]\n }\n~} / progress: custom() {~\n if (week == 12) {\n rm1 = weights[1] / rpeMultiplier(completedReps[1], 10)\n }\n~}\n// **T2 Anchor Classic**. Work up to the RM of the first set, then record the weight.\n// Then do 4 \"half\" sets (same weight, half of the reps).\nt2_anchor: Overhead Press, Barbell / 1x8 80%+, 4x4 80% / 180s / update: custom() { ...t1_anchor: Bench Press }\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"bicaogef"},{"name":"Day 2","exerciseText":"// ...t1_anchor: Bench Press\nt1_anchor: Squat[9-12] / ...t1_anchor: Bench Press / progress: custom() { ...t1_anchor: Bench Press } / update: custom() { ...t1_anchor: Bench Press }\n// ...t2_anchor: Overhead Press, Barbell\nt2_anchor: Romanian Deadlift[9-12] / ...t2_anchor: Overhead Press, Barbell / update: custom() { ...t1_anchor: Bench Press }","id":"atyomerm"},{"name":"Day 3","exerciseText":"// ...t1_anchor: Bench Press\nt1_anchor: Overhead Press[9-12] / ...t1_anchor: Bench Press / update: custom() { ...t1_anchor: Bench Press }\n// ...t2_anchor: Overhead Press, Barbell\nt2_anchor: Incline bench press[9-12] / ...t2_anchor: Overhead Press, Barbell / update: custom() { ...t1_anchor: Bench Press }","id":"ufgacxlf"},{"name":"Day 4","exerciseText":"// ...t1_anchor: Bench Press\nt1_anchor: Deadlift[9-12] / ...t1_anchor: Bench Press / update: custom() { ...t1_anchor: Bench Press }\n// ...t2_anchor: Overhead Press, Barbell\nt2_anchor: Front Squat[9-12] / ...t2_anchor: Overhead Press, Barbell / update: custom() { ...t1_anchor: Bench Press }","id":"wwegrzzf"}],"id":"tnqhlshz"},{"name":"Week 10","days":[{"name":"Day 1","exerciseText":"t1_anchor: Bench Press / 1x5 85%+, 5x1 85% / 180s\nt2_anchor: Overhead Press, Barbell / 1x7 80%+, 2x3 80%, 2x4 80% / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"frpclaey"},{"name":"Day 2","exerciseText":"","id":"lmvdbpqz"},{"name":"Day 3","exerciseText":"","id":"uvysubfj"},{"name":"Day 4","exerciseText":"","id":"ajqekati"}],"id":"jzmrrxdi"},{"name":"Week 11","days":[{"name":"Day 1","exerciseText":"t1_anchor: Bench Press / 1x4 85%+, 4x1 85% / 180s\nt2_anchor: Overhead Press, Barbell / 1x6 80%+, 4x3 80% / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"lpokezwg"},{"name":"Day 2","exerciseText":"","id":"fcpjdxvq"},{"name":"Day 3","exerciseText":"","id":"lfxcvuke"},{"name":"Day 4","exerciseText":"","id":"cwofurei"}],"id":"mbiqqbsc"},{"name":"Week 12","days":[{"name":"Day 1","exerciseText":"// **T1 Anchor Classic**. No single sets this time.\nt1_anchor: Bench Press / 1x3 85%+ / 180s\n// **T2 Anchor Classic**. No single sets this time.\nt2_anchor: Overhead Press, Barbell / 1x5 80%+ / 180s\nt3_MRS / used:none / 3x10+ 70% / warmup:none / 90s\nt3_DP1 / used:none / 3x10-15 70% / warmup:none / 90s / progress: dp(2.5kg, 10, 15)","id":"gmbbobgm"},{"name":"Day 2","exerciseText":"","id":"gbjeqptx"},{"name":"Day 3","exerciseText":"","id":"btkbcnre"},{"name":"Day 4","exerciseText":"","id":"ukaiyzxs"}],"id":"bqnrootl"}],"vtype":"planner"},"deletedExercises":[],"exercises":[],"days":[],"deletedDays":[],"url":"https://www.liftosaur.com/programs/gzcl-general-gainz-burrito-but-big","isMultiweek":true,"name":"GZCL Burrito But Big","weeks":[],"nextDay":1,"shortDescription":"Hypertrophy adaptation of General Gainz, as a 12-week program.","clonedAt":1746807426680,"description":"<p>Fun adaptation of GZCL: General Gainz program, with several variations of really interesting progression schemes available. \n</p>\n<p>By default the program is set up with Classic progressions, but in the there're all possible progressions in the exercise library available. Just add/change an exercise, and specify \"Reuse logic\" to one of the progression schemes you wish. \n</p>\n<p>\nMake sure to read the <a href=\"https://www.reddit.com/r/gzcl/comments/12ggfn7/burrito_but_big_a_general_gainzbased_12week/\">original post on Reddit</a> describing the program before starting!\n</p>","id":"gzcl-general-gainz-burrito-but-big","tags":[],"deletedWeeks":[],"author":"/u/benjaminbk","vtype":"program"},"version":"20260304084247","settings":{"timers":{"warmup":90,"workout":120,"reminder":900},"units":"kg"}},"shouldSyncProgram":false,"isMobile":false,"revisions":[]}