Skip to main content

AniWorld Downloader v5

AniWorld Downloader banner

GitHub Release PyPI Downloads GitHub License Docker Image Size GitHub Issues or Pull Requests Discord PayPal Donate GitHub Repo stars GitHub forks

Find, download, and watch anime, movies, and series, or save manga chapters to read later. AniWorld Downloader brings supported sites together in a browser-based Web UI, with an interactive terminal menu and a CLI for scripts and automation.

It runs on Windows, macOS, and Linux, with Docker and standalone builds available too. Free and open source, with no ads, tracking, or paid-only features.

Getting started · Supported sites · Docker · Documentation · Python examples

Interactive terminal menu

https://github.com/user-attachments/assets/d65c4a5c-827a-45d7-a904-78977fd9aef4

Quick Start

With Python 3.11 or newer installed:

python -m pip install -U aniworld
aniworld -w

Open localhost:8080 to use the Web UI. To start the interactive terminal menu instead:

aniworld

To install the latest development version from the models branch:

pip install --upgrade git+https://github.com/phoenixthrush/AniWorld-Downloader.git@models

Video downloads need FFmpeg. Playback uses mpv, IINA, or Syncplay, depending on the action you choose. Portable dependencies can be installed automatically on Windows; macOS and Linux use system packages.

Prefer another installation method? Use Docker or download a standalone build from GitHub Releases. See the documentation for platform-specific setup and troubleshooting.

Features

  • Download individual episodes, whole seasons or series, movies, and manga chapters.
  • Search supported sites, track your download queue, and browse your library in the Web UI.
  • Keep up with new episodes using Auto-Sync and release scheduling.
  • Choose available audio and subtitle languages, with fallback to other stream hosters.
  • Customize folders, filenames, and output formats, including MKV/MP4 for video and JPG/CBZ for manga.
  • Watch through external players, with AniSkip and Anime4K support where applicable.

The Web UI also supports local accounts, optional OIDC SSO, custom CSS, and background shaders. A JSON API and optional Discord request bot let you connect it to other tools. Features and language availability vary by site.

Supported Sites

AniWorld and SerienStream are the main focus of the project.

Last checked: 09/2026. These statuses reflect sampled stream/image checks, not complete downloads or playback tests. Availability can vary by title, region, and stream hoster.

Site Content Status Notes
AniWorld Anime and anime movies Working
SerienStream Series Working: captcha required
MegaKino Movies and series Working
Filmo Movies Working
Moflix Movies and series Working
MangaFire Manga Working JPG and CBZ downloads
FilmPalast Movies Working
Hanime Adult animation Working Disabled by default
Kinox Movies and series Unverified: manual captcha required Disabled by default
BurningSeries Series Broken: embed resolution failed Disabled by default
Cineby Movies and series Unverified: stream API unavailable Shut down; disabled by default

Stream Hosters

Sites list the titles; stream hosters provide the video links. The checks below use the same 09/2026 snapshot.

Hoster Status
VOE Working
Filemoon Working
Doodstream Working
MegaKino Working
Gupload Working
MoflixClick Working
Vidara Working
Vidmoly Broken: no embed HTML returned
Vidoza Unverified: Shut down?

If a hoster fails, the downloader can try others in your configured fallback order, provided the title offers them. Streamtape, Luluvdo, and LoadX are no longer implemented. VOE previews are broken; Filemoon, Doodstream, and MegaKino previews are not implemented.

CLI Usage

Replace SUPPORTED_URL with an episode, season, series, movie, or chapter URL from a supported site:

aniworld "SUPPORTED_URL"

To choose a language and provider without opening the menu:

aniworld --no-menu --language "German Dub" --provider VOE "https://aniworld.to/anime/stream/example/staffel-1/episode-1"

For all options, more examples, or your installed version:

aniworld --help
aniworld --examples
aniworld --version

Docker

Save docker-compose.yaml in a folder on your machine. From that folder, create the download directory and start the app:

mkdir -p Downloads
docker compose up -d

Open localhost:8080 when the container is ready. The image includes FFmpeg and Chromium for captcha handling.

  • Downloads are saved to ./Downloads on your machine.
  • The aniworld-data volume keeps the database, .env, and custom themes across container recreation.
  • Use docker compose logs -f to view logs and docker compose down to stop the app.

To update the image and restart:

docker compose pull
docker compose up -d

The Compose file includes configuration examples. Set persistent options in its environment: block, or load a host .env file using env_file. Settings marked resets after restart in the Web UI only affect the running process.

Configuration and Integrations

Configuration lives in ~/.aniworld/.env by default. Set ANIWORLD_INSTALL_FOLDER to change the app data directory. See src/aniworld/.env.example for available settings and defaults.

Many settings can be changed in the Web UI. Those marked resets after restart must also be set in your .env or deployment environment to persist. Saved themes, database records, and Discord bot settings are stored separately and survive restarts when the app data is retained.

