Exercise animations and dataset for fitness apps.
A production-ready exercise dataset and database for fitness apps — consistent illustrations, structured workout data and transparent looping animations in Standard. One-time commercial license, no subscription.
Same exercise catalog. Two consistent characters.
One animation. Any background.
Drop the same transparent clip into light mode, dark mode, a brand colour, or any custom theme. Try it below.




Looping transparent WebP — 960px. One per animated exercise, in images/animations/<slug>.webp.
Turn workout volume into a muscle heatmap.
The full set covers 37 muscle areas per character (18 front + 19 back), with transparent layers for independent left/right highlights. Control colour and intensity in your UI.
Front + back · Independent L/R · Transparent WebP




















Auto cycling
Optimized preview. Each bundle includes full-resolution layers and a manifest.
Beyond the app
Not only inside your app — in your marketing too
The same clips go into Reels and Shorts, YouTube edits, course slides and ads. The background is transparent, so your brand colour or your own footage sits behind them, and exporting an MP4 is one command.
See the app & content showcase →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.
The full dataset — 701 exercises, one payment, no subscription.
BuyFrom our customers
aerobis
aerobis.com ↗ We needed exercise animations for our endless rope trainer, a product no library covers. RepDB made a set of 17 clean, consistent clips in the same style as their library. They look awesome. Bolt Bell
boltbell.com ↗ Bolt Bell is a new kind of product, and people need to see it in use to understand it. RepDB turned our exercises into clean animated loops that show exactly how the handle and plates are used. They are already on our website and look great. Kayvoro
Health & training app
Every workout in Kayvoro is built on RepDB. It's at the heart of our training: a great library with clear animated exercises, and support that is quick and careful. DEADSTOP
Almstedt Studio
RepDB's stills and animations made a night-and-day difference in my app. The transparent backgrounds sit perfectly on a dark theme, and the metadata let me build filters and detail views I'd been putting off for months. GymGrove
Workout tracker
RepDB gave GymGrove a consistent, high quality set of exercise animations. We could illustrate exercises without producing any artwork ourselves. Gymosaur
Fitness app
We’re very happy with our purchase. The RepDB dataset and artwork have been excellent to work with. Overlood
Workout tracker
We're happy with RepDB. The new muscle heatmap overlay set integrated seamlessly with our existing setup. Interform
Product team
RepDB saved the day for us. The exercise animations have transparent backgrounds, so they look great against our dark interface and fit naturally into our product. Use it however you like.
JSON. SQLite. TypeScript types hand-written or generated. Same data, three shapes.
{
"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. Commercially licensed, pay once.
A clear commercial license with defined tier scopes — your legal team can sign off in ten minutes.
What you can do
What you can't
One payment. No subscription.
One-time payment · price shown is the total, VAT included · invoice right after checkout
Need something the standard bundle doesn't cover? We'll build it.