RepDB
511 exercises · EN · DE · ES
Updated 2 Aug 2026

The commercial-safe exercise dataset.

One payment. No rate limits. Two styles — classic (muscles highlighted) + flat. Built-in alternatives and progressions.

One-time purchase. Keep and use the version you buy. Commercial license included. SQLite + JSON + WebP.
Mountain Climbers — classic-style looping animation
Side-Lying Lateral Raise — classic-style looping animation
Incline Dumbbell Curl — classic-style looping animation
Looping, transparent-background animations — one per animated exercise on Standard.
Straight from the bundle

Your app, our data.

Three mock screens assembled from nothing but bundle assets — the images, the animation, and every piece of metadata come straight from the JSON. No retouching, no custom art.

Friday
Leg Day
Glutes Hamstrings
2 of 5 done~45 min
Barbell Hip Thrust
Barbell Hip Thrust
4 × 12
Romanian Deadlift
Romanian Deadlift
3 × 10
Lying Leg Curl
Lying Leg Curl
3 × 12
Now
Glute Bridge
Glute Bridge
3 × 15
Kettlebell Swing
Kettlebell Swing
4 × 15
Built with: muscle groups
Mountain Climbers
Mountain Climbers
knee-safe bodyweight Beginner
MET 8.0 · ≈ 315 kcal / 30 min
  1. 1 Start in a high plank position.
  2. 2 Drive one knee toward your chest.
  3. 3 Quickly switch legs, driving the other knee forward.
Built with: animation + MET values
Too hard? Too easy?
Swap Push-Up
Incline Push-Up
Incline Push-Up
Easier
Push-Up
Push-Up
Current
Decline Push-Up
Decline Push-Up
Harder
Clap Push-Ups
Clap Push-Ups
Harder
Built with: the relations graph

UI mockups. Every image, name, and instruction comes straight from the dataset.

Killer feature

One WebP. Any canvas.

Every classic-style image ships with a true transparent background. Drop it on white, dark mode, a brand color, a photo backdrop — no masks, no compositing, no "white square on my dark UI." We haven't found another exercise dataset that ships this.

One Arm Kettlebell Floor Press on Light
Light
Consumer fitness app
One Arm Kettlebell Floor Press on Dark
Dark
Dark mode
One Arm Kettlebell Floor Press on Brand
Brand
Your brand colors
One Arm Kettlebell Floor Press on Canvas
Canvas
Composable over anything

Same file. No per-theme asset variants, no canvas tricks, no runtime compositing. images/classic/one-arm-kettlebell-floor-press-peak.webp.

Standard · animated

Every rep, in motion.

Looping, transparent-background exercise animations — drop them on any surface, exactly like the stills. Standard tier.

Side-Lying Lateral Raise
Side-Lying Lateral Raise
Bent Arm Barbell Pullover
Bent Arm Barbell Pullover
Incline Dumbbell Curl
Incline Dumbbell Curl
Cossack Squat
Cossack Squat· two-pose

Looping transparent WebP — 960px. One per animated exercise, in images/animations/<slug>.webp. Around 88% are rendered motion (and rising); the rest alternate the start and peak poses — animation_type tells you which.

Grab the preview bundle first

A free sample of the paid dataset with the exact production assets — no signup, no watermarks. Browse it offline with the bundled viewer.

What's inside repdb-preview.zip
  • A hand-picked sample of exercises with full texts — names, descriptions, instructions, muscles, equipment, MET values — in EN + DE + ES
  • Both paid image styles at full 1024×1024: classic (transparent background) and flat — start/peak stills
  • A looping transparent animation for every exercise in the sample — the Standard-tier format, verbatim
  • index.html viewer — browse stills and animations side by side, offline
  • CC BY-NC 4.0 license — evaluation and non-commercial use
The format

Why WebP, not PNG or GIF.

WebP is the only common image format that does transparency and animation in the same file. PNG can't animate without APNG, which almost nothing renders reliably. GIF animates, but caps at 256 colours and 1-bit transparency — that's exactly why opaque competitor GIFs turn into a white box on a dark UI.

What it gets you

~5.7× lighter than an equivalent lossless PNG with alpha — measured across our 511-exercise catalogue.
Full 24-bit colour with real, per-pixel alpha transparency — in stills and every frame of an animation.
Native decoding in every modern browser, and on Android since API 14 (animated WebP since Android 9).
Flutter decodes it natively on both iOS and Android — no plugin required.

