Calibre Content Server Reader Position Not Saving: How to Fix It

  • Test one unchanged book in one normal browser before changing calibre settings.
  • Use the same named server account and force Sync on every device.
  • Check cookies, private browsing, server addresses, permissions, logs, and proxy layers.

When the calibre Content server reader position is not saving, the browser reader may reopen a book at the beginning, return to an older location, lose bookmarks, or show different progress on another device. This usually points to one of four failure categories: the browser is discarding local data, the reader is anonymous or signed into a different server account, synchronization has not completed, or the book or server environment changed after progress was recorded.

The steps below focus specifically on the Content server’s web reader. Reading progress in a browser is not the same as a bookmark stored inside an EPUB file, a position remembered by a separate e-reader device, or the location used by calibre’s desktop E-book viewer. Test the web reader first, then investigate the wider library only if the controlled test fails.

Laptop and phone testing whether an ebook reopens at the same reading position.

1. Confirm the Symptom With a Small Safe Test

Before changing calibre settings, determine whether the problem affects one book, one browser, one account, or the entire Content server. A controlled test prevents unrelated conversion, metadata, plugin, and device issues from obscuring the actual cause.

1.1 Test One Book in One Normal Browser Window

  1. Start the calibre Content server normally.
  2. Open its regular web address in a current version of Chrome, Firefox, Edge, or Safari.
  3. Use a normal browser window, not an Incognito, InPrivate, or private browsing window.
  4. Sign in with a named Content server user account if authentication is enabled.
  5. Open one EPUB that previously displayed correctly.
  6. Move several pages into a chapter and wait about 15 seconds.
  7. Open the reader controls by tapping or clicking near the top of the reading area.
  8. Select Sync if that command is available.
  9. Return to the library page, reopen the same book, and check its position.

Success looks like this: the book opens at, or very close to, the location where you stopped. If it does, stop changing server and library settings. The basic saving mechanism works, so the original problem is probably limited to another browser, device, account, or book.

If the position is lost immediately in the same browser session, continue with the browser and account checks below. If the position survives in the same browser but not on another device, concentrate on account identity and synchronization.

1.2 Distinguish Local Persistence From Cross-Device Sync

There are two useful tests:

  • Same-browser test: close and reopen the book in the same normal browser profile.
  • Cross-device test: open the same book on a second device while signed into the same named Content server account, then use the reader’s Sync command.

If only the cross-device test fails, browser storage is probably not the primary problem. The more likely cause is anonymous access, different usernames, a stale login session, or failure to upload or retrieve the latest server-side state.

If both tests fail, check whether the browser is permitted to retain cookies and site data for the exact Content server address.

2. Check Browser Storage, Cookies, and Reader State

The Content server’s browser interface uses modern web features, including JavaScript and local offline storage. Blocking or repeatedly deleting site data can make the reader behave like a new installation, remove its cached copy of a book, or end the login session that identifies the reader to the server.

2.1 Allow Cookies and Site Data for the Server Address

Open the browser’s privacy or site-permission settings and inspect the exact address used for calibre. For example, a local IP address, a hostname, and a reverse-proxy domain can be treated as three separate sites even when they reach the same Content server.

Check for the following conditions:

  • Cookies are not blocked for the Content server.
  • Site data is not configured to be deleted whenever the browser closes.
  • A privacy extension is not clearing storage for local-network addresses.
  • JavaScript is allowed.
  • The browser has available storage space.
  • The server is consistently opened through the same hostname, protocol, port, and URL prefix.

For example, switching between an IP address and a hostname can create separate browser storage areas and separate login cookies. Standardizing on one address removes that variable.

Success looks like this: after allowing cookies and site storage, you remain signed in after closing and reopening the browser, and the test book returns to the saved location. Once that happens, do not clear calibre’s site data as an additional troubleshooting step.

2.2 Avoid Private Browsing During the Test

Private browsing is designed to isolate or discard cookies, cache entries, and other site data when the private session ends. Its exact behavior differs by browser, but it is not a reliable environment for testing persistent web-reader state.

