Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Exercises Dataset with Muscle Volume

A fitness exercise dataset of 1,324 exercises with step-by-step instructions in 10 languages, a strength/stretch/cardio/olympic category on every record, a 22-muscle vocabulary for querying, a three-level movement hierarchy, and per-muscle training-volume data (direct/indirect involvement across those 22 muscles) for 1,115 exercises — ready to drop into workout apps, training-volume calculators, and research projects.

Exercises With volume data Volume profiles Languages License


Table of contents

What's inside

File Description
data/exercises.json The main dataset: 1,324 exercise records
data/exercises.schema.json JSON Schema (draft 2020-12) the dataset validates against

Record format

{
  "id": "0025",
  "name": "barbell bench press",
  "equipment": "barbell",
  "category": "strength",
  "primary_muscle": "Chest",
  "secondary_muscle": ["Front Delts", "Triceps"],
  "body_region": "Upper body",
  "movement_group": "Chest",
  "volume_profile": "Barbell bench press",
  "volume": {
    "Chest": 1.0,
    "Front Delts": 1.0,
    "Triceps": 1.0
  },
  "instructions": { "en": "", "es": "", "…": "" },
  "instruction_steps": { "en": ["", ""], "…": [""] },
  "created_at": "2026-03-18T12:31:32.870252+00:00"
}

Field reference

Every record validates against data/exercises.schema.json. Fields marked optional are simply absent when not applicable — never null, never empty.

idstring, required

Unique identifier, zero-padded to 4 digits: "0001""5201". IDs are unique but not contiguous.

namestring, required

Full lowercase exercise name, e.g. "barbell bench press", "3/4 sit-up".

equipmentstring, required

One of 28 values:

assisted · band · barbell · body weight · bosu ball · cable · dumbbell · elliptical machine · ez barbell · hammer · kettlebell · leverage machine · medicine ball · olympic barbell · resistance band · roller · rope · skierg machine · sled machine · smith machine · stability ball · stationary bike · stepmill machine · tire · trap bar · upper body ergometer · weighted · wheel roller

categorystring, required

The kind of training the exercise is. One of 4 values, mutually exclusive, present on every record:

Value Count What it covers
strength 1,201 Resistance training — the bulk of the dataset
stretch 69 Static and dynamic stretching, mobility work
cardio 34 Conditioning: machines, running, jump rope, locomotion drills
olympic 20 Explosive full-body lifts — cleans, snatches, jerks, swings