One extra step on some platforms

iOS (UIKit/SwiftUI) — add a decoder such as SDWebImage for animated WebP; static WebP has had partial native support since iOS 14.
React Native — use expo-image or another WebP-capable image component; the built-in <Image> won't decode it.

One format for both illustration styles and every animation in the bundle — nothing to convert on your end.

WebP doesn't fit your stack? Contact support and tell us what format you need. We'll see what we can do.

The full dataset — 511 exercises, one payment, no subscription.

Use it however you like.

JSON. SQLite. TypeScript types hand-written or generated. Same data, three shapes.

exercises.en.json
{
  "id": "squat",
  "name": "Barbell Back Squat",
  "category": "strength",
  "description": "A compound lower-body movement targeting the quadriceps, glutes, and hamstrings.",
  "instructions": [
    "Position the bar on your upper traps.",
    "Unrack and step back, feet shoulder-width apart.",
    "Brace your core and squat down until thighs are parallel.",
    "Drive through your heels to stand back up.",
    "Repeat."
  ],
  "tips": [
    "Keep your chest up throughout the movement.",
Full objects in the free preview bundle →
schema.sql
INSERT INTO exercise (id, name, category, difficulty, equipment, body_part)
VALUES ('squat', 'Barbell Back Squat', 'strength', 'intermediate', 'barbell', 'upper_legs');
TypeScript
interface Exercise {
  id: string;
  name: string;
  description?: string;
  instructions?: string[];
  tips?: string[];
  category: "strength" | "cardio" | "olympic" | "plyometrics" | "strongman";
  difficulty?: "beginner" | "intermediate" | "advanced";
  equipment?: string;
  body_part?: string;
  primary_muscles?: string[];
  secondary_muscles?: string[];
  goals?: string[];
  tags?: string[];
  variation_group?: string;
  relations?: { to: string; type: "alternative" | "progression_of" | "regression_of" }[];
  images?: { classic?: string[]; flat?: string[] };
}
// Per-locale bundle: exercises.en.json — bare `name`/`description`/`instructions`/`tips`,
//   plus a top-level `enum_labels` map so you can render category / difficulty /
//   body_part / goals / force_type / mechanic without a hand-written translation table:
//   bundle.enum_labels.category[ex.category]  // e.g. "Kraft"
// Full bundle: exercises.json — fields suffixed _en/_de/_es to ship all languages at once.

Commercial-safe, pay once.

A clear commercial license with defined tier scopes — your legal team can sign off in ten minutes.

What you can do

Ship in commercial apps — iOS, Android, web, desktop.
Modify the JSON / SQL to fit your schema.
Bundle images directly into your app builds.
Use in paid products, subscriptions, one-time sales.

What you can't

Resell or redistribute the raw data files.
Train ML models that reproduce or substitute for the dataset.
Read the full license →

One payment. No subscription.

Both paid tiers ship all 511 exercises — Standard adds transparent backgrounds, animations, formats, and AI data.

Starter
$199
  • All 511 exercises in two illustration styles — classic (3D-render) and flat — both with solid backgrounds, 1024×1024
  • EN + DE + ES · muscle & equipment diagrams · MET values
  • JSON bundle includes equipment, muscle groups & curated exercise relations.
Buy Starter
Most popular
Standard
$399
  • Everything in Starter, plus:
  • Classic-style images now with a true transparent background — plus looping animations
  • Workout templates · AI embeddings
  • SQLite + TypeScript types
Buy Standard
Custom
Contact us
Need something the standard bundle doesn't cover? We'll build it.
  • Need a different image size or aspect ratio?
  • A different art style, colors, or your brand's look?
  • Need additional exercises or other extras?
  • Need an invoice or a custom contract?
Everything in Standard is included.
Contact us
One-time payment. All prices include VAT.
Secure checkout via Lemon Squeezy — VAT invoice included.
The full dataset (Standard): 511 illustrated exercises · classic (transparent) + flat WebP · animated exercises · EN + DE + ES · 27 muscle diagrams + 72 equipment icons · 15 workout templates · AI embeddings · MET values · TypeScript types · SQLite + schema.sql + JSON. Starter ships the same exercises with classic (white background) + flat images, JSON only — including the relations graph.