Move the test to a standard browser profile. Sign in, read a few pages, wait briefly, run Sync, close the book, and reopen it. If normal mode works while private mode does not, calibre itself is probably functioning correctly. Continue reading in normal mode or accept that private sessions may require a fresh login and manual synchronization.

2.3 Do Not Clear Storage Until You Know Where the Good State Exists

Clearing cookies, cache, or site data is often suggested as generic browser advice, but it can make this symptom harder to diagnose. It may sign you out and remove the browser’s offline copy or pending local reader data.

If the reader interface appears corrupted or refuses to load, clearing only the Content server’s site data can be a reasonable controlled test. First verify that another logged-in browser can retrieve the expected position from the server. If no other device has the correct position, record your page, chapter, or location manually before clearing anything.

3. Verify Login Status and Server User Identity

A named Content server account gives calibre an identity under which it can associate synchronized reader information. Anonymous reading may let you open and read books, but it is unsuitable for dependable personal synchronization across devices because there is no unique reader identity.

3.1 Compare Logged-In and Anonymous Reading

Check the Content server interface on every device. Confirm that each browser is actually signed in rather than merely showing a library that permits anonymous access.

If you run the server from calibre’s graphical interface, review the user accounts and authentication options under the settings for sharing over the network. If you run the standalone calibre-server command, confirm that authentication and the intended user database are part of the server configuration.

Repeat the one-book test while logged in with a named account. Avoid testing anonymous and authenticated reading at the same time because the resulting states may not belong to the same identity.

Success looks like this: the username is consistent, a manually forced Sync completes without a login error, and the second browser receives the first browser’s location. Stop changing library metadata or conversion settings if this works.

3.2 Use the Same Account on Every Device

Two valid usernames are still two different reader identities. If a phone uses one account and a laptop uses another, each can maintain its own progress, bookmarks, and annotations.

  1. Sign out on all test devices.
  2. Choose one named Content server account.
  3. Sign in with that exact account on the first browser.
  4. Open the test book, move to a recognizable section, wait, and select Sync.
  5. Sign in with the same account on the second browser.
  6. Open the same book and select Sync before moving through it.

If the second device reaches the first device’s position, account mismatch caused the apparent calibre issue.

3.3 Watch for Password Manager and Reverse-Proxy Confusion

Password managers can automatically fill different credentials for an IP address, local hostname, and public domain. A reverse proxy can also expose several addresses that all appear to lead to the same library.

Verify the visible username instead of assuming that saved credentials are correct. Use one canonical server address during troubleshooting. If the server uses a URL prefix, keep the prefix and trailing path consistent rather than alternating between direct and proxied addresses.

4. Force a Reader Sync and Control Multiple-Device Conflicts

The official calibre documentation recommends using the browser reader’s Sync command when the latest position does not appear automatically. Open the reader controls near the top of the page and choose Sync.

4.1 Upload the New Position Before Opening Another Device

Use this sequence to avoid an older device overwriting or competing with the position you want:

  1. Close the book on every device except the source device.
  2. On the source device, move to the desired position.
  3. Wait briefly and select Sync.
  4. Leave the book or return to the library page.
  5. Open the book on the destination device.
  6. Select Sync before turning pages.

Success looks like this: the destination device moves to the source device’s location. If it does, the synchronization system is working. Future inconsistencies are likely caused by concurrent reading sessions, stale tabs, or devices using different accounts.

4.2 Close Stale Reader Tabs

A browser tab left open for days may still contain an old position. Returning to that tab and turning a page can create a newer update based on stale state. During troubleshooting, close duplicate tabs and keep only one active reader session per device.

If several people read the same book, give each person a separate Content server user account. Sharing one username also shares that username’s synchronized reader state, so one person’s progress can appear to replace another person’s progress.

4.3 Check Whether the Server Restarted Before Saving Completed

An immediate shutdown, system sleep, container restart, or network interruption can prevent a recent update from reaching the server. After changing position, leave the server running long enough to complete the update and use Sync before stopping the service.

Firewall problems are less likely when the book itself loads, but intermittent network filtering can still interrupt synchronization requests. If Sync produces an error or spins indefinitely, test from a browser on the same computer using the loopback address. A successful local test but failed remote test points toward the network path, reverse proxy, firewall, or security software rather than the book.

Ebook file connected through a library server to browsers and storage.

5. Check the Book, Library, and Server Environment

Reading position is associated with a particular book and format in the calibre library. Replacing, reconverting, removing, and re-adding the file can change the publication’s internal structure. The saved location may then point to text that moved or no longer exists.

5.1 Test an Unchanged EPUB

Choose an EPUB that has not recently been converted, edited, polished, replaced, or re-added. If that book saves correctly while one edited title does not, the problem is book-specific rather than a general failure of the Content server.

Conversion options and metadata normally do not control whether the web reader can save state. They become relevant when conversion changes chapter boundaries, internal filenames, spine order, or document structure. Cover, title, author, and tag edits alone are not the first settings to investigate.

Success looks like this: the unchanged test EPUB consistently returns to the correct section. At that point, stop changing server settings and repair or reconvert only the affected book if necessary.

5.2 Confirm That Every Server Instance Uses the Same Library

If you run calibre on multiple computers, in containers, as a background service, or through scripts, confirm that each visible Content server points to the intended library. A copied library may contain the same books and covers while maintaining separate database state.

Also check whether a cloud-sync service is copying or replacing the active calibre library while the server is running. Simultaneous database access through file synchronization tools can produce confusing behavior. Keep the active library on stable local storage and use a proper backup process rather than treating a live cloud-synchronized folder as multi-user database hosting.

5.3 Check File-System Permissions for a Standalone Server

A standalone server service may run under a different Windows account, macOS user, or Linux service account than the desktop calibre application. Confirm that the server process can access its configuration, user database, library, and required data directories.

Permission trouble is more likely if the issue started after moving the library, changing a service account, restoring a backup, modifying container volumes, or mounting storage as read-only. Do not grant broad permissions indiscriminately. Instead, identify the account running the server and give that account the necessary ownership or access.

5.4 Temporarily Disable Relevant Plugins or Custom Web Layers

Most calibre plugins do not control the Content server’s browser reader position. However, a plugin, reverse proxy, browser extension, content filter, custom script, or security product can interfere with requests or browser storage.

Test the direct Content server address on the local network without optional proxy layers. Use a clean browser profile with extensions disabled. If direct access works, restore one layer at a time until the failure returns.

USB mode, send-to-device settings, email accounts, news downloads, metadata-download sources, and device drivers generally do not affect the web reader’s saved position. Investigate them only if the symptom actually occurs in a connected hardware reader rather than the Content server.

6. Use Logs and Debugging Without Becoming a Developer

Logs are useful when Sync displays an error, the login unexpectedly expires, or a remote browser behaves differently from a local browser. You do not need to interpret calibre’s source code to collect useful evidence.

6.1 Enable a Content Server Access Log

The standalone calibre-server command supports an --access-log option. Start a controlled test, note the time, reproduce the failure, and examine whether requests from the browser reached the server.

A request that never reaches the server suggests a browser, proxy, firewall, DNS, or network problem. Repeated authentication failures suggest a cookie, account, or proxy-authentication problem. Avoid publishing logs without reviewing them because they can contain IP addresses, usernames, requested paths, and other private operational details.

6.2 Run Calibre With Debug Output

The calibre-debug utility can start calibre’s graphical interface with debugging enabled. A basic command is:

calibre-debug -g

On macOS, command-line tools are normally located inside the calibre application bundle. On Windows and Linux, availability depends on how calibre was installed and configured.

Reproduce only the Content server reader failure, then look for errors occurring at the same time. Debug output is supporting evidence, not a reason to delete the library or edit database files manually.

6.3 Use Browser Developer Tools Only for a Simple Error Check

If you are comfortable opening the browser’s developer tools, inspect the Console and Network panels while selecting Sync. Look for blocked requests, authorization errors, storage failures, or requests rejected by a proxy. You do not need to alter JavaScript or manually edit browser storage.

If a direct local connection works but the proxied public address reports errors, investigate the proxy configuration. Preserve the Content server path, authentication headers, and protocol consistently.

