# Connect Calibre, Calibre-Web, BookOrbit and KOReader sync to SoundLeaf for Audiobookshelf ebooks

> You don't need Calibre to read in SoundLeaf. Connect Calibre, Calibre-Web or BookOrbit to find matching EPUBs, and KOReader sync to keep your place.

Source: https://soundleafapp.com/docs/calibre-and-koreader/
Published: 2026-10-18

---

You don't need Calibre to read in SoundLeaf. If your Audiobookshelf book already has an EPUB, the [ebook reader](https://soundleafapp.com/docs/ebook-reader/) opens it with nothing else to set up.

Connect Calibre, Calibre-Web, Calibre-Web Automated or BookOrbit when your ebooks live there instead. SoundLeaf reads that server's catalog, lets you pick the EPUB that goes with an audiobook, and downloads it for offline reading and Read Along. KOReader sync is a separate connection that keeps your reading place in step with KOReader and other apps that use it.

All of these are optional and free. They live in **Settings** > **Integrations**, under Connections.

## Which one should I connect?

| You use | Pick | Can it save your reading place? |
|---|---|---|
| The Calibre desktop app, sharing books through its Content server | **Calibre** > **Calibre Content Server** | Yes, when you sign in |
| Calibre-Web, hosted on its own | **Calibre** > **Calibre-Web** | No. Add **KOReader sync** for that |
| Calibre-Web Automated | **Calibre** > **Calibre-Web Automated** | Yes, through its built-in KOReader sync |
| BookOrbit | **BookOrbit** | Yes |
| KOReader on an e-reader, or any KOReader sync server | **KOReader sync** | Yes, for every EPUB in SoundLeaf |

