Skip to content

Zehina/Webtoon-Downloader

Repository files navigation


Webtoon Downloader

A simple blazing fast tool for downloading chapters of any releases hosted on the webtoons website.⚡

Report Bug · Request Feature

Release Build status codecov Commit activity License

Contents

  1. Supported Sites
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact
  7. Built With

Supported Sites

Disclaimer

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.

Getting Started

To get a local copy up and running follow these simple steps.

Compatibility

Webtoon Downloader runs on Windows, Linux, and macOS. Requires Python 3.10+.

Installation

Install via pipx (recommended):

pipx install webtoon_downloader

Usage

Run webtoon-downloader --help for full options.

Basic Examples

  • 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

Customization

Rate Limiting & Stability

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 exponential backoff.

    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.

Other Options

  • 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. none will 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.


Contributing

Any contributions you make are greatly appreciated.

  1. Fork the repo
  2. Create a branch (git checkout -b feature/new-idea)
  3. Commit changes (git commit -m 'Add new idea')
  4. Push to GitHub (git push origin feature/new-idea)
  5. Create a pull request

License

Distributed under the MIT License. See LICENSE for more.


Contact

Zehina[email protected] Project homepage


Built With

  • 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.