Adding Books
There are multiple ways to add books to your library:
Manual Entry
Click the "+ Add Book" button to add a book manually with full details:
- Basic Info: Title, authors (with roles), rating, status
- Details: ISBN, ASIN, publisher, page count, language
- Classification: Genre, format, series, tags
- Dates: Release date, start/completion dates
- Personal: Summary, notes, DNF tracking
- Cover: Upload image or provide URL
ISBN Lookup
Save time by looking up books by ISBN:
- Click "+ Add Book"
- Click the "ISBN Lookup" button
- Enter ISBN (10 or 13 digit)
- BookShelf searches multiple providers (Google Books, Open Library, Goodreads, Hardcover, Amazon, ComicVine)
- Review fetched metadata and select fields to include
- Save to create the book
Search & Add
Search for books online without an ISBN:
- Click "Metadata Search"
- Enter book title and/or author
- Browse results from multiple providers
- Click a result to preview metadata
- Add to your library
BookDrop Auto-Import
Drop ebook files into a folder and have them automatically imported:
- Enable BookDrop in Admin → BookDrop settings
- Set watch folder (default:
/app/bookdropin Docker) - Drop files into the folder (EPUB, PDF, CBZ supported)
- BookShelf automatically detects, extracts metadata, creates entry, and moves file
For best results with BookDrop, name files like: Title by Author.epub or Author - Title.epub
Organizing Books
Statuses
Books can have different statuses:
| Status | Description |
|---|---|
| Read | Finished books |
| Currently Reading | Books in progress |
| Want to Read | Wishlist/TBR pile |
| Next | Queued up to read next |
| Parked | Started but paused |
| DNF | Did Not Finish |
You can create custom statuses in Settings → Statuses.
Genres
Organize books by genre with custom colors and icons. Create custom genres beyond the built-in ones (Fiction, Non-Fiction, Fantasy, etc.).
Tags
Create flexible categorization with tags:
- System Tags: Favorite, Wishlist (always available)
- Custom Tags: Create your own with colors and icons
- Bulk Tagging: Apply tags to multiple books at once
Example tags: "Beach Reads", "Book Club", "Library", "Gift", "2026 Challenge"
Series Tracking
Track reading order for series:
- Add books to series with book numbers (supports decimals like 2.5 for novellas)
- Book number ranges for omnibus editions
- Primary series designation for books in multiple series
- Series status tracking and gap detection
Multi-Author Support
Books can have multiple authors with different roles:
- Author, Co-Author, Editor, Translator, Illustrator, Narrator
- Designate primary author for sorting and display
Smart Collections (Magic Shelves)
Create dynamic collections that automatically update based on rules you set.
Creating a Smart Collection
- Go to Shelves → Create Smart Collection
- Name your shelf (e.g., "Recent Favorites")
- Add rules (Field, Operator, Value)
- Combine rules with AND/OR logic
- Set display options (sort order, max items, show on dashboard)
Example Smart Collections
Recent Favorites
- Rating ≥ 4.5 stars
- Read date in last 6 months
Unfinished Series
- Series is not complete
- Status is not "Want to Read"
Quick Reads
- Page count ≤ 300
- Status is "Want to Read"
5-Star Books
- Rating = 5 stars
- Sort by: Date Read (desc)
Ebook Reader
Read your digital books directly in BookShelf.
Supported Formats
| Format | Type | Features |
|---|---|---|
| EPUB | Ebook | Reflowable text, themes, bookmarks, TOC navigation |
| Document | Page-based, zoom, scroll/page modes, search | |
| CBZ/CBR | Comics | Image-based, page navigation, fit-to-screen, manga mode |
EPUB Reader Features
- Themes: Light, Dark, Sepia, or Custom colors
- Font: Size, family (including OpenDyslexic), line spacing
- Navigation: Click edges, swipe, arrow keys, TOC
- Bookmarks: Save and jump to marked positions
- Progress: Auto-saved position and reading time tracking
Keyboard Shortcuts
| Key | Action |
|---|---|
Esc | Close reader |
F | Toggle fullscreen |
← / → | Previous / Next page |
Home / End | First / Last page |
+ / - | Increase / Decrease font size (EPUB) |
T | Toggle Table of Contents (EPUB) |
B | Toggle Bookmarks (EPUB) |
Uploading Ebooks
- Open book details
- Click "Upload Ebook" button
- Select file (EPUB, PDF, CBZ, CBR)
- Wait for upload
- "Read" button appears when done
Reading Goals
Set and track reading goals to stay motivated. BookShelf supports 6 types of reading challenges:
Total Books Goal
Read X books in a year (e.g., 52 books = one per week)
Genre Challenge
Read X books from specific genres
Author Challenge
Read X different authors or X books by one author
Format Challenge
Read X books in specific formats (e.g., 24 audiobooks)
Page Count Goal
Read X pages total (e.g., 15,000 pages)
Monthly Challenge
Read X books every month
Goal Insights
- On Track Green indicator when ahead of pace
- Behind Yellow when slightly behind with catch-up suggestions
- At Risk Red when significantly behind with suggested pace
Statistics
View detailed statistics and visualizations of your reading habits.
Reading Heatmap
A GitHub-style contribution graph showing your reading activity over the last 365 days. Each square represents a day with color intensity showing books finished.
Dashboard Stats
- Library Size: Total books, by status, by format
- Reading Activity: Books this year/month, current streak
- Quick Stats: Average rating, most read genre/author
Analytics
- Timeline: Visual timeline of books read, grouped by month/year
- Genre Analytics: Pie charts, distribution over time, ratings by genre
- Author Analytics: Most read authors, favorites, discovery timeline
- Format Analytics: Physical vs Digital vs Audio breakdown
DNF Tracking
Track books you didn't finish with reason, page stopped, and percentage read. View DNF analysis including rate, common reasons, and genres with highest DNF.
Import & Export
Importing Books
CSV Import (Goodreads)
- Export from Goodreads: My Books → Import/Export → Export Library
- In BookShelf: Import/Export → CSV Import
- Upload CSV, preview, map columns
- Configure options (skip duplicates, fetch metadata, download covers)
- Import!
Audible Import
- Go to Audible.com → Library
- Save page as HTML
- Upload to BookShelf's Audible Import
- Review and import (narrator info preserved)
BookDrop (Automatic)
Enable BookDrop in Admin settings, then simply drop ebook files (EPUB, PDF, CBZ) into the watch folder. BookShelf automatically imports them.
Exporting Data
- CSV Export: For spreadsheets or other apps
- JSON Backup: Complete backup of all data
- Database File: SQLite file for direct access
Scheduled Backups
Automate backups with cron jobs. See Getting Started for backup scripts.
Create JSON backups monthly and before major changes!
Admin Settings
Admin users can configure BookShelf from Admin → Settings:
General Settings
- Library Name: Display name in header
- Branding: Custom logos and favicon
- Items Per Page: 12-100 books per page
- Date Format: US, EU, or ISO
- Default View: Grid or list
Metadata Providers
Configure book metadata sources with priority ordering:
- Google Books
- Open Library
- Goodreads
- Hardcover (requires API key)
- Amazon
- ComicVine (requires API key)
OPDS Catalog
Serve your library to e-reader apps like Calibre, KOReader, Moon+ Reader:
- Enable/disable OPDS catalog
- Configure public access
- Auto-generated catalog URL
Email & Notifications
Configure SMTP for password resets and notifications.
Advanced Features
- BookDrop: Auto-import ebooks from folder
- AI Features: OpenAI integration for recommendations
- Widgets: Embeddable stats for websites
- Database: Backup, maintenance, diagnostics