Download manga chapters from MangaPill.com and convert them to PDF files - available as both a macOS app and Python scripts.
- Double-click
Manga Downloader.app - Choose your action:
- Download chapters
- Convert chapters to PDF
- Both (Download + Convert)
- Follow the interactive prompts
When prompted, you can either:
- Paste a MangaPill URL (easiest):
https://mangapill.com/chapters/2035-10103000/jigokuraku-chapter-103 - Enter manually: Manga ID (
2035) and Slug (jigokuraku)
Some manga use different URL prefixes:
- Option 1: 10 (most common) - e.g.,
1-10364000 - Option 2: 20 (some manga like Berserk) - e.g.,
1-20364000
The app will prompt you to select the correct prefix.
- Single:
103 - Multiple:
103 104 105 107.5 - Range: Start:
103, End:110
| Manga | ID | Slug |
|---|---|---|
| One Piece | 1357 | one-piece |
| Jujutsu Kaisen | 606 | jujutsu-kaisen |
| Chainsaw Man | 1096 | chainsaw-man |
| Berserk | 1 | berserk |
git clone https://github.com/ronilborah/Manga-Scripts
cd Manga-Scripts
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # macOS/Linux
# or .venv\Scripts\activate # Windows
# Packages auto-install on first run, or install manually:
pip install requests beautifulsoup4 lxml cloudscraper PillowEdit manga_downloader.py:
MANGA_ID = "2035" # From URL
MANGA_SLUG = "jigokuraku" # From URL
CHAPTER_PREFIX = "10" # Usually "10", sometimes "20"Download chapters:
python3 manga_downloader.py -c 103 # Single chapter
python3 manga_downloader.py -c 103 -c 104 # Multiple
python3 manga_downloader.py -r 103 110 # Range
python3 manga_downloader.py -c 103 -o ~/manga # Custom locationConvert to PDF:
python3 manga_to_pdf.py -f . # Current directory
python3 manga_to_pdf.py -f /path/to/folder # Specific folderDownloaded chapters:
jigokuraku_Chapter_103/
├── page_001.jpg
├── page_002.jpg
└── ...
PDFs:
Chapter_103.pdf
Chapter_104.pdf
✅ Portable macOS App - All dependencies included
✅ Interactive Terminal UI - Easy-to-follow prompts
✅ URL Parsing - Paste full MangaPill URLs
✅ Flexible Chapter Selection - Single, multiple, or ranges
✅ Decimal Chapter Support - Handle chapters like 103.5
✅ Auto Package Installation - Installs missing dependencies
✅ Path Handling - Handles quoted paths and spaces
✅ Back Navigation - Type 'back' at any prompt
✅ Restart Option - Continue downloading without relaunching
App won't open on first launch:
- Right-click → Open → Click "Open" to bypass Gatekeeper
Python environment issues:
- Scripts automatically use
--userflag for package installation - Works with macOS externally-managed Python environments
Path errors:
- Paths with spaces are supported
- Quotes in pasted paths are automatically removed
Method 1: Edit app bundle directly
# Edit the scripts inside the app
code "Manga Downloader.app/Contents/Resources/manga_downloader.py"
code "Manga Downloader.app/Contents/Resources/manga_to_pdf.py"
# Refresh the app
touch "Manga Downloader.app"Method 2: Edit root scripts, then sync (Recommended)
# 1. Edit the standalone scripts
code manga_downloader.py
code manga_to_pdf.py
# 2. Copy updates to app bundle
cp manga_downloader.py "Manga Downloader.app/Contents/Resources/"
cp manga_to_pdf.py "Manga Downloader.app/Contents/Resources/"
# 3. Refresh the app
touch "Manga Downloader.app"
# 4. Update Applications folder if installed there
cp -R "Manga Downloader.app" /Applications/For launcher/menu changes:
# Edit the launcher
code "Manga Downloader.app/Contents/MacOS/manga_launcher"
# Make executable and refresh
chmod +x "Manga Downloader.app/Contents/MacOS/manga_launcher"
touch "Manga Downloader.app"- Double-click
Manga Downloader.app - Paste manga URL or enter ID/Slug
- Select chapter prefix (10 or 20)
- Choose chapters to download
- Select output location
- Wait for download to complete
- Convert to PDF if desired
source .venv/bin/activate
python3 manga_downloader.py -r 100 110
python3 manga_to_pdf.py -f .
deactivate