July 1, 2024
Manga Downloader.
AutomationA Node.js-based manga downloader tool designed to automate manga chapter downloads from online sources efficiently.

Description
Manga Downloader is a Node.js automation tool that downloads manga chapters from online sources quickly and efficiently. It streamlines manga collection workflows by automating image retrieval, chapter processing, and file organization.
The tool focuses on lightweight performance, scalable download handling, and easy customization for different manga sources.
Background
Manually saving manga page by page is slow and error-prone. I built a command-line tool to automate the whole process — fetching chapters, organizing images into folders, and handling batches — while practicing web scraping and async I/O in Node.js.
Goal
- Automate downloading of manga chapters from online sources.
- Organize downloaded images into a clean chapter-based structure.
- Keep the tool lightweight, scalable, and easy to customize.
Features
- Automated manga chapter downloading
- Batch download support with a download queue
- Fast image retrieval
- Chapter-based file organization with automatic folder creation
- Easy source customization
- Command-line based workflow
- Lightweight, scalable scraping and downloading
Technologies
- Node.js — runtime for async scraping, image retrieval, and file-system operations.
How to Run
git clone https://github.com/FannyDevz/manga-downloader
cd manga-downloader
npm install
# configure the manga source/URL as needed
node index.js
Technical Decisions
- Node.js for its non-blocking async I/O, well suited to concurrent downloads.
- Queue-based downloading to control concurrency and avoid overwhelming sources.
- Chapter-based folder structure so collections stay organized automatically.
What I Learned
- Web scraping and handling asynchronous download flows in Node.js.
- Managing concurrency with a download queue.
- Working with the file system for automated organization.
Notes
Command-line tool intended for personal use; respect each source’s terms of service. Future ideas: resume support, retry on failure, and configurable output formats.
Read the story behind this project: Proyek-Proyek Kegabutan (in Indonesian).

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.