Syncing KOReader on Kindle with Readest on iPhone

KindleKOReaderReadestCalibre
30 Oct 2026

Jailbreaking a Kindle Paperwhite, installing KOReader and syncing reading progress with Readest on iPhone, without Amazon.

The goal

I wanted to read an EPUB on my Kindle and then carry on listening to it on my iPhone with text-to-speech, picking up from the same place, without relying on Amazon.

A stock Kindle only syncs positions through Amazon's cloud. So the setup is:

Checking the model and firmware

Turn on Airplane Mode straight away. If the Kindle connects to Wi-Fi it can install a firmware update in the background, which could close the jailbreak window.

Then find the exact model and firmware version

Settings → Device Options → Device Info

Mine is a Paperwhite Signature Edition (11th gen, also known as PW5) on firmware 5.19.2.

Jailbreak methods are published on kindlemodding.org and each one covers a specific range of firmware versions. When I did this the options were

Note: Amazon patches these exploits regularly, so check the current status for your firmware before starting.

Preventing automatic updates

SpiderCat needs Wi-Fi to run, so the Kindle needs to be stopped from downloading an update while it's online. The way to do this is to fill the storage until there is no room for an update.

The prevent auto-update guide has a script for this, but it doesn't support 11th generation and newer Kindles. Instead the filler files have to be copied over manually until only 50–90 MB is free.

On my Mac the Kindle showed up as a drive, so I could copy files to it directly and eject it afterwards.

First check the root of the Kindle for any file named update…bin or update.bin.tmp.partial and delete it, as that would be an update which has already started downloading.

Download the filler files that match your Kindle's storage (mine is 32 GB, showing 29.32 GB capacity) and unzip them.

Note: the extracted files take up about as much space as the Kindle's storage, so make sure the Mac has enough free disk space to unzip them.

Create a fill_disk folder on the Kindle and copy the large files into it, then add the smaller ones a few at a time until you reach 50–90 MB free.

Note: copying 28 GB to the Kindle is slow and can't be sped up by duplicating files on the Kindle itself. Drag all the large files in one go and leave it running.

Jailbreaking with SpiderCat

Follow the SpiderCat guide exactly, as it's kept up to date. The general steps are

  1. Download the SpiderCat file and copy it into the Kindle's documents folder
  2. Eject the Kindle and turn off Airplane Mode so Wi-Fi is on
  3. Open the SpiderCat book from the library, it may show a blank page for a while
  4. Keep Wi-Fi on and wait until it says the final step is complete

SpiderCat blocks updates once it's finished and also installs KPM (Kindle Package Manager). Once the jailbreak is done, delete the fill_disk folder to get the storage back.

If you need to restart the Kindle at any point, swipe down and go to All Settings → Device Options → Restart, or hold the power button until the power menu appears.

Installing KOReader

KOReader can be installed using the package manager, the "What's Next" pages on kindlemodding.org walk you through it.

KOReader then appears in the Kindle library, and books bought from Amazon still open in the normal Kindle reader. EPUBs, however, need to be opened in KOReader, as it's the only part that talks to the sync server.

A few settings that make it nicer to use day to day

Note: the bottom menu (font, margins, line spacing etc.) only exists when a book is open. Tap slightly above the bottom edge in the middle, tapping the status bar itself just cycles what it shows.

Organising books with Calibre

KOReader reads EPUB, so there's no need to convert books to MOBI any more. Keeping the same EPUB on both devices is also what makes sync work reliably.

A separate books folder

Rather than using Amazon's documents folder I created a books folder at the root of the Kindle, then in KOReader's file browser long pressed it and chose Set as HOME folder.

Switching the file browser to the cover (Mosaic) display mode makes it feel more like a library.

Sending books wirelessly

Sending books from Calibre over Wi-Fi avoids copying over the cable.

In Calibre

Connect/share → Start wireless device connection

and under Configure this device

In KOReader

Tools → Calibre → Wireless settings → Inbox folder

set to the books folder, then connect with

Tools → Calibre → Connect

It should find Calibre automatically, if not enter the Mac's address and port 9090 in the wireless settings.

The format isn't set in Calibre's device dialog, KOReader tells Calibre which formats it accepts. When a book has an EPUB that's what gets sent, which you can confirm by checking the file extension in the books folder.

Then just use Send to device → Send to main memory as usual.

Adding books to Readest on iPhone

iPhones don't show up as a device in Calibre, so books can't be sent directly. The best option is Calibre's content server, which Readest can browse over OPDS.

In Calibre

Connect/share → Start Content server

and to have it always available

Preferences → Sharing over the net → Run server automatically when calibre starts

Then in Readest add an OPDS catalog with the address

http://Your-Mac-Name.local:8080/opds

Using the Mac's local hostname (found in System Settings → General → Sharing) rather than its IP address means it keeps working when the IP changes. The alternative is a DHCP reservation on the router.

Note: for a one-off book you can also AirDrop the EPUB to the iPhone, or save it into an iCloud Drive folder, and use + → Import from Files in Readest.

Syncing progress

The official KOReader sync server was down when I tried to register (Cloudflare error code: 522), so I looked for an alternative. kosync.eu was recommended but I couldn't log in to it (Invalid CSRF token), so I ended up using

https://sync.techy-notes.com

First impressions are really good, there's a nice interface to see the synced books, their progress and the connected devices.

On the Kindle

Open a book in KOReader then

Tools → Progress sync → Custom sync server

enter https://sync.techy-notes.com, then register or log in and turn on Auto sync.

Note: Wi-Fi needs to be on for sync to happen. Progress is pushed when you close the book or the Kindle goes to sleep.

On the iPhone

In Readest's settings find KOReader Sync, enter the same server address and log in with the same account.

How books are matched

The sync protocol never sends a book's title or author, only a document ID (a hash of the file by default) along with the position, percentage and device name. So it's expected that the server's dashboard doesn't show a correct title or author for synced books.

What matters is both apps produce the same ID for the same book

Calibre can write slightly different metadata into each copy it sends. If that happens, switch both KOReader and Readest to match by filename instead, and make sure the file has the same name on both devices.

Testing it

Read a few pages on the Kindle and close the book, then open it in Readest, it should jump to the same position. Then try the other way round.

Note: community sync servers are run by individuals with no guarantees. If one disappears you only lose the sync positions, not the books, and you can switch server at any time.

Text-to-speech in Readest

Readest's default voice is quite mechanical, but it can use the better Enhanced and Premium voices built into iOS once they're downloaded

Settings → Accessibility → Spoken Content → Voices

Then in Readest, change the voice by tapping the cover on the mini player. So far the Jamie (Premium) voice seems to be the best option, and it works pretty well.

This is definitely something to look into further. I'm wondering whether a Readest premium account would be worth it for the better voices, or whether I could sync a real audiobook to the EPUB somehow (something like Storyteller might do this).

Resources

Jailbreaking

Apps

Sync