A local web-based ebook reader built with Node.js and Express. It supports PDF, EPUB, MOBI, and AZW3 files.
- Read PDF, EPUB, MOBI, and AZW3 books in a web browser
- Automatically scan books from
public/uploads - Organize books by directory structure and generate library categories
- Display book metadata and reading progress
- Support local deployment on a computer, NAS, home server, or private cloud
Read books online or use the reader to open files hosted locally.
Place your ebook files inside the project's public/uploads directory. The server recursively scans this directory and uses its folder structure to determine book types and categories.
For example:
public/uploads/
├── Books/
│ ├── Fiction/
│ │ └── Example Novel.epub
│ └── History/
│ └── Chinese History.pdf
├── Papers/
│ └── Economics/
│ └── Example Paper.pdf
The server automatically generates /books.json and uses it to populate the library.
For better automatic metadata detection, use a filename format such as:
Book Title - Author.pdf
Book Title - Author.epub
Book Title - Author.mobi
The reader can extract the title, author, and category information from the filename and directory structure.
npm install && npm startThen open the following address in your browser:
http://localhost:3000
- The project is suitable for local deployment on a NAS, home server, or private cloud.
- When using a static hosting service, make sure files under
public/uploadsare available to the web server. - For remote deployment, verify directory permissions and ensure that the configured file paths remain consistent.
- Do not expose personal or copyrighted ebook files to the public internet without proper authorization.