Optional integrations: the standard installation includes the Web UI and terminal dependencies. Install an extra for OIDC login or Discord requests:

python -m pip install "aniworld[sso]"
python -m pip install "aniworld[discord]"

Use "aniworld[all]" to install both. The Docker image already includes them.

API: search, manage the queue, and access library and settings operations through JSON endpoints. Create a key in Settings → API Keys, then send it with your requests:

curl -H "X-API-Key: YOUR_API_KEY" http://localhost:8080/api/queue

Keys have read, read-and-download, or full-access permissions. They cannot manage other API keys. The settings page includes an endpoint reference with examples.

Appearance: use Settings → Appearance for custom CSS and background shaders. The themes/ directory contains a light theme and a documented CSS template. To recover from a theme that hides controls, open /settings?nocss=1.

Python: the examples/ directory demonstrates site models, metadata, downloads, and genre queries. Backend capabilities can differ from what is exposed in the Web UI.

Contributing

Bug reports, fixes, provider updates, and documentation improvements are welcome. Please check existing issues first. For a bug report, include your operating system, installation method, app and Python versions, the command or steps you used, and relevant logs.

To work on the current development branch:

git clone --branch models https://github.com/phoenixthrush/AniWorld-Downloader.git
cd AniWorld-Downloader
python -m pip install -e ".[all,test]"
pytest

Automated tests run without contacting live sites. Separate tests/test_providers_*.py scripts check live providers. CI also runs Ruff checks. Keep pull requests focused and explain what changed and how you tested it.

Contributors

Thank you to everyone who reports issues, shares ideas, and contributes code.

AniWorld Downloader contributors

Credits

AniWorld Downloader uses mpv, IINA, Syncplay, Anime4K, AniSkip, flag-icons, new-domain-check, and fake-useragent.

Other Cool Projects

  • Jellyfin-AniWorld-Downloader by SiroxCW — browse and download AniWorld content from Jellyfin.
  • AniSeerr by Yezun-hikari — connect Seerr requests to AniWorld Downloader.
  • AniBridge by Zzackllack — connect supported catalogues to automation tools through FastAPI.
  • AniLoader by WimWamWom — a standalone web-based fork.

Support and Community

For help, check the documentation, open a GitHub issue, or join us on Discord. You can also reach me at contact@phoenixthrush.com.

If the project has been useful, a star, a contribution, or a donation is always appreciated. Thanks for being part of it. <3

AniWorld Downloader is a client-side tool. It does not host, upload, store, or distribute media on behalf of third-party sites.

You are responsible for how you use it and for following the laws and terms that apply where you live. The project is provided "as is". Its maintainers are not responsible for third-party content, external links, or the availability, accuracy, legality, or reliability of outside services.

Questions about content hosted by another service should be directed to that service.

Star History

Star History Chart

License

AniWorld Downloader is available under the MIT License.

Release files for aniworld 5.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aniworld 5.1.0
File Size Uploaded
aniworld-5.1.0.tar.gz 1.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for aniworld 5.1.0
File Interpreter ABI Platform
aniworld-5.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.2 MB

Release files / aniworld-5.1.0.tar.gz

Download URL aniworld-5.1.0.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
9fa36af2d042152db88693c7afb70582859257518fa09a7e1f6b43c5732ef50f
BLAKE2b-256 checksum
How to use checksums
4eca16aee6f971c5be68cf3cb68712e5d57bd0e64d721ba4e7824b0380a66936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / aniworld-5.1.0-py3-none-any.whl

Download URL aniworld-5.1.0-py3-none-any.whl
Size 1.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7b60866f6d8df4c48a443facd0fec822a4c6cf6dc25ecf65d1933d38a300fde6
BLAKE2b-256 checksum
How to use checksums
21ef5c958c312008e80468e4820d00b1d844bd635e379ce4efe9123abefa783d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

5.1.0 This release

2 release files

5.0.6

2 release files

5.0.5

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.8.6

2 release files

4.8.5

2 release files

4.8.4

2 release files

4.8.3

2 release files

4.8.2

2 release files

4.8.1

2 release files

4.8.0

2 release files

4.7.0

2 release files

4.6.1

2 release files

4.6.0

2 release files

4.5.1

2 release files

4.5.0

2 release files

4.4.2

2 release files

4.4.1

2 release files

4.4.0

2 release files

4.3.2

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.9.0

2 release files

3.8.2

2 release files

3.8.0

2 release files

3.7.2

2 release files

3.7.1

2 release files

3.7.0

2 release files

3.6.4

2 release files

3.6.3

2 release files

3.6.2

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.3

2 release files

3.5.2

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.5

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.4.6

2 release files

2.4.5

2 release files

2.4.4

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.9

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page