Python 3.10+ Flask 3.0 MIT License PyPI Package

Sync Your Manga.
Everywhere.

Export your entire MangaDex library — with scores, statuses, and chapter history — to MyAnimeList and AniList. Import back in one click.

View on GitHub
📤
Export

Dump your full library to JSON, MAL XML, or AniList XML with scores and statuses

📥
Import

Restore from any backup file or migrate from a MAL/AniList export

🔄
Convert

Generate MAL XML, AniList XML, and .gz from a single export in one click

Everything you need to move your library

Fast Mode

Export titles and statuses in minutes. Perfect for a quick snapshot without waiting on chapter history.

🐢

Deep Mode

Also fetches your last-read chapter per manga. Takes 15–60+ min depending on library size, but captures everything.

Score Export

Carries your MangaDex ratings across to MAL and AniList — not just status. Your scores travel with you.

🔁

Resume Support

Interrupted mid-export? No problem. Re-run and it picks up from the last checkpoint automatically.

🧪

Dry Run Mode

Preview exactly what would happen during an import without touching your account. Safe to test.

🖥️

Native Desktop App

Opens in a native window via pywebview. Falls back to your browser automatically if pywebview isn't available.

📋

Export History

Logs every export with timestamp and a list of generated files, so you always know what you have.

🌐

Multi-Platform Import

Import from a JSON backup, a MAL XML file, or an AniList XML file. Handles all three formats natively.

📦

PyPI Package

Install with pip install mangadex-sync and run from anywhere — no cloning required.

Export Modes

⚡ FAST Minutes
  • Manga titles & IDs
  • Reading status
  • Your ratings/scores
  • MAL & AniList XML output
  • Last read chapter
🐢 DEEP 15–60+ min
  • Everything in Fast mode
  • Last read chapter per manga
  • Complete chapter progress
  • Resume if interrupted

Installation

Recommended

Via pip (PyPI)

INSTALL ONCE
pip install mangadex-sync
THEN RUN ANYWHERE
mangadex-sync

Opens at localhost:7337 in a native window (or browser fallback).

Alternative

Standalone Script

CLONE OR DOWNLOAD
git clone https://github.com/Spider2742/mangadex-sync cd mangadex-sync
INSTALL DEPS
pip install -r standalone/requirements.txt
RUN
python standalone/mangadex_sync.py
🔑

You'll need a MangaDex API Client

  1. Go to mangadex.org/settings
  2. Scroll to API Clients → click Create
  3. Name it anything, set type to Personal
  4. Copy your Client ID and Client Secret into the app

Free to create — approved instantly, no waiting.

Output Files

File Description
mdex_{status}_{ts}.json Full JSON backup — used by the Import tab to restore
mdex_{status}_{ts}.xlsx Raw data spreadsheet — used by the Convert tab
mal_{status}_{ts}.xml MAL import file — upload directly to MyAnimeList
mal_{status}_{ts}.xml.gz Compressed MAL file — also accepted by MAL's importer
anilist_{status}_{ts}.xml AniList import file — upload to AniList's import tool

Troubleshooting

"Authentication failed"

Check your Client ID, Client Secret, username, and password. Make sure the API client isn't still in Pending state on mangadex.org/settings.

"Failed to set status" during import

Your API client was likely deleted or has expired approval. Go back to MangaDex settings and verify it's active.

Native window doesn't open

The app falls back to your browser automatically. On Linux, it will print the exact system package command needed for your distro to enable the native window.

Manga missing after MAL/AniList import

Those titles had no MAL/AniList ID on MangaDex and are listed in the Skipped section. You'll need to add them manually.