Novel-Grabber: a desktop scraper that turns web novel chapters into EPUB
Novel-Grabber can download novels from pretty much any webnovel and lightnovel site.
At a glance
- What is it?
- Novel-Grabber is a Java desktop application that downloads chapters from over a hundred web novel sites and assembles them into EPUB files, with a manual mode for sites it does not know, a library that tracks new releases, and a Telegram bot for remote control. Its own README opens by saying the project is not under active development, and the code should be read with that in mind.
- Who is it for?
- Adopt Novel-Grabber if you maintain a personal reading library from sites whose terms permit it and you want a desktop GUI with a supported-sites list, a manual fallback, and a Telegram bot for remote fetching. Do not adopt it if you need an actively maintained project, since the README states it is not under active development and the last tagged release is from 2021, and do not use it against sites that prohibit scraping, which the README itself warns about.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 10 days ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The first line of the README says this project is not under active development
The README opens with a heading that reads, in full, that this project is not under active development. That sentence is the most important line in the document, and it should shape how everything else is read.
The rest of the release history supports it. The listed releases are Novel-Grabber 3.9.2 from 2021-04-20, 3.3.0 from 2021-01-18 and 3.2.0 from 2020-11-16, so three tagged versions in about six months and then nothing for years. The last push was on 2026-10-13 and the repository is not archived, so somebody is still committing, but the tags tell you that no release has been cut since April 2021.
That combination, a maintained-looking repository with a dead release line, is what you should expect from a tool like this. Web novel sites change their markup regularly, and a scraper whose site definitions are from 2020 or 2021 is going to need work for any site that has changed since. The library of over a hundred supported sites is still the valuable part, because the site definitions are data rather than code and can be read and adapted.
The licence is MIT, the primary language is Java, and the requirement is Java version 8 or newer. The disclaimer section adds its own constraint: most sites prohibit scraping for their content, use it at your own risk, use appropriate wait times, and downloaded chapters are for private use only.
Over a hundred site definitions, plus a manual mode for everything else
Novel-Grabber is described as a GUI based web scrapper that can download and convert chapters into EPUB from various supported web novel sites or from any other site manually. The supported sites live in a directory in the source tree, and the README claims over 100 of them, with the topics naming Royal Road, WuxiaWorld, GravityTales, light novel and fan fiction sources.
The features list gives you the shape of it. Over 100 supported sites. A manual mode for unsupported sites. Blacklist HTML tags to remove unwanted content. A library to keep track of new releases for your favorite novels. Login support via cookies. And a CLI.
The manual mode is the more interesting half, because it is what makes the tool survive site churn. The README describes two ways to use it.
The first uses a table of contents page. You enter the URL of the novel's table of contents page and retrieve all links on the site, remove the unwanted links from a selection window, and then input the chapter container the site uses. The author strongly suggests the auto detect function, saying it generally works well and enables grabbing from different sites, and also points to specifying a CSS selector manually. The second way is chapter-to-chapter navigation, where you input the URL of your starting and ending point chapter, inclusive, and the selector for the Next-Chapter button, which you select via a CSS selector and which has to be the `<a>` tag of it.
So for a site the project does not know, the tool does not need to know anything in advance. It needs a table of contents URL, a way to identify chapter containers, and optionally a next-chapter link. That is a general-purpose scraper wearing a novel-specific interface, and the supported-sites list is a set of presets on top of it.
Running it is a launcher jar, and the launcher updates the files
The install path is a download rather than a build. You download Novel-Grabber.zip from the latest release and execute the launcher inside, and if you cannot execute the jar, the README gives the terminal command:
java -jar NG-Launcher.jarThe launcher does something worth knowing about. Starting `NG-Launcher.jar` will update and re-download files, so the first run is a network operation that fetches the current application files rather than just launching what you downloaded. You can also start the main program directly via `Novel-Grabber.jar` inside the `bin` subfolder, which skips that step.
For the automatic path, the workflow is short. Enter the link of the novel, click Check to fetch metadata and the chapter list, choose from the various download options or manually adjust the metadata, select a chapter range, and grab the chapters.
In the manual mode you also set the metadata that the automatic path would have fetched. The README tells you to set the title, the author and the cover, and the blacklisted tags window is where you strip content out of a chapter, reachable via the flag icon at the top. Blacklisting HTML tags rather than regular expressions is the interesting choice, since it means the removal works on structure rather than on text patterns, which survives most content changes.
The screenshots in the README show the three tabs, Automatic, Manual and Library, which is a reasonable division for a tool with two acquisition modes and a persistent list of what you are reading.
The CLI exposes the same thing with flags, and one example shows the range
The CLI section notes that the arguments are used with the main `Novel-Grabber.jar` from inside the `bin` folder, and the notation is that square brackets mark optional parameters and curly braces mark arguments for a parameter.
The flag list is compact. `-gui` or `none` starts the graphical user interface. `-link` takes the URL of the novel's table of contents page and starts the download. `[-wait]` takes milliseconds as the time between each chapter grab. `[-headless]` takes chrome, firefox, opera, edge, IE or headless as the browser to visit the website in, and it executes javascript. `[-chapters]` takes a specification like `all`, or a range such as `5 27`, or `12 last`. `[-path]` is the output directory for the EPUB. `[-login]` logs in on the website with a saved account, and the README notes that `-account` is not needed if an account for that domain was added previously. `[-noDesc]` skips creating a description page. `[-getImages]` grabs images from the chapter body as well. `[-displayTitle]` writes the chapter title at the top of each chapter text. `[-invertOrder]` inverts the chapter order. And `-help` shows the help page.
The example the README gives combines several of them:
java -jar Novel-Grabber.jar -link http://host.com/novel/ -chapters 15 last -getImagesThe `-chapters 15 last` syntax is the one to internalize, since it means chapter fifteen through the last one, and the alternates are `all` or an explicit range. The `-wait` flag pairs with the disclaimer about using appropriate wait times, since that parameter is the mechanism for throttling how fast the site is hit.
The `-headless` option is worth a second look for the manual mode, because a site that renders its chapter list with javascript will return nothing to a plain HTTP fetch. Driving a real browser is slower but it is the only way to get the DOM the auto detect function needs.
A Telegram bot gives you remote fetching and a place for status output
The last feature is a Telegram bot, and the README describes how to run your own.
You need to add the line `telegramApiToken=your_token ` to your `config.ini`, or set the same thing through the GUI on the Telegram Bot settings tab. The bot reads the output for the `/info` command from an `info.txt` file inside the telegram folder, which you can adjust. And you start it with the `-telegramBot` parameter:
java -jar Novel-Grabber.jar -telegramBotThe design is a remote trigger rather than a full client. The bot exists so that the grab can be started and its status read from a phone, which pairs naturally with the `-wait` flag, since a slow polite download is a good candidate for something you start remotely and check on later.
The library feature is the other half of the same idea, and it is the one that does not need the bot. A library keeps track of new releases for your favorite novels, which is the ongoing-chapters problem rather than the one-off-download problem, and the README shows it as its own tab with its own screenshot.
The dependency list explains how much of the machinery is third party. The project was built in Java with jsoup for HTML parsing, json-simple for JSON, epublib for EPUB writing, webdrivermanager and selenium for browser automation, Readability4J for content extraction, Simple Java Mail for mail, Notify for desktop notifications, the Java Telegram Bot API for the bot, FlatLaf for the look and feel and icons8 for icons.
Readability4J deserves a note, because it is doing the heavy lifting in the manual mode. It is the same idea used by reader-mode implementations elsewhere: given a noisy HTML document, find the article body inside it. That is why auto detect works across different sites, and why it is the recommended path in the README.
Editorial conclusion
Adopt Novel-Grabber if you maintain a personal reading library from sites whose terms permit it and you want a desktop GUI with a supported-sites list, a manual fallback, and a Telegram bot for remote fetching. Do not adopt it if you need an actively maintained project, since the README states it is not under active development and the last tagged release is from 2021, and do not use it against sites that prohibit scraping, which the README itself warns about. Verify first that your target site is in the supported list or that you understand the manual mode, since site markup changes are the most likely reason a grab silently produces broken output.
Frequently asked questions
How do I run Novel-Grabber?
Download Novel-Grabber.zip from the latest release and execute the launcher, or from a terminal run `java -jar NG-Launcher.jar`, which will update and re-download files on the first run. You can also start the main program directly via `Novel-Grabber.jar` inside the `bin` subfolder. Java version 8 or newer is required.
How do I download a novel from a site Novel-Grabber does not support?
Use manual mode with a table of contents page. Enter the URL of the table of contents, retrieve the links, remove unwanted ones in the selection window, then input the chapter container the site uses, either with the auto detect function, which the README says generally works well, or with a CSS selector you specify yourself.
Is Novel-Grabber still being developed?
The README states at the top that this project is not under active development. The listed releases are 3.9.2 from 2021-04-20, 3.3.0 from 2021-01-18 and 3.2.0 from 2020-11-16, and the last push was on 2026-10-13 with the repository not archived.
What can I pass to the Novel-Grabber command line?
The documented flags include -gui or none, -link with the table of contents URL, -wait with milliseconds between chapter grabs, -headless with a browser choice, -chapters with all, a range or a start and last specification, -path for the EPUB output directory, -login, -noDesc, -getImages, -displayTitle, -invertOrder and -help, all used with Novel-Grabber.jar from inside the bin folder.
How do I set up the Novel-Grabber Telegram bot?
Add the line `telegramApiToken=your_token ` to your `config.ini`, or set it on the GUI Telegram Bot settings tab. The bot reads the output for the /info command from an info.txt file inside the telegram folder, and you start it with the -telegramBot parameter.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/flameish-novel-grabber)Was this useful?