If you're building a fitness app, the text layer is rarely the hard part. The
real decision is whether the exercise source also solves images, licensing,
local/offline delivery, and the data shape your UI needs.
I compared four options I considered while building fitness-app prototypes:
ExerciseDB, WorkoutX, free-exercise-db, and RepDB. I now build RepDB, so treat
this as a technical comparison with a disclosed bias and verify the vendor
details before committing.
The short version
| ExerciseDB | WorkoutX | free-exercise-db | RepDB | |
|---|---|---|---|---|
| Delivery | Downloadable files | Hosted API | GitHub files | Downloadable files |
| Images | Opaque GIF | Illustrated GIFs; sample 0551 visually matched ExerciseDB | Mixed gym JPGs | Flat WebP + classic WebP |
| Transparent background | No | No | Not consistently | Yes, on classic Standard assets |
| Languages | English | English | English | English, German, Spanish |
| Offline/self-hosted | Yes | No | Yes | Yes |
| Commercial terms | Paid commercial license | API terms | Data is Unlicense; inspect image provenance separately | Free attribution tier + paid commercial tiers |
| Pricing model | One-time bundle | Monthly/metered API | Free | Free tier or one-time bundle |
Figures and product terms change. This comparison reflects the public products
and files I inspected in July 2026.
The images side by side
The practical UI difference is visible before you read any schema:
- ExerciseDB / the WorkoutX sample I inspected: illustrated GIF on an opaque near-white background.
- free-exercise-db: real gym JPG photography with mixed framing and dimensions.
- RepDB classic: consistent WebP artwork with a transparent background on Standard.
- RepDB flat: consistent full-color WebP illustrations; this is also the style included in the 400-exercise free tier.
Motion comparison
DEV's image proxy does not render the 960px transparent animated WebP reliably. To avoid showing a degraded or ghosted version here, the live animation comparison stays on the canonical RepDB article:
Open the live Turkish get-up comparison →
For the files I inspected in July 2026, the WorkoutX sample was a 360×360, 54-frame opaque GIF with a watermark. The RepDB version is delivered as a transparent 960px animated WebP; the complex-motion source contains 241 frames. These are file-level observations, not claims about ownership or every asset in either catalog.
Why RepDB is different
The main difference is not the exercise names. It is whether the visual assets can ship in a real product UI without a redesign or a manual cleanup pass.
- WebP for both illustration styles; animated WebP on Standard. RepDB uses full-color WebP instead of opaque GIF/JPG assets. Standard also includes seamless looping WebP animations.
- Transparent classic assets on Standard. They sit cleanly on dark mode, gradients, brand colors, and circular avatars instead of showing a white rectangle.
- Two consistent illustration styles. Classic gives you a more realistic look; flat gives you a friendly illustrated UI. The free tier includes 400 flat 512×512 images, while paid bundles include both styles.
- Self-hosted files instead of a runtime API dependency. JSON/SQLite and WebP assets run locally, with no API key, request quota, or network dependency after download.
- EN/DE/ES text and product-ready metadata. Instructions, muscles, equipment, goals, tags, relations, and MET values are included.
- A one-time commercial license. Paid tiers are a one-time purchase; the free tier can be used inside commercial apps with visible attribution.
Transparency is deliberately scoped here: the free tier contains the flat style, while transparent classic assets and looping animations are Standard-tier features.
ExerciseDB
ExerciseDB is the straightforward choice when the biggest possible raw catalog
matters more than deduplication or theming. It is delivered as files under a
commercial license, so there is no runtime API dependency.
The main UI tradeoff is the artwork format. The supplied animations are GIFs
with an opaque near-white background. That works in a light card, but becomes a
visible square on dark mode, branded surfaces, gradients, or circular masks.
GIF also limits the palette to 256 colors.
Choose it when:
- English-only data is enough;
- a very large raw entry count is the priority;
- opaque GIF artwork fits your UI;
- you prefer a one-time download over an API.
WorkoutX
WorkoutX is convenient when you want a hosted API and do not want to manage
files yourself. In the July 2026 public sample I inspected, exercise 0551 used the same
54-frame artwork as ExerciseDB's 0551 sample, with WorkoutX serving an
upscaled, watermarked version. That is an observation about those downloaded
samples, not a claim about ownership or the rest of either catalog.
That changes the operational model, not the visual layer. Every screen that
loads exercise data or imagery depends on a third-party service, quota, and
network availability. Caching and asset use are governed by the API terms.
Choose it when:
- speed of prototyping matters more than ownership of the files;
- a hosted API is preferable to local JSON/SQLite;
- request limits and a recurring bill are acceptable.
free-exercise-db
free-exercise-db is a useful
choice for hobby projects and portfolios. It contains hundreds of exercises,
is easy to clone, and uses real gym photography rather than illustrations.
The code and JSON are published under the Unlicense. For a commercial product,
I would inspect the image provenance separately: a repository license and the
rights to every bundled photograph are two different questions. The photos also
vary in framing, size, background, and orientation, which creates UI work.
Choose it when:
- free is the overriding constraint;
- real gym photography fits the product;
- you are comfortable reviewing the image provenance;
- consistent illustration style and multilingual text are not requirements.
RepDB
RepDB is built around self-hosted
files and consistent product UI. The paid dataset includes two illustration
styles, English/German/Spanish text, exercise relations, MET values, and a
commercial license. Standard adds transparent classic assets, SQLite,
TypeScript types, embeddings, and looping WebP animations.
The free tier now contains 400 exercises with flat 512×512 WebP images, full
EN/DE/ES text, muscles, equipment, MET values, goals, and tags. It can be used
inside commercial applications with visible attribution, without an account or
API key.
const data = await fetch(
"https://raw.githubusercontent.com/sergei-argutin/exercise-dataset/main/exercises.json"
).then((response) => response.json());
console.log(data.count); // 400
console.log(data.exercises[0].images.flat);
Choose it when:
- the app needs a coherent visual system, including dark/brand surfaces;
- EN/DE/ES coverage saves meaningful localization work;
- local JSON/SQLite is preferable to a runtime API;
- you want to prototype against a large free subset before buying assets.
The decision I would make
- Largest raw catalog, one-time files: ExerciseDB.
- Hosted API for a quick prototype: WorkoutX.
- Zero-budget hobby project with real photos: free-exercise-db.
- Commercial product where images, theming, languages, and local ownership matter: RepDB.
The best way to compare data products is to inspect the actual files. RepDB's
free tier is available as GitHub files,
a live viewer, and a
direct download.
Methodology and disclosure
I compared public sample files, catalog metadata, image formats, and vendor
terms in July 2026. ExerciseDB and WorkoutX can change their catalogs, pricing,
or terms; check their current sites before purchasing. I build and sell RepDB.
Third-party product names, marks, and sample imagery are shown only for identification and comparative commentary. They remain the property of their respective owners.


Top comments (0)