A simple blazing fast tool for downloading chapters of any releases hosted on the webtoons website.⚡
Report Bug
·
Request Feature
This tool is intended for personal use and educational purposes only. By using it, you agree that you are solely responsible for how you use the software. I am not liable for any misuse, abuse, or violation of terms of service of the websites involved.
To get a local copy up and running follow these simple steps.
Webtoon Downloader runs on Windows, Linux, and macOS. Requires Python 3.10+.
Install via pipx (recommended):
pipx install webtoon_downloaderRun
webtoon-downloader --helpfor full options.
-
Download all chapters of a series:
webtoon-downloader "https://www.webtoons.com/en/.../list?title_no=..." -
Download from chapter 10 to the end:
webtoon-downloader [url] --start 10
-
Download up to chapter 150:
webtoon-downloader [url] --end 150
-
Download a specific range (inclusive):
webtoon-downloader [url] --start 35 --end 67
-
Download only the latest released chapter:
webtoon-downloader [url] --latest
Downloading a large number of chapters in quick succession can trigger rate limits from Webtoons' servers. If you experience timeouts or missing content, you can mitigate this using the following options:
-
Retry strategy: determines how retries are handled when a request fails. By default, the tool uses
exponentialbackoff.webtoon-downloader [url] --retry-strategy exponential
Available values:
exponential,linear,fixed -
Concurrency settings: tune how many workers download in parallel. By default:
--concurrent-chapters=6--concurrent-pages=120
Reduce these values if you hit rate limits:
webtoon-downloader [url] --concurrent-chapters 2 --concurrent-pages 5
-
Proxy support: if you're still rate limited, you can configure the downloader to use a proxy (e.g., local proxy pool or SOCKS proxy).
webtoon-downloader [url] --proxy http://127.0.0.1:7890
If you continue to experience issues, experiment with different combinations of retry strategy and concurrency, or use a rotating proxy setup.
-
Change image format (e.g., png, jpg):
webtoon-downloader [url] --image-format png
-
Set output folder:
By default, the downloaded chapters will be stored under the current working directory with the folder name [series_title].
Example:
Tower_of_God
├── 150_001.jpg
├── 150_002.jpg
├── 150_003.jpg
└── ...
Otherwise, use --out to specify a custom directory:
webtoon-downloader [url] --out ./my_folder-
Save chapters into separate folders corresponding to each chapter:
webtoon-downloader [url] --separate
For example, downloading Tower of God, Chapter 150 to 152 would result in:
Tower_of_God ├── 150 │ ├── 150_001.jpg │ ├── 150_002.jpg │ └── ... ├── 151 │ ├── 151_001.jpg │ └── ... └── 152 ├── 152_001.jpg └── ... -
Export summary, chapter titles, and author notes:
webtoon-downloader [url] --export-metadata --export-format json
-
Change storage format (e.g., zip, cbz, pdf):
webtoon-downloader [url] --save-as cbz
-
Enable debug logging:
webtoon-downloader [url] --debug
-
Use a proxy server:
webtoon-downloader [url] --proxy http://127.0.0.1:7890
-
Set retry strategy for failed requests (exponential, linear, fixed, none):
webtoon-downloader [url] --retry-strategy exponential
n.b.
nonewill disable retries, so use with caution. -
Control concurrency to avoid rate limits:
webtoon-downloader [url] --concurrent-chapters 2 --concurrent-pages 5
-
Download smaller images by specifying a quality:
webtoon-downloader [url] --quality 50
n.b. The quality setting is a percentage of the original image quality (40-100). Only multiple of 10.
Any contributions you make are greatly appreciated.
- Fork the repo
- Create a branch (
git checkout -b feature/new-idea) - Commit changes (
git commit -m 'Add new idea') - Push to GitHub (
git push origin feature/new-idea) - Create a pull request
Distributed under the MIT License. See LICENSE for more.
Zehina – [email protected] Project homepage
- Rich — Beautiful terminal formatting
- Webtoons — For the accessibility to thousands of free comics.
- Many other libraries and tools used in this project can be found in the pyproject.toml file.