category is an axis of its own, not a restatement of whether volume is present: 86 strength records carry no volume_profile (a dumbbell raise or barbell rack pull is plainly strength, it just doesn't map onto one of the 37 movement patterns). Filter on category to pick the kind of work; use volume_profile to know whether set-volume math is available.

Plyometrics get no category of their own on purpose — a jump squat is a squat, and most plyo variants already sit on strength profiles, so splitting them out would drop them from strength queries.

primary_musclestring, optional (1,295 of 1,324 records)

The single muscle the exercise mainly trains. One of 22 values — the same vocabulary used by secondary_muscle and by the keys of volume:

Upper body (15) Lower body (7)
Chest · Lats · Upper Back · Upper Traps · Lower Back Quads · Hamstrings · Glutes
Front Delts · Side Delts · Rear Delts Calves · Tibialis
Biceps · Triceps · Forearms Abductors · Adductors
Abs · Obliques · Serratus · Neck

Absent on the 29 movements that aren't muscle-targeted in a training sense (running, jump rope, burpees, …).

Neck and Tibialis are valid values but currently unused by any volume map — the dataset's only neck and tibialis entries are stretches, which carry no volume. They're kept so records added later have somewhere to go.

secondary_musclearray[string], optional

Additional muscles meaningfully involved. Same 22-value vocabulary as primary_muscle; always deduplicated against it, unique, and non-empty when present. Every muscle the exercise's volume map marks direct appears here (or as primary_muscle), so filtering on these fields never misses a directly-trained muscle.

body_regionstring, optional (paired with volume_profile)

Top level of the movement hierarchy. One of 2 values: Upper body · Lower body.

movement_groupstring, optional (paired with volume_profile)

The movement family, grouping one or more volume profiles. One of 20 values:

Upper body Lower body
Biceps curls Calf raises/jumps
Chest Hip adduction & abduction
Core Hip hinges
Forearm exercises Hip thrusts & kickbacks
Front raises Leg curls
Lateral raises Leg extensions
Overhead presses Squat movements
Pull-overs
Pulls
Rear delt flys
Scapular work
Shrugs
Triceps extensions

volume_profilestring, optional (1,115 of 1,324 records)

The movement-pattern profile the exercise was classified into — the key that determines its volume map. All exercises sharing a volume_profile carry identical volume data. One of 37 values (see the movement hierarchy for how they nest):

Ab crunches · Back extensions · Barbell bench press · Barbell overhead press · Barbell squats · Biceps curls · Cable rows · Chest flys · Chin-ups & pulldowns · Deadlifts · Dumbbell bench press · Dumbbell overhead press · Front raises · Good mornings · Grip work · Hip abduction · Hip adduction · Hip extensions & pull-throughs · Hip thrusts & glute kickbacks · Lateral raises · Leg curls · Leg extensions · Leg presses, hack & belt squats · Lunges & step-ups · Oblique twists & side bends · Pull-overs · Pull-ups & wide pulldowns · Rear delt flys · Romanian deadlifts · Scapular depression · Scapular protraction · Seated calf raises · Shrugs · Standing calf raises · Triceps extensions · Wrist curls · Wrist extensions

Absent (together with volume, body_region, movement_group) on 209 exercises that don't fit a hypertrophy-volume model. By category: 86 strength (isometric holds, carries, one-off movements that match no pattern), 69 stretch, 34 cardio, 20 olympic.

volumeobject, optional (paired with volume_profile)

Muscle involvement for the movement pattern, keyed by the same 22-muscle vocabulary as primary_muscle. Uninvolved muscles are absent, so every key carries one of exactly two values:

Value Meaning
1.0 Direct — the muscle is a prime mover of the exercise
0.5 Indirect — a meaningful synergist, but not a prime mover
"volume": { "Chest": 1.0, "Front Delts": 1.0, "Triceps": 1.0 }

To compute weekly volume per muscle: for each set performed, add the exercise's volume map to your per-muscle totals. Three sets of barbell bench press count as 3 direct sets for chest, front delts and triceps alike.

How this differs from primary_muscle / secondary_muscle

Same vocabulary, different jobs. primary_muscle is hand-curated and forces a single winner — useful for browsing and for "which muscle is this exercise for". volume is derived from the movement pattern and freely marks several muscles direct at once: a bench press is genuinely a direct chest, front-delt and triceps movement. Use the labels to filter, use volume to count sets.

Methodology

The direct/indirect split follows the fractional-set convention described in Schoenfeld BJ, Grgic J, Haun C, Itagaki T, Helms ER (2019), Calculating Set-Volume for the Limb Muscles with the Performance of Multi-Joint Exercises: Implications for Resistance Training Prescription, Sports 7(7):177 (CC BY 4.0). Exercises are first binned into movement-pattern profiles; each profile then carries one involvement map, so classification is auditable and consistent across the ~1,100 exercises that share only 37 underlying patterns.

instructionsobject, required

Full-text instructions keyed by ISO 639-1 language code. All 10 languages present on every record: en es it tr ru zh hi pl ko fr.

instruction_stepsobject, required

The same instructions split into an ordered array[string] of steps, same 10 language keys.

created_atstring, required

ISO 8601 timestamp of record creation.

Muscle labels vs. volume

All three muscle fields draw on one 22-muscle vocabulary, but they answer different questions:

  • primary_muscle + secondary_muscle — hand-maintained labels for querying and grouping ("show me all Lats exercises"). One primary per exercise.
  • volume — derived from the movement pattern, marks every prime mover as direct. Use it to compute training volume per muscle.

They stay consistent in one direction: anything volume calls direct is also present in primary_muscle/secondary_muscle. Beyond that they're independent — the labels are curated for browsing, the volume maps are fixed per movement pattern.

The movement hierarchy

Volumed exercises carry a 3-level hierarchy: body_regionmovement_groupvolume_profile.

Upper body
├── Pulls ──────────────── Chin-ups & pulldowns · Pull-ups & wide pulldowns · Cable rows
├── Chest ──────────────── Barbell bench press · Dumbbell bench press · Chest flys
├── Overhead presses ───── Barbell overhead press · Dumbbell overhead press
├── Core ───────────────── Ab crunches · Oblique twists & side bends
├── Scapular work ──────── Scapular protraction · Scapular depression
├── Rear delt flys · Pull-overs
├── Lateral raises · Front raises · Shrugs
├── Biceps curls · Triceps extensions
└── Forearm exercises ──── Wrist curls · Wrist extensions · Grip work
Lower body
├── Hip hinges ─────────── Deadlifts · Romanian deadlifts · Good mornings ·
│                          Hip extensions & pull-throughs · Back extensions
├── Squat movements ────── Barbell squats · Leg presses, hack & belt squats ·
│                          Lunges & step-ups
├── Hip thrusts & kickbacks ── Hip thrusts & glute kickbacks
├── Hip adduction & abduction ── Hip adduction · Hip abduction
├── Calf raises/jumps ──── Standing calf raises · Seated calf raises
└── Leg curls · Leg extensions

Use movement_group for workout-builder menus ("pick a hip hinge"), volume_profile for exact volume lookups.

Instructions

Every exercise has full-text instructions and split instruction_steps in: English, Spanish, Italian, Turkish, Russian, Chinese, Hindi, Polish, Korean, French (keyed by ISO 639-1 code).

Stats

By category

category count share
strength 1,201 91%
stretch 69 5%
cardio 34 3%
olympic 20 2%

By primary muscle

primary_muscle count primary_muscle count
Chest 161 Obliques 42
Lats 153 Forearms 40
Biceps 148 Rear Delts 36
Glutes 144 Side Delts 29
Triceps 141 Hamstrings 28
Abs 115 Lower Back 22
Front Delts 80 Upper Back / Upper Traps 13 each
Calves 59 Adductors / Abductors 6 / 5
Obliques 54 Serratus / Neck 2 each
Quads 44 (none — cardio) 29

By equipment

Equipment Count Equipment Count
Body weight 325 Kettlebell 41
Dumbbell 294 Weighted 36
Cable 157 Stability ball 28
Barbell 154 EZ barbell 23
Leverage machine 81 Assisted / Sled machine 15 each
Band 54 Medicine ball 13
Smith machine 48 Other (13 types) 40

~25% of exercises need no equipment at all — great for at-home workout apps.

Volume coverage

Metric Count
Exercises with volume data 1,115 (84%)
Movement-pattern profiles (volume_profile) 37
Movement groups 20
Muscles in the vocabulary 22 (20 currently used)
Intentionally without volume (stretches, cardio, Olympic hybrids, isometrics) 209

Top movement patterns by exercise count:

volume_profile count volume_profile count
Biceps curls 143 Oblique twists & side bends 54
Triceps extensions 137 Dumbbell overhead press 43
Ab crunches 113 Standing calf raises 39
Dumbbell bench press 96 Chin-ups & pulldowns 35
Cable rows 72 Rear delt flys 32
Barbell squats 56 Lunges & step-ups 30

Exercises training each muscle

involved counts any appearance in a volume map; direct counts only 1.0 entries.

Muscle involved direct Muscle involved direct
Triceps 383 172 Calves 169 61
Abs 326 113 Hamstrings 126 43
Chest 297 135 Quads 119 99
Biceps 274 202 Upper Traps 103 30
Upper Back 238 165 Side Delts 84 73
Glutes 220 148 Obliques 42 42
Front Delts 219 219 Abductors 35 5
Lower Back 211 91 Forearms 31 31
Rear Delts 182 158 Obliques 54 54
Lats 170 150 Adductors / Serratus 4 / 2 4 / 2

Provenance & license

  • Exercise names, equipment data, and multilingual instructions derive from hasaneyldrm/exercises-dataset (MIT). The media files (images/GIFs) of that project are not included here — they are separately licensed (© Gym visual) and were removed along with their reference fields.
  • The muscle-volume system (movement-pattern profiles, direct/indirect involvement maps, the movement hierarchy, and the 22-muscle vocabulary) is added by this project.

Released under the MIT License.

About

1,324 exercises with per-muscle training-volume data (0–1 across 25 muscles), a 3-level movement hierarchy, and instructions in 10 languages.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors