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 the default sync provider — to sync your library to storage you control instead, see WebDAV, Google Drive & S3.
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).
- Credentials — tokens, usernames, and passwords for OPDS, KOReader, Readwise, Hardcover, 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.
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.
WebDAV, Google Drive & S3
Prefer to keep your data on storage you control? Readest can sync your reading state — and optionally your book files — to a third-party cloud: a WebDAV server you run, your own Google Drive, or any S3-compatible bucket.
All providers live in one chooser under Settings → Integrations → Cloud Sync, with Readest Cloud as the default. Exactly one provider is active at a time, and it owns library sync: while a third-party provider is active, your books, reading progress, and annotations sync only there. App settings, reading statistics, and dictionaries still sync through your Readest account while you're signed in.
Open a provider row to connect it, then tap Use WebDAV / Use Google Drive / Use S3 to make it the active provider — activating one switches the previous one off.
WebDAV
Point Readest at any WebDAV server (Nextcloud, ownCloud, a plain Apache/nginx WebDAV share, and the like).
- Open Settings → Integrations → Cloud Sync → 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 → Cloud Sync → 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.
- Once connected, tap Use Google Drive to make it the active provider.
S3-compatible storage
Bring your own bucket — AWS S3, Cloudflare R2, MinIO, or anything else that speaks the S3 API.
- Open Settings → Integrations → Cloud Sync → 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, then Use S3 to make it the active provider.
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; the panel shows when it last synced — handy to screenshot when reporting a sync problem.
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.