7. Run a Clean Temporary Test Before Reinstalling

Reinstalling calibre rarely fixes a problem caused by cookies, account identity, private browsing, a stale tab, or a reverse proxy. A clean temporary test provides better evidence and carries less risk.

  1. Keep the original library and configuration unchanged.
  2. Create a temporary calibre library in a new local folder.
  3. Add one non-sensitive, valid EPUB.
  4. Start the Content server for that temporary library.
  5. Create or use one named server account.
  6. Open the server directly in a clean, normal browser profile.
  7. Read several pages, wait, and select Sync.
  8. Close and reopen the book.
  9. Repeat from a second browser while using the same account.

If the clean test works, calibre’s core web-reader synchronization is functioning. Reintroduce the original server address, proxy, browser extensions, plugins, and library environment one at a time. Stop as soon as the failure returns because the last restored variable is the strongest lead.

If the clean test fails in two current browsers on the server computer, collect the calibre version, operating system, exact startup method, authentication configuration, access log, and reproducible steps before seeking support. Do not delete the original library or manually modify its database.

8. Quick Fix Checklist

  • Use a normal browser window instead of private browsing.
  • Allow cookies, JavaScript, and site storage for the Content server.
  • Use one consistent server address.
  • Sign in with a named Content server account.
  • Use the same username on every device.
  • Test one unchanged EPUB in one current browser.
  • Wait briefly after moving to a new location.
  • Open the reader controls and select Sync.
  • Close stale reader tabs on other devices.
  • Test the direct local address without a reverse proxy.
  • Confirm that the server uses the intended library and user database.
  • Check service-account permissions after moves or configuration changes.
  • Use an access log or debug output before reinstalling.
  • Run a temporary clean-library test before deleting or rebuilding anything.

9. Frequently Asked Questions

9.1 Does the calibre Content server save reading position in the EPUB?

No. Web-reader progress is managed as reader state rather than being written into the EPUB’s text. Downloading the same EPUB into an unrelated reading application does not guarantee that the other application will know the Content server position.

9.2 Why does my position save on one browser but not another?

The browsers may be using different server accounts, separate site storage, different Content server addresses, or private browsing. Sign both into the same named account, standardize the address, and use Sync before comparing positions.

9.3 Can anonymous users synchronize reading progress across devices?

For dependable personal synchronization, use authenticated named accounts. Anonymous access does not provide a unique identity for separating one reader’s state from another reader’s state, and forced synchronization can require login.

9.4 Will clearing cookies fix the problem?

Not usually. Clearing cookies can sign you out and remove local reader data. First test whether the correct state is available from another logged-in browser. Clear only the Content server’s site data when the web interface itself appears corrupted, and record your current location beforehand.

9.5 Do I need to reconvert the book?

Not unless the failure affects only that book or its structure is damaged. If an unchanged EPUB saves correctly, reconverting every title is unnecessary. Replacing or reconverting a book can also move its internal locations, so preserve the original while testing.

9.6 When should I stop troubleshooting?

Stop changing settings as soon as the one-book test survives closing and reopening in the same browser and, if needed, synchronizes to a second device using the same account. Once that succeeds, the saving mechanism works. Investigate only the browser, device, account, address, or book that still behaves differently.


Citations

  1. Official instructions for using the Content server, browser reader, user accounts, and forced position synchronization. (calibre Content Server Manual)
  2. Official documentation for syncing browser-viewer annotations with a Content server user identity. (calibre E-book Viewer Manual)
  3. Official command reference for access logging, authentication, user databases, and standalone server options. (calibre-server Command Reference)
  4. Official command reference for starting calibre and its viewer in debugging modes. (calibre-debug Command Reference)
  5. Official overview of calibre command-line tools and their macOS installation location. (calibre Command-Line Interface)
Cindy, ContentBASE creator assistant

MEET CINDY

Your ContentBASE creator assistant

Cindy helps creators find Canva templates, content ideas, and simple ways to make better social media posts faster.

Want ready-to-use templates? Claim the free Canva bundles or browse the full bundle store.