The Best wger Alternatives (2026)
Last verified October 22, 2026 · 9 min read
Sources checked (27) · October 22, 2026
- github.com/wger-project/wger/blob/master/README.md — features, self-hosting, three-way license split
- github.com/wger-project/wger/blob/master/wger/utils/models.py — per-item license fields, TASL attribution, CC-BY-SA 4 default
- github.com/wger-project/wger/blob/master/wger/core/fixtures/licenses.json — the five licenses wger ships
- github.com/wger-project/wger/blob/master/wger/utils/constants.py — license IDs (CC-BY-SA 4 = 2, CC0 = 3)
- github.com/wger-project/wger/blob/master/wger/exercises/models/image.py — image formats, no animation, AI-generated flag, style
- github.com/wger-project/wger/blob/master/wger/exercises/models/video.py — videos carry the same license fields
- github.com/wger-project/wger/blob/master/wger/exercises/models/base.py — exercises carry the license fields
- github.com/wger-project/wger/blob/master/wger/exercises/models/translation.py — translations carry the license fields
- github.com/wger-project/wger/blob/master/wger/exercises/api/views.py — exerciseinfo endpoint, image filters
- github.com/wger-project/wger/blob/master/wger/exercises/api/serializers.py — license fields returned by the image API
- github.com/wger-project/wger/blob/master/wger/exercises/api/permissions.py — public read access
- github.com/wger-project/wger/blob/master/wger/urls.py — /api/v2/ router, exerciseimage, video and license endpoints
- github.com/wger-project/wger/blob/master/settings/settings_global.py — default page size
- github.com/wger-project/wger/blob/master/wger/exercises/management/commands/sync-exercises.py — catalog sync from another instance
- github.com/wger-project/wger/blob/master/wger/exercises/management/commands/download-exercise-images.py — image download from wger.de
- github.com/yuhonas/free-exercise-db/blob/main/README.md — public-domain dataset, 800+ claim, raw-URL hosting, provenance
- github.com/yuhonas/free-exercise-db/blob/main/LICENSE.md — Unlicense
- github.com/yuhonas/free-exercise-db/blob/main/dist/exercises.json — counted: 876 exercises, 1,746 JPEG image paths
- github.com/wrkout/exercises.json/blob/master/LICENSE.md — upstream dataset is also the Unlicense
- github.com/ExerciseDB/exercisedb-api — repository still README + LICENSE only (git clone)
- exercisedb.dev/ — AscendAPI, previously ExerciseDB (snapshot)
- docs.ascendapi.com/products/edb-v1/overview — V1 free tier, fields, paid media (snapshot)
- docs.ascendapi.com/products/edb-v2/overview — V2 catalog, MP4, watermark (snapshot)
- docs.ascendapi.com/quickstart/overview — free Basic plan (snapshot)
- api-ninjas.com/api/exercises — fields, images, results per call (snapshot)
- api-ninjas.com/pricing — plans, commercial use, storage (snapshot)
- github.com/wger-project/wger/blob/master/wger/utils/images.py — allowed image formats; animated images rejected
Covered here:wgerExerciseDB
If you are shopping for a wger alternative, it is usually for one of three reasons: the licensing does not fit a closed-source product, you want an exercise catalog without operating a whole fitness application, or you need demonstration media wger's open catalog does not give you. This page names the realistic replacements, what each costs you in license, media and hosting, and where wger is still the better choice. For what this site has verified about wger in one place, see the wger API overview.
What you would be replacing#
wger's README describes it as "a free workout and fitness manager": routines, nutrition logging against an Open Food Facts food database, body-weight tracking, a community exercise wiki, multi-user and basic gym management, self-hosting with Docker, and a REST API "for third-party integrations or automations". Its README splits the licensing three ways: the application code is AGPL-3.0-or-later, the exercise and ingredient data is "Creative Commons (see individual entries)", and the documentation is CC-BY-SA-4.0.
On the API side, wger's code mounts its REST router under /api/v2/, and describes the read-only exerciseinfo endpoint as "the recommended way to access the exercise data", returning nested records grouped by exercise. The exercise endpoints' permission class is commented "Everybody can read", while creating or editing entries needs a logged-in, trusted account. In the code's default settings, list endpoints page results 20 at a time.
Why teams look for a wger alternative#
- AGPL on the code. If you self-host and modify wger and let users reach it over a network, AGPL-3.0's network clause can oblige you to publish your changes. Calling an API over HTTP is a different situation from deploying the code; the ExerciseDB vs wger comparison walks through that distinction. This is general guidance, not legal advice.
- Share-alike and attribution on the data. The exercise data, including the images, is licensed item by item (next section). New uploads default to a share-alike license.
- You only wanted the exercises. wger is a full application with users, routines, nutrition and gym features. Its README says self-hosting "is basically just a
docker compose up -daway", but you still operate, back up and upgrade a Django application to serve what may be a single catalog. A self-hosted instance fills its catalog from another wger instance: thesync-exercisescommand "Synchronizes exercise data from a wger instance to the local database", anddownload-exercise-imagespulls images "from wger.de". - Media. wger's exercise images must be static: its image validator accepts JPEG, PNG, WebP and AVIF and rejects animated images with the message "Animated images are not supported." Its code also supports per-exercise videos with their own license fields, but we could not check how many the public instance carries, so do not plan on wger for GIF-style demonstrations.
Are wger's exercise images free to use? The license question#
In wger's code, exercises, their translations, images and videos all inherit the same license model, whose docstring says it "Implements TASL (Title - Author - Source - License) for proper attribution". Every image record carries a license plus license_title, license_author, license_author_url, license_object_url and license_derivative_source_url, and the API serializer returns all of them. The license table that ships with wger lists five options: CC-BY-SA 3, CC-BY-SA 4, CC0, CC-BY 4 and ODbL. A new upload defaults to CC-BY-SA 4 unless the uploader picks another.
So wger's images are not one license. Some may be CC0; the default is share-alike with attribution. The image records also carry an is_ai_generated flag and a style (line art, 3D, low-poly, photo or other). If you only want public-domain images, filter for them: the exerciseimage endpoint accepts license, license_author, exercise and is_main as filters, and wger's code defines CC0 as license ID 3.
# List exercise images licensed CC0 (ID 3 in wger's code). Confirm the ID
# on your instance first with GET /api/v2/license/
curl "https://wger.de/api/v2/exerciseimage/?license=3"
We could not run that request against wger.de from our environment, so we cannot tell you how many CC0 images the public instance holds. For everything else, keep each image's author and license alongside it and render the attribution wherever you show the image.
The alternatives#
The license is the first thing to compare, and media type the second. Public domain carries no obligations, while AGPL code and share-alike data do.
free-exercise-db#
A static exercise dataset by yuhonas on GitHub that its README calls an "Open Public Domain Exercise Dataset", with 800+ exercises. When we counted the combined dist/exercises.json on October 22, 2026 it held 876 exercises and 1,746 image paths, all JPEG: 873 exercises have two images and three have none. The repository's LICENSE.md is the Unlicense, which dedicates the work to the public domain, so there is no attribution or share-alike to carry. Its README says the data was restructured from wrkout/exercises.json, whose own LICENSE.md is also the Unlicense. There is no API and no key: you vendor the JSON and images, or fetch them from raw GitHub URLs as the README describes. Best for the closest license-free swap for wger's exercise catalog. Trade-off: static files, English only (each record has one name and one instructions list, with no language field), no video, and no maintained service behind it. For the head-to-head with the hosted API, see ExerciseDB vs free-exercise-db.
ExerciseDB V1 (AscendAPI)#
exercisedb.dev now presents itself as AscendAPI ("Previously ExerciseDB"), and its documentation describes ExerciseDB V1 as a free hosted tier of "1,500 exercises with 180p GIFs. No authentication required", at oss.exercisedb.dev/api/v1/exercises, with a paid RapidAPI tier that adds 360p to 1080p images and GIFs. Records carry bodyParts, targetMuscles, equipments, secondaryMuscles, instructions and a gifUrl. Best for a hosted catalog with animated demonstrations at no cost, without running anything. Trade-off: English-only records in the sample we read, AscendAPI's terms of use behind a link we could not open, and nothing to self-host: when we cloned its GitHub repository on October 22, 2026 it still held only a README and an AGPL-3.0 LICENSE.
ExerciseDB V2 (AscendAPI)#
AscendAPI's larger product, on RapidAPI only. Its documentation states 11,000+ exercises, 15,000+ videos and 20,000+ images and says "Each exercise includes an MP4 demonstration video for in-app playback", alongside coaching tips, variations and related exercises. A free Basic plan gives 2,000 requests a month and 200 exercises, and "free tier media is watermarked". Best for the deepest media if you will rent the data. Trade-off: paid prices on RapidAPI pages we could not read, and you do not own the catalog. The video side is compared in exercise video APIs.
API Ninjas Exercises#
A hosted API returning name, type, muscle, difficulty, instructions, equipment and safety notes, which API Ninjas says covers "over 3000 exercises". On premium plans each record adds an images array of start and finish photos; there is no video or GIF. Its free plan is "Evaluation and demo purposes only", and its pricing page, read on October 22, 2026, lists commercial use from the Developer plan at $59 a month or $39 a month billed yearly. Best for lightweight lookups with simple photos. Trade-off: five results per call, and storing the data needs the Business plan. Plans are compared on exercise database API pricing.
Comparison#
| Alternative | License / model | Media | Hosting | Watch out |
|---|---|---|---|---|
| free-exercise-db | Unlicense (public domain) | 1,746 JPEG images (counted Oct 22, 2026) | You serve static files | No API, English only, no video |
| ExerciseDB V1 (AscendAPI) | Hosted; free tier needs no key | GIFs: 180p free, up to 1080p paid | Theirs | Terms of use not readable |
| ExerciseDB V2 (AscendAPI) | Hosted on RapidAPI; free 200-exercise plan | MP4 video and images; free media watermarked | Theirs | Paid prices not read |
| API Ninjas Exercises | Proprietary; commercial use from $39 to $59 a month | Start and finish photos (premium) | Theirs | Five results per call; storing needs Business |
| wger (for reference) | Code AGPL-3.0-or-later; data per entry, default CC-BY-SA 4 | Static images; video supported in code | You, or read wger.de | You operate a full app |
Which should you pick?#
- Licensing is why you are leaving: free-exercise-db. Public domain, no attribution, and it covers the basics: muscles, equipment, level, category, instructions and images.
- You need video or GIF demonstrations: AscendAPI's ExerciseDB, V1 for free GIFs or V2 for MP4 video. Both are hosted and paid beyond their free entry points; read the terms before you ship their media.
- You only need text metadata and simple photos: API Ninjas Exercises on a paid plan, Business if you will store the data.
- You need translations: stay with wger. Among the options here it is the only one whose README describes community translation (via Weblate); AscendAPI lists multilingual support for ExerciseDB V2, but we did not read how its translations work.
- Costs are the question: see exercise database API pricing.
Or keep wger and change how you use it#
Leaving is not the only fix. If hosting is the pain, you can read the public endpoints on wger.de instead of running an instance, accepting that you depend on a public server whose limits we could not read. If share-alike is the pain, filter images by license as shown above and keep only the CC0 or CC-BY ones. If the AGPL is the pain but you never modify the code, consuming wger over HTTP is a different situation from deploying modified code, and the same split applies to every exercise source on the ExerciseDB alternatives page.
Is switching easy?#
It is a re-integration, not a URL swap. wger's exerciseinfo returns nested records with translations, images and videos attached; free-exercise-db is flat, with string IDs built from the exercise name (Alternate_Incline_Dumbbell_Curl) and a fixed list of 17 primary-muscle values in its schema. Expect to re-map muscles, equipment and categories by hand. The one step not to skip: if you keep any wger images during the move, keep their license and author fields with them, because CC-BY and CC-BY-SA attribution does not lapse when you change providers.
Frequently asked questions
- Are wger's exercise images CC0?
- Not as a rule. In wger's code every exercise image carries its own license and author fields, the license table offers CC-BY-SA 3, CC-BY-SA 4, CC0, CC-BY 4 and ODbL, and a new upload defaults to CC-BY-SA 4. Some images may be CC0, and the exerciseimage endpoint can filter by license (CC0 is ID 3 in wger's code), but we could not count them on wger.de as of October 22, 2026. Keep the author and license with every image you reuse.
- Is there a public-domain alternative to wger's exercise database?
- Yes: free-exercise-db. Its LICENSE.md is the Unlicense and its README calls it an open public domain exercise dataset. When we counted its combined exercises.json on October 22, 2026 it held 876 exercises with 1,746 JPEG images. It is static JSON you host yourself, in English only, with no API or video.
- Can I use wger's exercise data without running my own wger server?
- Yes. wger's code marks its exercise endpoints as readable by everyone, so you can read the public instance at wger.de, and its code calls the read-only exerciseinfo endpoint the recommended way to access exercise data. You then depend on a public server whose limits we could not read, and the data's per-entry Creative Commons licenses still apply.
- Does wger's AGPL license cover the exercise data too?
- No. wger's README licenses the application code under AGPL-3.0-or-later and the exercise and ingredient data under Creative Commons, set per entry; the documentation is CC-BY-SA-4.0. The AGPL obligation attaches to code you deploy, while the data brings attribution and, for CC-BY-SA entries, share-alike. This is general guidance, not legal advice.
Keep reading
Next steps
Was this page useful?
Independent comparison, last reviewed October 22, 2026. Pricing, rate limits, and feature availability change often — confirm current details in each provider’s official documentation before you commit. Product and company names are trademarks of their respective owners; AIFitnessAPI is not affiliated with, endorsed by, or sponsored by any product listed here.
← All alternatives · by AIFitnessAPI