Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Plugins

Notices

Reply
 
Thread Tools Search this Thread
Old 10-22-2026, 10:15 PM   #1
CalibReader_
Member
CalibReader_ began at the beginning.
 
Posts: 20
Karma: 10
Join Date: Oct 2026
Device: tablet
[GUI Plugin] CalibReader Sync

CalibReader Sync

Brings what you do in the CalibReader app on iPhone or iPad back into your calibre library: read/unread, % read and the date you last read each book.

I'm the developer of CalibReader, an EPUB and PDF reader for iPhone, iPad and iPhone Duo that reads your calibre library from your own storage: Dropbox, OneDrive, iCloud Drive, a NAS over SMB, or a folder on the device. This plugin is its desktop half. The plugin is free; it is only useful together with the app, which is paid (3 books free, then $9.99 once).

The app is available on the app store now:
https://apps.apple.com/us/app/calibr...r/id6777391511

What it does
The app keeps two small files in your library folder: CalibReader_sync.json (read/unread) and CalibReader_positions.json (where you are in each book). Once they have synced to the library folder on your computer, click Sync Read Status in calibre. The plugin:
  • reads both files from the library that is currently open, and matches books by calibre UUID
  • sets your read column for each matching book: a Yes/No column you choose in Settings, or #read_status by default
  • writes % read and last read into columns you choose in Settings; books under 1% read are skipped, so opening a book to look at it doesn't count
  • reports how many books it updated, how many entries it left alone, and how many books aren't in this library
It has no network access and changes no column other than your read column and the ones you chose. It writes to CalibReader_sync.json only to pass a newer calibre read status back to the app.