You can keep Calibre and BookOrbit connected at the same time. Each connection belongs to the Audiobookshelf account you were signed in to when you added it, so with [several accounts](https://soundleafapp.com/docs/multiple-accounts/) you set it up once per account.

## How do I connect Calibre or Calibre-Web?

1. Open **Settings** > **Integrations** > **Calibre**.
2. Choose the **Server type**: Calibre Content Server, Calibre-Web or Calibre-Web Automated.
3. Type the **Server address**, for example `https://books.example.com`. Don't put a username or password in the address.
4. Enter your **Username** and **Password**, or turn on **Connect anonymously** if your server allows guests.
5. Tap **Connect**. Your connection details and **Browse catalog** appear.

For the Calibre desktop app, start sharing first with **Connect/share** > **Start Content server** in Calibre. Sign in if you want your reading place saved: Calibre only saves positions for a signed-in user.

Once connected, the page shows whether the server is reachable, a **Browse catalog** button, and **Disconnect**. Disconnecting keeps the ebooks you already downloaded and your reading history on the device.

## How do I connect BookOrbit?

1. Open **Settings** > **Integrations** > **BookOrbit**.
2. Type the **Server address**, then your BookOrbit **Username** and **Password**.
3. Tap **Connect**.

BookOrbit needs a username and password. An account that only signs in through another service, with no BookOrbit password, won't work.

## How do I find the ebook for an audiobook?

With one catalog connected, a book that has no EPUB on Audiobookshelf shows **Find ebook** on its page. Tapping **Read** does the same thing.

1. Open the audiobook and tap **Find ebook** (on its **Read Along** tab, or tap **Read**).
2. SoundLeaf searches your catalog for the title. With one clear match it downloads it for you, and you're done. With several, it says "Found 3 ebooks with this title. Choose one." With none, it says "No ebook found for this title. Search or browse your catalog."
3. If SoundLeaf asks you to choose, pick the right edition and choose **Use and download EPUB**.

To swap an ebook later, open the book's menu and choose **Ebook options**. From there you can **Change ebook**, go back to the copy on your server with **Use Audiobookshelf ebook**, remove the download, or **Unlink ebook**. Unlinking removes the link and the local copy but keeps your reading history.

If you unlinked this book's ebook before, or switched it back to the Audiobookshelf copy, SoundLeaf won't search again on its own. Use **Ebook options** > **Choose ebook** to pick a catalog copy.

If you connect both Calibre and BookOrbit, SoundLeaf doesn't search on its own either. Open the book's menu, choose **Ebook options** > **Choose ebook** (**Change ebook** once one is linked), pick Calibre or BookOrbit, and choose the ebook from that catalog.

Only EPUB files open in the reader. A PDF or MOBI from your catalog can't be used.

## What gets synced?

These connections sync your reading place.

- **Calibre Content Server** saves your place to Calibre as you read, when you are signed in and **Save your place to Calibre** is on.
- **Calibre-Web Automated** saves your place through its KOReader sync, when an admin has turned that on. As the Calibre page in SoundLeaf notes, Calibre-Web Automated can also mark a book read when you finish it, and may send your progress to Hardcover, depending on how your server is set up.
- **BookOrbit** keeps your place in sync. BookOrbit may also update other things on its side, such as the book's read status.
- **Calibre-Web** can't save reading positions. Connect **KOReader sync** as well if you want your place saved.

Calibre Content Server, Calibre-Web Automated and BookOrbit each have a **Save your place to ...** switch under **Reading progress** on their page. Turning it off stops syncing with that catalog only. If KOReader sync is connected, it keeps saving your place there.

Your progress in the audiobook itself still syncs with Audiobookshelf as usual. See [how progress syncs](https://soundleafapp.com/docs/progress-sync/).

## How do I set up KOReader sync?

KOReader sync works for every EPUB you read in SoundLeaf, including the ones that come straight from Audiobookshelf.

1. Open **Settings** > **Integrations** > **KOReader sync**.
2. Leave the **Server address** as `https://sync.koreader.rocks`, KOReader's own public server, or type the address of your own sync server.
3. Enter the **Username** and **Password** you use for progress sync in KOReader.
4. Tap **Connect**.

SoundLeaf only signs in. It doesn't create an account, so register one in KOReader first.

KOReader sync matches books by the file itself. Use the same EPUB file in SoundLeaf and KOReader, and in KOReader's progress sync settings set the document matching method to **Binary**. Two different copies of the same book won't share your place.

If you use the public server, your reading positions are stored there. Run your own sync server if you'd rather keep them at home.

**Disconnect** leaves the positions already on the server where they are. SoundLeaf just stops sending and reading them.

## What happens when two devices have a different place?

When you open an ebook and another device has saved a newer place, SoundLeaf asks instead of jumping. The message names the source, for example "Kobo Libra 2 has a newer place, saved 2 hours ago." or "Your place changed in BookOrbit."

- **Continue from there** moves you to the other device's page.
- **Stay here** keeps your page in SoundLeaf.
- **Leave sync paused** appears when the other place can't be opened in this EPUB. Nothing moves until you choose.

If this happens while you are listening with the reader closed, SoundLeaf keeps your local place and waits for you to open the book and choose.

## Error messages and how to fix them

### "This address did not return a supported ebook catalog."

The address answers, but not with a catalog SoundLeaf can read. Check the address in a browser on the phone. For Calibre, make sure the Content server is running. For Calibre-Web, use the address you open its web page with.

### "Enter an HTTP or HTTPS catalog address without a username or password in the address."

Start the address with `http://` or `https://`, and type the username and password in their own fields, not in the address.

### "This address is a Calibre Content Server. Choose Calibre Content Server as the server type."

You picked Calibre-Web, but the server is the Calibre desktop app's Content server. Change **Server type** and connect again. The opposite message, "This address is a Calibre-Web server, not a Calibre Content Server.", means pick **Calibre-Web** or **Calibre-Web Automated** instead.

### "The catalog requires working credentials. Reconnect in Settings → Integrations."

The username or password stopped working, or the server needs a sign-in you didn't give. Disconnect, then connect again with the right details.

### "The catalog refused this download. Check this user's download permission."

Your catalog account can browse but isn't allowed to download. Ask whoever runs the server to give the account download permission.

### "The download is not a complete, supported EPUB."

The file is damaged, cut short, or isn't really an EPUB. Try downloading it again. If it keeps failing, open the file on a computer, or pick another copy of the book.

### "This selection has no readable EPUB."

That catalog entry only has other formats, such as PDF or MOBI. Convert it to EPUB in Calibre, or choose another edition.

### "The catalog sent a link to another server. Use its direct catalog address."

The catalog sent SoundLeaf to a different server. Ask whoever runs it for the direct catalog address, and use that.

### "Calibre-Web cannot save reading positions."

SoundLeaf can't save your place directly to Calibre-Web. Connect **KOReader sync** to save your place for those ebooks.

### "This Calibre account is read-only, so Calibre cannot save the reading position."

Your Calibre user can read but not make changes. In Calibre's Content server settings, give that user permission to make changes, or sign in with a different user.

### "Calibre saves reading positions only for a signed-in user."

You connected anonymously. Disconnect, then connect again with a username and password.

### "KOReader sync is off on this server. An admin can turn it on in Calibre-Web Automated settings."

Calibre-Web Automated has its own KOReader sync, and it is turned off. Ask the server admin to turn it on, then open the ebook again.

### "The KOReader sync server did not accept this username and password."

Check the details match the account you use in KOReader. Disconnect and connect again.

### "BookOrbit requires username and password sign-in for this connection. OIDC-only sign-in is not supported."

This means your BookOrbit account signs in through another service and has no BookOrbit password. SoundLeaf signs in to BookOrbit with a username and password. Ask the BookOrbit admin to allow password sign-in, make sure your account has a password, then connect again.

### "BookOrbit refused access. Check this user's library permissions."

The BookOrbit user can't see that library. Change the user's library access in BookOrbit.

### "Your place changed in BookOrbit. Open this ebook to choose where to continue."

Another device moved your place while SoundLeaf was saving its own. Your local place is kept. Open the ebook and choose **Continue from there** or **Stay here**.

### "Another reading position needs attention. Open the ebook to choose your place."

Another app or device saved a different place for this ebook. Open the ebook and choose which place to keep.

### "This reading position is longer than BookOrbit can save. Your place stays on this device."

BookOrbit can't store this particular position, so it won't sync there. Keep reading: your place is saved on this device.

### "Save an Audiobookshelf account before connecting an ebook catalog."

Sign in to your Audiobookshelf server first. Ebook connections are tied to an Audiobookshelf account. See [getting started](https://soundleafapp.com/docs/getting-started/).
