Skip to main content
Universal Manga Downloader supports 6 popular manga and doujinshi websites, each using specialized extraction methods optimized for their site structure.

Supported sites table

SiteDomainMethodTechnologyFeatures
ZonaTMOzonatmo.comCrawler + CascadeCrawl4AI + LLMSeries, single chapters, lazy loading
TMO-Htmohentai.*AI ExtractionCrawl4AI + GeminiIntelligent image detection
M440m440.in, mangas.inCrawlerCrawl4AICovers, chapters, data-src parsing
Hentai2Readhentai2read.*JSON ParsingAsyncIOFast metadata extraction
Hitomi.lahitomi.laStealth BrowserPlaywrightBypasses 403/404 protection
NHentainhentai.netAPI + BrowserPlaywrightBypasses Cloudflare

Extraction methods

Crawl4AI with LLM

ZonaTMO and TMO-H use Crawl4AI with Google Gemini 1.5 Flash to intelligently extract image URLs from complex JavaScript-heavy pages. This method:
  • Executes JavaScript to trigger lazy loading
  • Uses AI to identify image URLs from multiple patterns
  • Falls back to regex if AI extraction fails
  • Handles data-original attributes and dynamic content
Crawl4AI methods require a GOOGLE_API_KEY in your .env file for optimal performance.

Standard crawler

M440 and Hentai2Read use simpler crawling techniques:
  • M440: Parses data-src attributes directly from HTML
  • Hentai2Read: Extracts image paths from embedded gData JSON variable

Browser automation

Hitomi.la and NHentai require full browser automation using Playwright to:
  • Bypass anti-bot protections (Cloudflare, 403/404 blocks)
  • Simulate real user behavior
  • Handle dynamic content loading
  • Set proper headers and referrers

General usage

All site handlers follow the same usage pattern:
from core.handler import process_url

# Single chapter
await process_url(
    "https://zonatmo.com/view_uploads/12345",
    log_callback=print,
    check_cancel=lambda: False
)

# Full series (for sites that support it)
await process_url(
    "https://zonatmo.com/library/manga/series-name",
    log_callback=print,
    check_cancel=lambda: False
)

Web interface

You can also use the Next.js web interface:
  1. Launch the web version: START_WEB_VERSION.bat
  2. Open http://localhost:3000
  3. Paste any supported URL
  4. Watch real-time progress with WebSocket updates

URL patterns

Each site has specific URL patterns it recognizes:

Chapter URLs

  • ZonaTMO: https://zonatmo.com/view_uploads/[chapter-id]
  • TMO-H: https://tmohentai.com/contents/[manga]/[chapter]
  • M440: https://m440.in/manga/[series]/[chapter]
  • H2R: https://hentai2read.com/[title]/[chapter]
  • Hitomi: https://hitomi.la/reader/[id].html or https://hitomi.la/[type]/[title]-[id].html
  • NHentai: https://nhentai.net/g/[gallery-id]

Series/Cover URLs

  • ZonaTMO: https://zonatmo.com/library/manga/[series-name]
  • M440: https://m440.in/manga/[series-name]
Hitomi and NHentai only support single gallery downloads, not full series.

Feature comparison

FeatureZonaTMOTMO-HM440H2RHitomiNHentai
Single chapter
Full series
Cover detection
Lazy loading
Progress tracking
Headless modeN/AN/AN/AN/A

Performance considerations

Speed ranking (fastest to slowest)

  1. Hentai2Read - JSON parsing only, no image rendering
  2. M440 - Simple regex extraction
  3. TMO-H - AI extraction with fallback
  4. ZonaTMO - AI extraction + cascade view
  5. NHentai - API fetch + browser automation
  6. Hitomi.la - Page-by-page browser navigation

Resource usage

  • CPU-heavy: ZonaTMO, TMO-H (AI processing)
  • Memory-heavy: Hitomi, NHentai (browser automation)
  • Lightweight: H2R, M440 (simple parsing)

Rate limiting

The downloader includes built-in delays to prevent rate limiting:
  • 1 second between chapters (ZonaTMO series)
  • 500ms between pages (Hitomi)
  • Configurable concurrent downloads via aiohttp
All handlers respect site ToS by simulating human-like browsing patterns.

Next steps

ZonaTMO

Learn about Crawl4AI cascade extraction

Hitomi.la

Understand stealth browser techniques

Configuration

Configure API keys and headers

Architecture

Explore the handler system

Build docs developers (and LLMs) love