How to Sync Books with KOReader via Calibre Wireless

Send books from BookShelves to KOReader over Wi-Fi using the built-in Calibre wireless server. Push books, pull imports, and sync reading progress — no cables, no Calibre desktop.

A Kindle e-reader displaying text on a wooden table next to a coffee mug
Photo by Jasmin Whiscy on Unsplash.

BookShelves includes a built-in Calibre wireless server. KOReader can connect to it directly — no Calibre desktop software needed. Once connected, you can push books from your Mac to your e-reader, pull books back into BookShelves, and sync reading progress between devices. All over Wi-Fi.

This is different from OPDS, which lets KOReader browse and download from your library. Calibre wireless sync goes further: it’s a two-way connection where you actively push books to the device and reading progress flows back automatically.

What You Need

  • BookShelves Pro on your Mac (the Calibre wireless server is a macOS-only Pro feature)
  • KOReader installed on your e-reader (Kindle, Kobo, PocketBook, or Android)
  • Both devices on the same Wi-Fi network

Step 1: Enable the Calibre Wireless Server

  1. Open BookShelves on your Mac
  2. Go to Settings > Advanced
  3. Find the Calibre Wireless Server (KOReader) section
  4. Toggle Enable Calibre Wireless Server
  5. Optionally set a password for the connection
  6. Note the port number (default: 9090)

The status indicator turns orange when the server is listening and waiting for a connection.

Tip: The password is optional but recommended if you’re on a shared network. It’s stored securely in your Mac’s Keychain.

Step 2: Connect KOReader

  1. On your KOReader device, open the top menu
  2. Go to Calibre (or Network > Calibre)
  3. Select Wireless Settings > Server Address > Manual
  4. Enter your Mac’s IP address (e.g., 192.168.1.100) and port 9090
  5. If you set a password in Step 1, enter it under Wireless Settings > Password
  6. Go back to the Calibre menu and tap Connect

KOReader will connect to BookShelves. The status indicator in BookShelves turns green and shows your device name.

Finding your Mac’s IP address: Go to System Settings > Wi-Fi > click Details on your active network. The IP address is listed there.

Step 3: Send Books to Your Device

Once connected, sending books is simple:

  1. In BookShelves, right-click any book in your library
  2. Select Send to Device > [your device name]
  3. The book transfers over Wi-Fi in a few seconds

The Settings panel shows a counter of how many books you’ve sent this session. Books land in KOReader’s library ready to read.

Pulling Books from Your Device

The sync works both ways. When KOReader connects, BookShelves can see the books on your device. If you have books on your e-reader that aren’t in your BookShelves library, you can import them back.

Reading Progress Sync

This is where Calibre wireless sync shines compared to OPDS. When your e-reader connects, BookShelves automatically syncs reading progress:

  • Percent read — how far you are in the book
  • Read status — whether you’ve finished the book
  • Finished date — when you completed it

BookShelves matches books between your device and library by author/title path. Progress updates appear in your library automatically — no manual steps needed.

OPDS vs. Calibre Wireless — Which to Use?

Both methods connect KOReader to BookShelves. Here’s when to use each:

OPDSCalibre Wireless
DirectionKOReader browses and pulls booksYou push books from BookShelves
Reading progressNo syncSyncs automatically
Book importOne-way (download only)Two-way (push and pull)
Auto-discoveryYes (Bonjour)Yes (UDP broadcast)
Best forBrowsing your library from the deviceSending specific books and tracking progress

You can use both at the same time — they don’t conflict. Many readers use OPDS for browsing their library on the device and Calibre wireless for pushing specific books and keeping reading progress in sync.

For OPDS setup, see the KOReader OPDS guide.

Troubleshooting

KOReader Can’t Find the Server

  • Same network? Your e-reader and Mac must be on the same Wi-Fi network. Guest networks often isolate devices.
  • Check the IP. Your Mac’s IP may change if your router assigns addresses dynamically. Verify it in System Settings > Wi-Fi.
  • Firewall blocking? macOS may block incoming connections. Go to System Settings > Network > Firewall and make sure BookShelves is allowed, or add port 9090 to the allowed list.
  • Port in use? If something else is using port 9090, change the port in BookShelves settings. Remember to update KOReader’s server address to match.

Connection Drops After a Few Minutes

The server has a 5-minute idle timeout. If no books are being sent and no keepalive responses are received, the connection closes. This is normal — just reconnect from KOReader when you need to send more books.

Password Mismatch

If KOReader shows an authentication error, make sure the password in KOReader’s Calibre wireless settings matches exactly what you entered in BookShelves. The password is case-sensitive.

Books Not Appearing After Send

  • Give KOReader a moment to process the received file. On older e-ink devices, file operations can take a few seconds.
  • Check KOReader’s file browser — sent books appear in the default Calibre library folder on the device.

Reading Progress Not Updating

  • Progress syncs when KOReader connects, not continuously. Reconnect to pull the latest progress.
  • BookShelves matches books by author/title path. If the metadata differs significantly between devices, the match may fail. Ensure the book has the same title and author in both places.

What Formats Work?

BookShelves converts MOBI, AZW, AZW3, and PRC files to EPUB during import. When you send books via Calibre wireless, KOReader receives EPUB or PDF files — both of which it handles natively. No format issues to worry about.

What Is KOReader?

KOReader is a free, open-source ebook reader for e-ink devices. It runs on Kindle, Kobo, PocketBook, and Android, replacing the stock reading software with a feature-rich alternative. Its built-in Calibre plugin is what makes wireless sync with BookShelves possible — KOReader speaks the same protocol that Calibre desktop uses.

For a detailed comparison of KOReader and BookShelves, see BookShelves vs. KOReader.

Beyond KOReader

Any app or device that supports the Calibre Smart Device App protocol can connect to BookShelves’ wireless server. KOReader is the most common client, but the protocol is open and documented in Calibre’s source code.

For a complete overview of what BookShelves offers beyond device sync, see the full feature list.

Try BookShelves Free

A modern ebook reader for macOS and iOS with thousands of free classic books.

Last updated: March 16, 2026