Full body, upper/lower and push/pull/legs differ in one thing: how many muscle groups share a training day. Full body puts six groups in every session, upper/lower splits the body in half, and push/pull/legs splits it in thirds. That single choice fixes how often each muscle is trained for a given number of days, which is why the question "which split?" is really the question "how many days can I train?".

This article uses the three split templates exactly as the Zyra Workouts generator defines them. The rosters, the day layout and the set counts below are the app's rules, reproduced — not a recommendation for any individual, and not a trial result.

The three splits and what each day covers

Each split is a list of day templates, and each template is a roster of muscle groups. The generator fills a day by taking one compound exercise per roster muscle first, then adds isolation work until the session's exercise count is reached.

SplitDay templatesRoster per dayMuscles a week touches (all days)
Full bodyFull Bodyquads, chest, back, shoulders, hamstrings, core6 groups (no direct biceps, glutes, calves, forearms)
Upper/lowerUpper · LowerUpper: chest, back, shoulders, biceps, triceps · Lower: quads, hamstrings, glutes, calves, core10 groups (no direct forearms)
Push/pull/legsPush · Pull · LegsPush: chest, shoulders, triceps · Pull: back, biceps, core · Legs: quads, hamstrings, glutes, calves10 groups (no direct forearms)

Two things follow from the table. First, "no direct sets" is not "no sets": a back squat credits glutes and hamstrings as secondary muscles, and the app counts each secondary set at 0.5 toward that muscle's weekly total. Second, the full-body roster is shorter than the other two combined, so at the same number of exercises per session it spends its slots on the biggest movements and nothing else.

In plain terms: the split decides which muscles get a dedicated slot; secondary credit fills in some of the rest, but not all of it.

Frequency per muscle at 2–6 days

Frequency is how many times a week a muscle appears on a training day. Because the generator cycles through the day templates in order, frequency is a count, not a judgement:

Days a weekFull bodyUpper/lowerPush/pull/legs
2every roster muscle ×2everything ×1push and pull muscles ×1; legs ×0
3×3upper ×2, lower ×1everything ×1
4×4everything ×2push ×2, pull and legs ×1
5×5upper ×3, lower ×2push and pull ×2, legs ×1
6×6everything ×3everything ×2

The uneven rows are worth reading twice. Push/pull/legs at 2 days never reaches a legs day, and at 4 or 5 days one or two of the thirds get less than the others. Upper/lower at 3 or 5 days gives the upper body the extra session. The generator does not rebalance this — it runs the templates in order and stops when the week is full.

Frequency is also not the same as weekly sets. Full body at 3 days trains hamstrings three times, but with only a handful of sets each time. The weekly sets calculator adds up what a whole week actually credits to each muscle, against the app's landmarks (chest 12, back 14, shoulders 14, biceps 10, triceps 10, forearms 6, quads 14, hamstrings 10, glutes 10, calves 10, core 10 working sets a week). Those landmarks are the app's dashboard defaults, not a law.

In plain terms: frequency tells you how often a muscle gets a turn; the set count tells you how much work it gets when it does.

How the week is laid out

The generator does not let you pick which weekdays to train. It spreads sessions evenly across a 7-day cycle with one line of arithmetic: training day i (counting from 0) lands on slot floor(i × 7 / days).

D1D2D3D4D5D6D7Full body · 2 daysFullRestRestFullRestRestRestFull body · 3 daysFullRestFullRestFullRestRestFull body · 4 daysFullFullRestFullRestFullRestUpper/lower · 4 daysUpperLowerRestUpperRestLowerRestPush/pull/legs · 3 daysPushRestPullRestLegsRestRestPush/pull/legs · 6 daysPushPullLegsPushPullLegsRest
Fig. The week layouts the program generator produces — training days are spread as evenly as the count allows (slot = floor(i × 7 ÷ days)), then the split's day templates are dealt in order (Full body; Upper, Lower; Push, Pull, Legs). Three days become T·R·T·R·T·R·R; six days leave one rest day. The generator's rule, shown with its own function — not a claim about which layout works better.
DaysSlots (0 = first day of the cycle)Pattern
20, 3T·R·R·T·R·R·R
30, 2, 4T·R·T·R·T·R·R
40, 1, 3, 5T·T·R·T·R·T·R
50, 1, 2, 4, 5T·T·T·R·T·T·R
60–5T·T·T·T·T·T·R

The layout is the same for every split. A 4-day full-body week and a 4-day upper/lower week both sit on T·T·R·T·R·T·R; only the roster on each T differs. When a template repeats within the week the days get letters — Upper A, Upper B — and the generator gives each lettered day the same exercise list, because selection depends only on the roster, the session length and the focus settings.

The session length sets how many exercises a day holds: clamp(round(minutes / 12), 3, 8). Thirty minutes buys 3 exercises, 45 buys 4, 60 buys 5, 75 buys 6 and 90 buys 8.

Choosing by days available, not by preference

Put the two tables together and the choice mostly makes itself:

  • 2–3 days. Only the full-body roster trains every one of its muscles more than once a week. Upper/lower at 3 days leaves the lower body at once a week; push/pull/legs at 3 days leaves everything at once a week. The 3-day full body plan and 2-day plan are the generated examples.
  • 4 days. Upper/lower reaches twice a week for all ten of its muscles (4-day upper/lower). Full body at 4 days reaches four times a week for six muscles with 4 exercises per 45-minute session (4-day full body). Push/pull/legs at 4 days is lopsided.
  • 5 days. Both upper/lower and push/pull/legs are lopsided in different directions; full body stays even. The generator supports 5 days but none of the six program pages uses it, for that reason.
  • 6 days. Push/pull/legs reaches twice a week for everything with a single rest day (6-day push/pull/legs); upper/lower reaches three times.

What the arithmetic cannot decide is whether you will keep the schedule. A 4-day plan you complete for six cycles does more than a 6-day plan you abandon in week two — not because of any study, but because a missed day is a day of zero sets.

The short version

A split is a rule for which muscles share a day. Full body trains six groups every session; upper/lower needs 4 days to train everything twice a week; push/pull/legs needs 6. The week is laid out by floor(i × 7 / days) for every split, and the session length fixes the exercise count. Pick the split by the days you can actually train, then check the week's set totals with the weekly sets calculator. This is training arithmetic from the app's own rules. Educational overview only — not medical advice.