Nothing changes without you knowing
The first time it writes into a column you chose, it asks first and tells you how many empty cells it will fill and how many filled cells it will change. Say No and nothing is written. Change log... (in the button's menu) lists every value it wrote and the value it replaced. If your chosen column is deleted or renamed, it stops writing read status and tells you why, instead of falling back to another column.

Use the columns you already have
Settings (the arrow next to the button) lets you pick an existing Yes/No column for read status (#read, #finished, whatever you already use). It only suggests columns that are clearly a read flag, and it never picks one for you. For progress it suggests existing columns that mean the same thing, such as Kobo Utilities' Percent Read or KOReader Sync's progress column. Integer (0-100) and percentage-formatted floating point columns both work. Or click Create column... and confirm it in calibre's own column dialog. The settings are saved in the library, so they follow it to other computers.

Conflicts
Every entry carries its own timestamp. The plugin remembers, per book and per library, what it last applied (in its own preferences, not in your library), so an old entry can't apply twice, and a change you make to a book in calibre after the app's entry is not overwritten.

Setup
1. Install: Preferences > Plugins > Get new plugins and search for "CalibReader Sync", or download the zip attached to this post and use Load plugin from file. Restart calibre.
2. For read status, pick a Yes/No column you already have in Settings, or create one: Preferences > Add your own columns > Add custom column. Lookup name: read_status. Column heading: Read Status. Column type: Yes/No. Restart calibre.
3. For reading progress, open Settings from the arrow next to the button, pick or create the columns, then restart calibre if you created any.
4. Optional: Preferences > Toolbars & menus, and add "Sync Read Status" to the main toolbar.
5. Open the same library folder in calibre that the app reads.
If a column or a file is missing, the plugin says what to do.

Compatibility
  • calibre 9.0 or later; tested on calibre 9.14 (macOS) and 9.16 (Windows)
  • Windows, macOS, Linux
  • the CalibReader app on iPhone, iPad or iPhone Duo

Limitations
  • Read status goes both ways: the app picks up calibre's read status when it syncs, and the newer change wins. % read and last read go from the app to calibre only.
  • The iPhone/iPad app reads your read status from your chosen column when it opens the calibre library directly (NAS, Dropbox, OneDrive, iCloud Drive/Files). Libraries opened through calibre's Content Server, and the Android app, still use #read_status for now.
  • It syncs by itself when calibre starts, when you open a library, and when the app's files change (checked every 5 minutes), with a short status-bar note and no pop-ups. The button syncs on demand, and Settings turns the automatic sync off.
  • It works on the library that is currently open.

Links
Source: https://github.com/mklod/calibReader...eDesktopPlugin
Help page: https://calibreader.com/help/plugin
The app: https://calibreader.com
Questions about the plugin are welcome in this thread.

License
GNU GPL v3.

CalibReader is an independent app and is not affiliated with calibre.

Version History
Spoiler:

1.3.1, 2026-11-02
- Choose your own read column: any Yes/No column (#read, #finished...), picked in Settings. Settings only suggests columns that are clearly a read flag and never picks one for you.
- The first sync into a column you chose asks first, with the number of cells it will fill or change. No writes nothing.
- If your chosen column is gone (deleted, renamed, or calibre not restarted after creating it), read status isn't synced and the sync says why. It never falls back to #read_status behind your back. Everything else still syncs.
- New Change log...: every value written into your library, with the value it replaced.
- A bare "read" mark from the Android app is applied once, so a cell you cleared in calibre isn't refilled each time the phone uploads. (On the first 1.3.1 run, such a cell can be set back once per book; the change log records it.)
- Switching columns no longer sends calibre's old value back to the phone because of an unrelated edit (a rating, for example).
- The plugin's memory is kept per library, so copies of a library don't mix.

1.2.5, 2026-10-21
- Automatic sync: when calibre starts, when a library opens, and when the app's files change. A status-bar note, no pop-ups; a Settings switch, on by default.

1.2.4, 2026-10-21
- Read status stays in step both ways: a read status you change in calibre after the app's change is passed back to the app.

1.2.3, 2026-10-21
- Read status: an unrelated calibre edit (a rating, a tag) no longer drops a newer read mark from the app.

1.2.2, 2026-10-21
- If the library has no #read_status column but already has a Yes/No read column (#read, #finished...), the summary and Settings show how to copy it over once.

1.2.1, 2026-10-21
- calibre's command-line tools and server no longer load the plugin's GUI code (the toolbar action moved to its own module). No change to what a sync does.
- Tested on calibre 9.16.

1.2.0, 2026-10-12
- % read and last read go into columns you choose, from CalibReader_positions.json. Books under 1% read are skipped (adjustable).
- New Settings dialog with suggested columns and Create column; settings are saved in the library.
- #read_status must be a Yes/No column; a missing one no longer stops reading progress from syncing.
- Fixes: a late read-status entry could be skipped as if the book had been edited in calibre; installing over 1.1.x failed until calibre restarted.

1.1.1, 2026-10-09
- GPL v3 licence. Requires calibre 9.0 or newer.

1.1.0, 2026-09-15
- Each sync-file entry now has its own timestamp; older files are still read.
- Old entries no longer re-apply, and a change made in calibre is not reverted by the next sync.
- The result dialog also reports skipped entries.

1.0.0, 2026-06-09
- First release.
Attached Files
File Type: zip CalibReaderSync-1.3.1.zip (62.4 KB, 47 views)

Last edited by CalibReader_; Yesterday at 10:47 PM.
CalibReader_ is offline   Reply With Quote
Old 10-23-2026, 02:50 AM   #2
CalibReader_
Member
CalibReader_ began at the beginning.
 
Posts: 20
Karma: 10
Join Date: Oct 2026
Device: tablet
Reserved for test versions.
CalibReader_ is offline   Reply With Quote
Advert
Old 10-27-2026, 06:51 PM   #3
CalibReader_
Member
CalibReader_ began at the beginning.
 
Posts: 20
Karma: 10
Join Date: Oct 2026
Device: tablet
The CalibReader iOS app is now available on the App Store: https://apps.apple.com/app/id6777391511
CalibReader_ is offline   Reply With Quote
Old 10-28-2026, 02:52 AM   #4
GlennD
Wizard
GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.
 
Posts: 2,135
Karma: 17500000
Join Date: Feb 2009
Location: The Pacific NW
Device: sony PRS350, iPhone, iPad
I'm leaning towards Yomu, but saw your posts and gave calibreader a quick try. I tried to load a book from Dropbox...I could browse into my calibre library and into an author folder, and it just sits there with a spinny cursor and never shows the book subfolders.

I get that it's a early version of the reader, but difficulty adding a book is going to drive people away very quickly. And, one of the features I really like about Yomu is the ability to access my Calibre server directly. Hopefully that's a feature you're planning to add.
GlennD is offline   Reply With Quote
Old 10-28-2026, 03:44 AM   #5
CalibReader_
Member
CalibReader_ began at the beginning.
 
Posts: 20
Karma: 10
Join Date: Oct 2026
Device: tablet
Thanks for trying it, Glenn.

One thing that may be the issue: in the file picker, the screen showing ALL your author folders (with metadata.db among them) is the folder you should select. Tap Open on that screen (there's no need to go into an author folder). It's step 2 here, with a screenshot: https://calibreader.com/help/setup

I reproduced your issue on my own device when I select a specific author folder rather than the parent LIBRARY folder, and we'll fix it in the next update.

Regarding the server: if your library is already in Dropbox, CalibReader can read it from there, with no server needed. What is your current server setup?

Last edited by CalibReader_; 10-28-2026 at 03:47 AM.
CalibReader_ is offline   Reply With Quote
Advert
Old 10-28-2026, 04:52 PM   #6
GlennD
Wizard
GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.
 
Posts: 2,135
Karma: 17500000
Join Date: Feb 2009
Location: The Pacific NW
Device: sony PRS350, iPhone, iPad
I'm probably an odd duck and from what I can see your app probably doesn't fit me too well. It may be ideal for other people.

I got the connection with dropbox working. It spent close to 40 minutes syncing up before giving me the option to download the whole library or just the metadata (I chose the metadata). Then it took another chunk of time to sync the covers, and currently says it is "checking books". All of these happening on a library of 3000 books just takes a ton of time.

I run calibre server on my home computer, where I can access it from my iphone and ipad as long as I'm at home. I can also grab books from dropbox if needed when I'm out and about.

The other thing that makes this less ideal for my setup specifically is that I manually copy my calibre library to dropbox. I don't run calibre pointed at my dropbox folders, to eliminate database problems when dropbox syncs. Then I manually kick off a robocopy script that mirrors my "live" library to dropbox. That would remove any extra files your app would be putting into the dropbox copy.

Really, I just want to connect quickly, grab my books, and be done. This feels overly complex for my preferences.
GlennD is offline   Reply With Quote
Old 10-28-2026, 05:35 PM   #7
CalibReader_
Member
CalibReader_ began at the beginning.
 
Posts: 20
Karma: 10
Join Date: Oct 2026
Device: tablet
Thanks Glenn, this is helpful feedback.

"connect quickly, grab my books, and be done" is precisely what CalibReader is meant to do. Forty minutes before it even asks is an unacceptable bug, not the design, and I'm working on a fix right now.

Regarding the robocopy mirror:CalibReader keeps a small sync file in the library folder, and a mirror run wipes it. I'm adding a way to keep that on the device instead, so a read-only copy like yours just works.

I'll post here as soon as the fix is out. In the meantime:

Roughly how big is your 3k book library, in terms of space?
Do you run the 'official' calibre content server (https://manual.calibre-ebook.com/server.html) ?
Do you just use the dropbox mirror as a sort of personal backup?
CalibReader_ is offline   Reply With Quote
Old 10-28-2026, 06:49 PM   #8
GlennD
Wizard
GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.GlennD ought to be getting tired of karma fortunes by now.
 
Posts: 2,135
Karma: 17500000
Join Date: Feb 2009
Location: The Pacific NW
Device: sony PRS350, iPhone, iPad
Quote:
Originally Posted by CalibReader_ View Post

Roughly how big is your 3k book library, in terms of space?
Do you run the 'official' calibre content server (https://manual.calibre-ebook.com/server.html) ?
Do you just use the dropbox mirror as a sort of personal backup?
- Around 9.5GB. It does have a few large-ish (200-300MB) files in it since I made an attempt to use it for comic books briefly.
- yes
- Yes. Dropbox and "live" databases like Calibre don't play nice. The dropbox copy is a backup (of course) and I also use it for remote access occasionally. Calibre never connects directly to the dropbox copy.
GlennD is offline   Reply With Quote
Old 10-28-2026, 08:27 PM   #9
CalibReader_
Member
CalibReader_ began at the beginning.
 
Posts: 20
Karma: 10
Join Date: Oct 2026
Device: tablet
Thanks for the response. I did reproduce your issue, and I'm working on it right now.

Re: library sources, I ran my calibre library straight out of Dropbox for a while (which I'm well aware calibre's own FAQ warns against but that's a separate and long debated topic). I now use my own dropbox replacement, SMB on a NAS, which is really quite comparable to calibre server.

For sync updates when you are away from your home network, you can use Tailscale (as I do) to connect to the same SMB share or calibre server. Its a simple and free secure connection layer that removes the need for stacking dropbox on top of your server as a workaround. I'll make a full writeup on this later. It's a piece of cake if you were able to setup calibre server.

Anway, Dropbox is not your primary library source, so I'm building for exactly what you do:
  • Calibre server support: CalibReader finds your content server on your Wi-Fi, shows your whole library in a second or two, and downloads books as you tap them. Read status will go back to calibre through the server (*if the account you use is allowed to edit*)
  • Away from home: put Tailscale on your calibre PC and your iPhone/iPad, and CalibReader can reach your calibre server from anywhere. No port forwarding and no Dropbox needed. The app will take your server's Tailscale name and switch to it automatically when you're out.
  • For users with Dropbox as a library source, the next update shows the library in about a minute.

I'll post an update here when the software updates are live.
CalibReader_ is offline   Reply With Quote
Old Yesterday, 07:17 AM   #10
enuddleyarbl
Guru
enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.
 
enuddleyarbl's Avatar
 
Posts: 900
Karma: 2111023
Join Date: Sep 2013
Device: Kobo Sage
Is there a setting for syncing different apple devices to different sets of custom columns (performing the same function as KoboUtilities' Devices and Profiles tab)?
enuddleyarbl is offline   Reply With Quote
Old Yesterday, 05:50 PM   #11
CalibReader_
Member
CalibReader_ began at the beginning.
 
Posts: 20
Karma: 10
Join Date: Oct 2026
Device: tablet
Quote:
Originally Posted by enuddleyarbl View Post
Is there a setting for syncing different apple devices to different sets of custom columns (performing the same function as KoboUtilities' Devices and Profiles tab)?
Not today. CalibReader keeps one reading place per book that follows you between your iPhone and iPad (start on one, carry on with the other), so the plugin writes a single set of columns: read status, % read and last-read date. Profiles per device like Kobo Utilities' are a neat idea, though.

What would you use separate columns per device for?
CalibReader_ is offline   Reply With Quote
Old Yesterday, 06:57 PM   #12
CalibReader_
Member
CalibReader_ began at the beginning.
 
Posts: 20
Karma: 10
Join Date: Oct 2026
Device: tablet
Quote:
Originally Posted by GlennD View Post

I run calibre server on my home computer, where I can access it from my iphone and ipad as long as I'm at home. I can also grab books from dropbox if needed when I'm out and about.

Really, I just want to connect quickly, grab my books, and be done. This feels overly complex for my preferences.

Update, as promised: CalibReader 1.0.3 is now on the App Store.
https://apps.apple.com/us/app/calibr...r/id6777391511

(For people who do use Dropbox as their primary calibre library source, the issue with Dropbox initial sync should be resolved - it is much faster and smoother.)

For GlennD, and others who use calibre Content server:
You can now point CalibReader straight at your calibre Content Server: ⋯ > Sync source > calibre Content Server, enter your server's address, and your whole library is there in a flash.

Away from your home network, it works over Tailscale (optional). I've put the steps here:
https://calibreader.com/help/tailscale

Using Tailscale means your existing calibre Content server is always reachable for downloading books and syncing your library.

Cross-device reading position sync already works for any cloud folder or NAS, and is being added for calibre Content server in the next update.
CalibReader_ is offline   Reply With Quote
Old Yesterday, 08:44 PM   #13
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 85,515
Karma: 154365185
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Can you make this so we can sync the reading position to a Kobo using Kobo Utilities plugin in calibre?
JSWolf is offline   Reply With Quote
Old Yesterday, 09:02 PM   #14
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 85,515
Karma: 154365185
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Can we use custom fonts? Can we adjust the line height and L/R margins? In your sample photos, it looks like you have room for at least one more line at the bottom of the screen. Do you have wasted space at the top/bottom of the screen? Can the weight of fonts be adjusted properly (not just normal and then bold)?

Is it easy to add books not from a calibre server? Say from OneDrive?

With this 3 book free reading limit, how do you know when we are reading and when we are checking out how a book looks?
JSWolf is offline   Reply With Quote
Old Yesterday, 09:48 PM   #15
enuddleyarbl
Guru
enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.enuddleyarbl ought to be getting tired of karma fortunes by now.
 
enuddleyarbl's Avatar
 
Posts: 900
Karma: 2111023
Join Date: Sep 2013
Device: Kobo Sage
Quote:
Originally Posted by CalibReader_ View Post
Not today. CalibReader keeps one reading place per book that follows you between your iPhone and iPad (start on one, carry on with the other), so the plugin writes a single set of columns: read status, % read and last-read date. Profiles per device like Kobo Utilities' are a neat idea, though.

What would you use separate columns per device for?
Not separate columns per device, but separate columns for each person.

Right now, I don't even have an Apple device. I'll be getting an iPad Mini A20 Pro for the wife when they're officially released. If that works out, it's possible I'll get another for me. So, one set of columns would be for my wife's devices and another for mine.

As Jon suggested, it would be nice if this could be cross-platform onto Kobos. But, I'm sure you've got enough on your plate just working on the Apple side of things.
enuddleyarbl is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[GUI Plugin] Goodreads Sync kiwidude Plugins 1825 10-28-2026 01:32 PM
[GUI Plugin] KOReader Sync kyx84 Plugins 59 10-15-2026 08:55 AM
[GUI Plugin] Seekquel Sync sabriseekquel Plugins 5 09-02-2026 07:26 PM
[GUI Plugin] Skoob Sync thiago.eec Plugins 26 12-29-2024 08:10 AM
[Gui Plugin] Cloud Sync kerimlcr Plugins 13 03-06-2018 06:13 AM


All times are GMT -4. The time now is 08:40 PM.


MobileRead.com is a privately owned, operated and funded community.