Lightnovel Crawler downloads web novels and similar fiction from hundreds of online reading sites and saves them as e-books — so you can read offline on your phone, tablet, or e-reader.
- Download a story you follow as a single EPUB instead of bookmarking hundreds of web pages.
- Run a private home server to collect and read all your novels in one place.
Personal use only. Sites publish fiction under their own terms and copyright. Only use this tool for personal backups of content you have legitimate access to. Do not redistribute or sell someone else's work.
| I want to… | How |
|---|---|
| Just try it | Download the executable |
| Use the CLI | pip install |
| Run a home server | Docker |
Once it's running: open http://localhost:8181, sign in with admin / admin, and paste a novel URL to download it.
Pick one of the three methods below.
Download and run — no Python required.
| Platform | Download |
|---|---|
| Windows | 📦 lncrawl.exe |
| Linux | 📦 lncrawl |
| macOS | 📦 lncrawl |
Check Releases for older versions.
Windows: Double-click the downloaded .exe. SmartScreen may warn about an unknown app — click "More info → Run anyway". Setup is required before first run.
macOS / Linux: No setup needed. Make the file executable and run it:
chmod +x lncrawl
./lncrawlRequires Python 3.9+.
pip install -U lightnovel-crawlerIf it fails, try python -m pip install -U lightnovel-crawler.
To install directly from GitHub:
# Latest stable
pip install -U git+https://github.com/lncrawl/lightnovel-crawler.git#egg=lightnovel-crawler
# Development branch (latest fixes but unstable)
pip install -U https://github.com/lncrawl/lightnovel-crawler/tarball/refs/heads/dev#egg=lightnovel-crawlerVerify the install:
lncrawl -hIf lncrawl is not found, use python -m lncrawl -h instead.
$ lncrawl -h
Usage: lncrawl [OPTIONS] COMMAND [ARGS]...
╭─ Options ────────────────────────────────────────────────────────────────────╮
│ --verbose -l Log levels: -l = warn, -ll = info, -lll │
│ = debug │
│ --config -c PATH Config file │
│ --install-completion Install completion for the current │
│ shell. │
│ --show-completion Show completion for the current shell, │
│ to copy it or customize the │
│ installation. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ app Launches the web application. │
│ version Show current version. │
│ config View and modify configuration settings. │
│ sources Manage sources. │
│ crawl Crawl from novel page URL. │
│ search Search for novels by query string. │
│ server Run web server. │
╰──────────────────────────────────────────────────────────────────────────────╯
Requires Docker.
mkdir -p lncrawl-data
docker pull ghcr.io/lncrawl/lightnovel-crawler
docker run -v ./lncrawl-data:/data -it -p 8181:8181 --name lncrawl-server ghcr.io/lncrawl/lightnovel-crawler -ll serverThen open http://localhost:8181 and sign in with admin / admin.
The web UI lets you browse, download, and read novels without touching the command line.
Start the server:
- Standalone / pip: run
lncrawl server. - Docker: the server starts with the
docker runcommand above.
Open in browser: Visit http://localhost:8181.
First-time login: admin / admin. Change your password in Settings → Account.
Downloading a novel:
- Go to Crawlers to browse supported sites, or paste a novel URL directly into the search bar.
- Select the chapters you want (a range or all of them).
- Choose an output format (see Output Formats below).
- Click Download — track progress on the Requests page.
- Open the result in the built-in Reader, or download the file to your device.
Library: Save novels to your Library to re-download new chapters with one click whenever the story updates.
Common examples:
# Open as application (no login)
lncrawl app
# Run as a server (has login)
lncrawl server
# Download the first 10 chapters as EPUB
lncrawl crawl "https://example.com/novel/page" -f epub --first 10
# Download all chapters
lncrawl crawl "https://example.com/novel/page" -f epub --all
# Search by title
lncrawl search "The Beginning After The End"Use a URL from any supported source.
| Format | Needs Calibre | Best for |
|---|---|---|
| 📚 EPUB | Most e-readers and reading apps | |
| 📃 TXT | Simple reading, any text editor | |
| 🗂️ JSON | Scripts and developers | |
| ✓ | Print-ready, universal | |
| 🔳 AZW3 | ✓ | Kindle (current) |
| 🔲 MOBI | ✓ | Kindle (older devices) |
| 📝 DOCX | ✓ | Word, LibreOffice |
| 📑 RTF | ✓ | WordPad and others |
| 📔 FB2 | ✓ | FB2 readers |
| 📕 LIT | ✓ | MS Reader (obsolete) |
| 📗 LRF | ✓ | Sony readers |
| 🗄️ PDB | ✓ | PalmOS (legacy) |
| 📘 RB | ✓ | RocketBook/REB1100 |
| 📙 TCR | ✓ | Psion readers |
Install Calibre to unlock the formats marked above.
- macOS / Linux: No extra configuration —
ebook-convertis detected automatically after installing Calibre. - Windows: After installing, add the Calibre folder to your
Path(default:C:\Program Files\Calibre2).
Contributions are welcome — bug fixes, new sources, documentation, and more.
See CONTRIBUTING.md for setup instructions, code style, and how to add a source crawler.
Install uv first (or let make setup install it for you).
git clone https://github.com/lncrawl/lightnovel-crawler.git
cd lightnovel-crawler
make install # install uv + syncs dependencies
make start # runs the dev serverOr with uv directly:
uv sync --all-extras --all-groups
uv run python -m lncrawl -ll serverFull Makefile reference
# Setup
make setup # install uv
make install # setup + uv sync (default: `make`)
make sync # uv sync only
make upgrade # setup + uv sync --upgrade
# Dev
make start # Run dev server
make watch # Run with auto-reload
make lint # ruff format and check
# Version (writes lncrawl/VERSION)
make patch # bump patch version
make minor # bump minor version
make major # bump major version
# Build
make build # Full build: wheel + exe
make build-wheel # Python wheel only
make build-exe # PyInstaller exe only
# Dependencies
make add-dep <pkg> # Add runtime dependency
make add-dev <pkg> # Add dev dependency
make rm-dep <pkg> # Remove runtime dependency
make rm-dev <pkg> # Remove dev dependency
# Docker
make docker-build # Build base + app images
make docker-up # docker compose up -d
make docker-down # docker compose down
make docker-logs # docker compose logs -f
# Misc
make clean # Remove .venv, build artifacts, caches
make version # Print current versionCopy one of the example file from sources/_examples/ into sources/{lang}/ and implement the required methods.
Full guide: .github/docs/CREATING_CRAWLERS.md
To request a new source, please create an issue.
Click to expand
We are supporting 340 sources and 394 crawlers.
| Source URL | Version | Contributors | |
|---|---|---|---|
| https://arnovel.me/ | 27 | ||
| https://kolnovel.com/ | 1 | ||
| https://rewayat.club/ | 15 |
| Source URL | Version | Contributors | |
|---|---|---|---|
| https://cclawtranslations.home.blog/ | 75 | ||
| https://domentranslations.wordpress.com/ | 75 | ||
| https://novelasligeras.net/ | 6 |
| Source URL | Version | Contributors | |
|---|---|---|---|
| https://chireads.com/ | 13 | ||
| https://lightnovelfr.com/ | 9 | ||
| https://noveldeglace.com/ | 7 | ||
| 🔍 | https://novelfrance.fr/ | 1 | |
| https://xiaowaz.fr/ | 8 |
| Source URL | Version | Contributors | |
|---|---|---|---|
| 🤖 | https://ncode.syosetu.com/ | 25 | |
| https://syosetu.org/ | 9 |
| Source URL | Version | Contributors | |
|---|---|---|---|
| https://blnovels.net/ | 10 | ||
| https://centralnovel.com/ | 14 | ||
| 🔍 | https://illusia.com.br/ | 5 | |
| https://novelmania.com.br/ | 9 | ||
| 🔍 | https://phoenixnovels.com.br/ | 5 |
| Source URL | Version | Contributors | |
|---|---|---|---|
| https://fenrirscans.com/ | 4 |
| Source URL | Version | Contributors | |
|---|---|---|---|
| 🤖 | https://docln.net/ | 15 | |
| 🤖 | https://ln.hako.vn/ | 15 | |
| 🤖 | https://truyenfull.today/ | 10 | |
| 🤖 | https://truyenfull.vn/ | 10 |
Click to expand
Questions and tips: GitHub Discussions.







