Sync & Backup
Reading across multiple devices shouldn't mean losing your place. Readest keeps books, progress, highlights, and notes in step through several sync paths — you can use any of them on its own, or layer them.
Cloud sync
Sign in to a Readest account under Main Menu → Account. Once signed in, Sync toggles appear in the menu. Readest Cloud is enabled by default; to mirror your library to storage you control as well, or use personal storage without Readest Cloud, see Cloud storage providers.
Readest is open-source and self-hostable. If you want full control over sync storage, see the repo for setup details. The Supabase schema is documented on the wiki.
What syncs
Open Main Menu → Advanced Settings → Data Sync (or Account → Manage Sync from your profile) to control sync per category:
- Books — imported book files and library metadata.
- Reading progress — last-read position, bookmarks, and per-book preferences.
- Annotations — highlights and notes.
- App settings — theme, custom colors, integrations (KOSync, Readwise, Hardcover), and dictionary order.
- Fonts — custom font files you uploaded.
- Backgrounds — custom background textures.
- Dictionaries — imported dictionary bundles and settings (see Translate → Custom dictionaries).
- OPDS catalogs — saved catalog URLs (and, optionally, encrypted credentials).
- Audiobookshelf servers — saved server URLs, selected libraries, and (optionally) encrypted credentials.
- Credentials — tokens, usernames, and passwords for OPDS, KOReader, Readwise, Hardcover, Audiobookshelf, and WebDAV.
- Reading statistics — time spent and pages read, shared across your devices and with KOReader.
All categories are on by default except Credentials — that one is opt-in.
Sync with Koreader
If you also use Koreader (a popular reader for e-ink devices), you can sync reading progress between Readest and Koreader. There are two ways — pick the one that matches what you need:
Progress only (official KOSync server)
Uses the official KOReader Sync Server. Works for progress only.
In Readest:
- Open a book → Book Menu → KOReader Sync.
- Enter the server URL — defaults to
https://sync.koreader.rocks/. - Enter your username and password.
- Set Checksum method to File Content.
In Koreader:
- Tools → Progress sync.
- Enter the same URL, username, and password.
- Set Document matching to Binary.
Progress now syncs both ways. Bookmarks, highlights, and notes do not sync via this path — the official server supports progress only.
After connecting, Send Document Metadata optionally includes the filename, title, and authors with progress uploads. It is off by default and is mainly useful with a self-hosted server that displays document details.
Books + progress + notes (Readest Sync + plugin)
Uses a Readest account on both sides.
- Install the Readest KOReader plugin from the plugin page.
- Sign in to the same Readest account on both apps.
- In Koreader's Tools → Readest menu, do a manual Push / Pull to test connectivity.
- Turn on Auto sync once you've confirmed the pair works.
This path syncs book files, reading progress, bookmarks, highlights, and notes — your full library across Readest and Koreader.
The Koreader plugin menu (Tools → Readest) covers:
- Readest library — browse your full Readest library from inside Koreader. Cloud-only books are downloaded on tap; books already on disk are deduped by the same content hash Readest uses everywhere else.
- Push books now / Pull books now — manual book-file sync. Auto sync handles this in the background when enabled.
- Push / Pull reading progress now, Push / Pull annotations now, Full sync all annotations — per-book operations from the reader.
- Sync info — diagnostic dialog showing the book fingerprint, identifiers, and last-sync timestamp; useful when reporting sync problems.
From the Koreader FileManager, long-press a book and pick Add to Readest to upload an individual file without enabling full-library sync.
Reading statistics. Readest logs your reading time and pages read in a KOReader-compatible statistics database. With the Reading statistics sync category on (see What syncs), those totals sync across your Readest devices and stay in step with KOReader's own statistics.
The Readest Sync Server does not currently support backward syncing — if one device has a later progress mark, it won't regress even if another device tries to sync an earlier one. Override from the server if you need to.
Full setup guide: the Sync with Koreader devices wiki page.
Cloud storage providers
Prefer to keep your data on storage you control? Readest can sync your reading state — and optionally your book files — through WebDAV, Google Drive, OneDrive, iCloud Drive, or any S3-compatible bucket.
All providers appear in the Cloud Sync section under Settings → Integrations, with Readest Cloud enabled by default when you sign in. Provider checkboxes are independent: you can enable one provider or mirror the same library through several at once. Turning one on does not silently turn another off. App settings, reading statistics, and dictionaries still sync through your Readest account while you're signed in.
WebDAV
Point Readest at any WebDAV server (Nextcloud, ownCloud, a plain Apache/nginx WebDAV share, and the like).
- Open Settings → Integrations → WebDAV.
- Enter your Server URL (e.g.
https://dav.example.com), Username, and Password. Optionally set a Root Directory (defaults to/). - Tap Connect. Readest keeps everything under a
Readest/folder inside that directory.
Google Drive
Sync to your own Google Drive instead — available on the desktop apps, Android, and iOS (and the official web app).
- Open Settings → Integrations → Google Drive.
- Tap Connect and sign in through your browser. Readest only ever touches the files it creates, in a private per-app folder — it can't see the rest of your Drive.
- Leave the provider's checkbox on to include it in library sync.
OneDrive
Connect a personal Microsoft OneDrive account from Settings → Integrations → OneDrive. Sign in through the browser, then leave the provider checkbox on. Like Google Drive, Readest works inside its own application folder rather than browsing the rest of your files.
iCloud
On macOS, iPhone, and iPad, Settings → Integrations → iCloud uses the signed-in device's iCloud Drive. Open the row to confirm availability, then enable its checkbox. It is not shown on unsupported platforms.
S3-compatible storage
Bring your own bucket — AWS S3, Cloudflare R2, MinIO, or anything else that speaks the S3 API.
- Open Settings → Integrations → S3 Storage.
- Enter the Endpoint (e.g.
https://<account-id>.r2.cloudflarestorage.com), Bucket, Access Key ID, and Secret Access Key. Region defaults toauto. - Tap Connect and leave the provider checkbox on.
The bucket must already exist, and the credentials need read/write access to it. In the web app, the bucket's CORS policy must also allow the site's origin.
Shared options
All providers share the same controls:
- Reading progress, location, highlights, and notes sync both ways automatically, along with book tags and reading status. Book covers are always synced (they're small).
- Upload Book Files (opt-in) — have this device contribute the actual EPUB/PDF files. Books already in the cloud are downloaded regardless, so one device can seed the library and the rest pull it down.
- Full Sync — re-check every book instead of only the ones that changed, for when things drift out of step.
- Sync Strategy sets the direction: Send and receive (two-way, the default), Send only, or Receive only.
Use Sync now for an immediate pass; each panel shows when that provider last synced. In a book's Book Menu → Sync Info, Readest lists a separate timestamp or failure state for every enabled provider, which makes it clear which copy is keeping up.
Audiobookshelf
Connect a self-hosted Audiobookshelf server to stream its audiobooks and podcasts through Readest:
- Open Settings → Integrations → Audiobookshelf and choose Add Server.
- Enter the server's HTTP(S) URL, username, and password, then tap Connect. You can add more than one server.
- Open the connected server and turn on the book or podcast Libraries to Sync.
- Tap Sync Now. Titles from those shelves appear in your Readest library and stream from the server when opened.
Playback progress is sent back to Audiobookshelf. To read an ebook along with its narration, pair the synced audiobook from Book Menu → Pair Audiobook; see Listen → Pair an audiobook.
Removing a server stops any active stream from it and removes that server's imported shelf from Readest. It does not delete media from the Audiobookshelf server.
Readwise export
Readest can push highlights and notes to Readwise.
- Book Menu → Readwise Sync.
- Paste your Readwise access token.
- Tap Push Highlights to send all new highlights automatically to Readwise.
Exports include the book title, author, chapter, quote, note, and source link back into the Readest book.
Hardcover tracking
Hardcover tracks what you're reading, rating, and finishing. Readest can update Hardcover automatically.
- Book Menu → Hardcover Sync.
- Paste your Hardcover API key.
- Match each book in your library to a Hardcover title (done by ISBN where possible, manually otherwise).
- Toggle Enable for this book per book.
When the toggle is on, you can push progress and notes as you read to Hardcover.
Backup & restore
Even with cloud sync on, a local backup is a good idea for heavy annotators.
- Export annotations — from the Book Menu (per-book). See Reading → Highlights & notes for export formats.
- Export library data — under Main Menu → Advanced Settings → Backup & Restore, export a zip file of your library: book files, metadata, reading status, groups, highlights, notes, and your app settings.
To restore on a new device, import the backup zip file. It restores your library and reading data, and merges the saved settings onto whatever this device already has (fields the backup doesn't carry keep their current values). Cloud sync, if you use it, re-aligns everything automatically after restore.