Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Apple Devices

Notices

Reply
 
Thread Tools Search this Thread
Old 03-18-2026, 03:52 PM   #1
QuietShelfLife
Enthusiast
QuietShelfLife began at the beginning.
 
Posts: 38
Karma: 10
Join Date: Feb 2026
Device: iPad
BookShelves — Native EPUB Reader for macOS and iOS (looking for feedback)

Hi everyone,

I've been lurking and posting here for a few weeks (mostly in the ePub and Apple Devices forums) and wanted to share something I've been working on.

BookShelves is a native EPUB reader and library manager for macOS and iOS. It started because I wanted something between Apple Books (too limited) and Calibre (great library manager, but the reading experience on Mac isn't ideal).

What it does:
  • Reads EPUB, PDF, MOBI, AZW, AZW3, KEPUB, CBZ/CBR/CB7 — MOBI/AZW/AZW3 are converted to EPUB on import
  • iCloud sync across Mac, iPhone, and iPad
  • Built-in catalogs from Standard Ebooks and Internet Archive
  • OPDS server (v1.2 and v2.0) — serves your library to KOReader and other OPDS clients over Wi-Fi
  • Calibre wireless server — KOReader can connect directly and sync books + reading progress
  • Email to Device — send books to your Kindle, Kobo, or PocketBook
  • Metadata lookup, cover fetching, shelves, bookmarks, highlights, export

Pricing: Free to use (up to 10 books). One-time $2.99 Pro unlock for unlimited books, iCloud sync, OPDS server, and Email to Device. No subscription, no ads.

Links:
I'd really appreciate feedback from this community — especially around EPUB rendering, format support, and anything you wish other readers did better. The MobileRead forums have been incredibly helpful for understanding what serious readers actually need.

Thanks for reading.
QuietShelfLife is offline   Reply With Quote
Old 03-20-2026, 02:11 PM   #2
pdurrant
The Grand Mouse 高貴的老鼠
pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.
 
pdurrant's Avatar
 
Posts: 75,136
Karma: 319569784
Join Date: Jul 2007
Location: Norfolk, England
Device: Kindle Oasis
We wait a long time for a Marvin replacement, and then two come along at once!

I'll take a look.
pdurrant is offline   Reply With Quote
Advert
Old 03-20-2026, 02:19 PM   #3
pdurrant
The Grand Mouse 高貴的老鼠
pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.
 
pdurrant's Avatar
 
Posts: 75,136
Karma: 319569784
Join Date: Jul 2007
Location: Norfolk, England
Device: Kindle Oasis
OK, at £2.99 I'm willing to pay for it. I certainly don't want to switch to it as my main library just yet.

It looks like I ought to be able to hook it into my current calibre server. But I can't see where. Help?

[EDIT: For menu item for import from OPDS server]

Last edited by pdurrant; 03-20-2026 at 02:28 PM.
pdurrant is offline   Reply With Quote
Old 03-20-2026, 02:20 PM   #4
QuietShelfLife
Enthusiast
QuietShelfLife began at the beginning.
 
Posts: 38
Karma: 10
Join Date: Feb 2026
Device: iPad
Thanks pdurrant — hope you like what you find! Happy to hear any feedback, especially on EPUB rendering. Always room to improve.
QuietShelfLife is offline   Reply With Quote
Old 03-20-2026, 02:28 PM   #5
pdurrant
The Grand Mouse 高貴的老鼠
pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.
 
pdurrant's Avatar
 
Posts: 75,136
Karma: 319569784
Join Date: Jul 2007
Location: Norfolk, England
Device: Kindle Oasis
Hmm.. I found "Import from OPDS" and added my calibre server. But see no easy way to just see/browse my calibre library from Bookshelves. I thought at minimum it might add it to the sidebar similar to Standard Ebooks.

As mentioned, I don't want to make another copy of my library. I'm happy with calibre for that, and I'm used to it for metadata editing, etc.

Also, a copy of over 6,000 books takes a while!

Is there any way to use Bookshelves for reading my calibre library without importing all the books into a new library managed by Bookshelves?
pdurrant is offline   Reply With Quote
Advert
Old 03-20-2026, 02:29 PM   #6
QuietShelfLife
Enthusiast
QuietShelfLife began at the beginning.
 
Posts: 38
Karma: 10
Join Date: Feb 2026
Device: iPad
Thanks for the purchase! BookShelves can work with Calibre in a couple of ways:

1. Browse your Calibre library from BookShelves — BookShelves has an OPDS client, so if you have Calibre's content server running, you can add it as a catalog source and browse/download books from it

2. Serve your BookShelves library to other devices — BookShelves runs its own OPDS server, so other apps/devices on your network can browse and download from your BookShelves library

Which one are you looking for?
QuietShelfLife is offline   Reply With Quote
Old 03-20-2026, 02:36 PM   #7
QuietShelfLife
Enthusiast
QuietShelfLife began at the beginning.
 
Posts: 38
Karma: 10
Join Date: Feb 2026
Device: iPad
That's a fair request, but right now BookShelves imports books rather than streaming them from an external server. So it does create a local copy.

If you do go the import route, BookShelves has direct Calibre library import (File → Import from Library Folder). Point it at your Calibre library folder and it reads metadata.db directly — titles, authors, series, tags, publishers, covers all come across automatically. No need to re-enter anything. But I understand that's still a copy, not what you're after if you want Calibre as the single source of truth.

A browse-and-read mode that connects to a Calibre content server without duplicating everything is a good idea though. I'll look into it.
QuietShelfLife is offline   Reply With Quote
Old 03-20-2026, 02:37 PM   #8
pdurrant
The Grand Mouse 高貴的老鼠
pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.
 
pdurrant's Avatar
 
Posts: 75,136
Karma: 319569784
Join Date: Jul 2007
Location: Norfolk, England
Device: Kindle Oasis
The first.

I have found Window/Import from OPDS Server

And I've created an entry for my calibre library. And I can, through that dialog, see some books, and download them into Bookshelves library.

But I really don't want to duplicate my library. For calibre server integration, I'd like to be able just browse the calibre library, and have any changes to metadata reflected back to the calibre library - e.g. Read Status.

At the moment, it looks to me like Bookshelves intended to be the main library host.


Not that I don't want the option to download all the books in my library to (say) my iPhone. But not if it means I have another library to manage. I'd like the main catalog to remain in calibre.
pdurrant is offline   Reply With Quote
Old 03-20-2026, 02:39 PM   #9
pdurrant
The Grand Mouse 高貴的老鼠
pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.pdurrant ought to be getting tired of karma fortunes by now.
 
pdurrant's Avatar
 
Posts: 75,136
Karma: 319569784
Join Date: Jul 2007
Location: Norfolk, England
Device: Kindle Oasis
My current solution is calibre sync. And using justRead.app to read books from the calibre sync folder on my iPhone. This is a bit clunky, but the calibre sync folder is just a mirror of the calibre books, not a separate library to be managed.

I look forward to seeing what you come up with.

I do know that I'm a bit of an outlier when it comes to ebooks. But then, so are many on MobileRead.
pdurrant is offline   Reply With Quote
Old 03-20-2026, 02:58 PM   #10
QuietShelfLife
Enthusiast
QuietShelfLife began at the beginning.
 
Posts: 38
Karma: 10
Join Date: Feb 2026
Device: iPad
I hear you — keeping Calibre as the single source of truth makes total sense if that's your workflow.

Right now BookShelves is built around its own library with iCloud sync, so it works across devices even away from your home network. Reading directly from a Calibre server would be a different mode, but it's not something I'm ruling out — there's clearly demand for it.

For now, the closest workflow would be importing a subset of books you actually want to read via OPDS or the direct Calibre library import (File → Import from Library Folder), rather than your entire collection. That way Calibre stays your master catalog and BookShelves just holds your active reading list.

I'll give the Calibre backend idea some proper thought.
QuietShelfLife is offline   Reply With Quote
Old 03-20-2026, 02:58 PM   #11
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: 82,521
Karma: 151278869
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Does BookShelves allow using custom fonts? Does it allow hyphenation? How well does it support CSS?
JSWolf is offline   Reply With Quote
Old 03-20-2026, 03:05 PM   #12
QuietShelfLife
Enthusiast
QuietShelfLife began at the beginning.
 
Posts: 38
Karma: 10
Join Date: Feb 2026
Device: iPad
Good questions.

Custom fonts — not yet, but it's on the list. Right now you get a curated set per reading theme (serif, sans-serif, and a few specific faces like Baskerville, Palatino, Garamond). Loading your own .ttf/.otf files is a feature I want to add.

Hyphenation — yes, enabled by default on body text with hyphens: auto, limited to 3 consecutive hyphenated lines. Disabled on headings, code, and captions.

CSS — publisher stylesheets are respected. The reader handles the common EPUB CSS patterns (drop caps, floats, tables, footnotes, CJK/RTL scripts). Font and color overrides use !important only where needed so publisher styling comes through. No user CSS injection yet, but that's something I'd consider adding alongside custom fonts.
QuietShelfLife is offline   Reply With Quote
Old 03-20-2026, 03:34 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: 82,521
Karma: 151278869
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Quote:
Originally Posted by QuietShelfLife View Post
Good questions.

Custom fonts — not yet, but it's on the list. Right now you get a curated set per reading theme (serif, sans-serif, and a few specific faces like Baskerville, Palatino, Garamond). Loading your own .ttf/.otf files is a feature I want to add.

Hyphenation — yes, enabled by default on body text with hyphens: auto, limited to 3 consecutive hyphenated lines. Disabled on headings, code, and captions.

CSS — publisher stylesheets are respected. The reader handles the common EPUB CSS patterns (drop caps, floats, tables, footnotes, CJK/RTL scripts). Font and color overrides use !important only where needed so publisher styling comes through. No user CSS injection yet, but that's something I'd consider adding alongside custom fonts.
The CSS is not respected properly. The eBook I am looking at does not have huge gaps between paragraphs. It has Widows and orphans set to 1 so the text on most pages should end at the same place at the bottom of the screen. There are also large gaps at the bottom of the screen. The is no line height setting in the CSS, yet I have large line spacing I should not have.

Here is the CSS of the book I am using to test the app.

Code:
blockquote {
  margin-top: 0.8em;
  margin-right: 1.5em;
  margin-bottom: 0.8em;
  margin-left: 1.5em;
}
body {
  widows: 1;
  orphans: 1;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  text-align: justify;
}
h2 {
  text-align: center;
  text-indent: 0;
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
hr {
  margin-top: 0.9em;
  margin-right: 40%;
  margin-bottom: 0.9em;
  margin-left: 40%;
  border-top: 2px solid;
}
img {
  max-height: 100%;
  max-width: 100%;
}
p {
  margin-top: 0;
  margin-bottom: 0;
  text-indent: 1.2em;
  widows: 1;
  orphans: 1;
}
.center, .ded1 {
  text-align: center;
  text-indent: 0;
  margin-top: 0.8em;
  margin-bottom: 0;
}
.copy {
  font-size: small;
  text-indent: 0;
}
.copy1 {
  font-size: small;
  margin-top: 0.8em;
  text-indent: 0;
}
.cover {
  text-align: center;
  text-indent: 0;
  height: 100%;
}
.ded {
  margin-top: 3em;
  margin-bottom: 0.2em;
  text-align: center;
  text-indent: 0;
}
.dedaa {
  margin-top: 0.8em;
  margin-bottom: 0.2em;
  text-align: center;
  text-indent: 0;
}
.imagel {
  margin-top: 1em;
  margin-bottom: 0;
  text-indent: 0;
}
.noindent {
  text-indent: 0;
}
.noindent1 {
  margin-top: 0.8em;
  text-indent: 0;
}
.noindent2 {
  text-indent: -1.2em;
  margin-left: 1.2em;
}
.right {
  margin-top: 0;
  margin-bottom: 0.8em;
  text-align: right;
  text-indent: 0;
}
.smallcaps {
  font-size: 0.8333em;
}
Because a paragraph is not fitting fully at the end of the screen, it's fully moved to the next screen.

Here is a screen grab of a page from a book with very simple CSS. This does not look good. Way too much space all over the page.. The background is too bright and the font in use needs more weight. The problem is that to change the colors to something I can actually read, I have to pay for this when it's not yet ready. I need the background to more gray. It's too bright at white. Even sepia is too bright,

Click image for larger version

Name:	IMG_1361.PNG
Views:	5
Size:	242.5 KB
ID:	221915

Last edited by JSWolf; 03-20-2026 at 04:13 PM.
JSWolf is offline   Reply With Quote
Old 03-20-2026, 03:52 PM   #14
QuietShelfLife
Enthusiast
QuietShelfLife began at the beginning.
 
Posts: 38
Karma: 10
Join Date: Feb 2026
Device: iPad
Thanks for the detailed feedback — that's exactly what I need.

You're right that the reader is overriding some publisher CSS more aggressively than it should. The line height and paragraph spacing are currently forced for baseline grid alignment (consistent pagination), but the trade-off is that the book's own spacing gets ignored. The break-inside: avoid on paragraphs is also intentional but too aggressive — it shouldn't bump entire paragraphs to the next page when they could split cleanly.

I'll look into making the baseline grid less heavy-handed so publisher CSS comes through better, especially for line-height, paragraph margins, and page breaks.

For the brightness — the Sepia theme is the warmest built-in option right now. A darker/grayer light theme is a reasonable request I can add.

If you get a chance, could you use the "Report Rendering Issue" option in the reader menu? It captures the specific book and chapter so I can reproduce exactly what you're seeing and test fixes against it.
QuietShelfLife is offline   Reply With Quote
Old 03-20-2026, 04:15 PM   #15
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: 82,521
Karma: 151278869
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Quote:
Originally Posted by QuietShelfLife View Post
Thanks for the detailed feedback — that's exactly what I need.

You're right that the reader is overriding some publisher CSS more aggressively than it should. The line height and paragraph spacing are currently forced for baseline grid alignment (consistent pagination), but the trade-off is that the book's own spacing gets ignored. The break-inside: avoid on paragraphs is also intentional but too aggressive — it shouldn't bump entire paragraphs to the next page when they could split cleanly.

I'll look into making the baseline grid less heavy-handed so publisher CSS comes through better, especially for line-height, paragraph margins, and page breaks.

For the brightness — the Sepia theme is the warmest built-in option right now. A darker/grayer light theme is a reasonable request I can add.

If you get a chance, could you use the "Report Rendering Issue" option in the reader menu? It captures the specific book and chapter so I can reproduce exactly what you're seeing and test fixes against it.
Report sent. It's for a different book, but that's OK. Turns out the other book was the wrong one (already read it).

The overriding of the CSS should not be done at all unless you have settings specifically to override the CSS like line-height, and margins. But for every setting that overrides the CSS, that setting should also be able to be turned off.

Last edited by JSWolf; 03-20-2026 at 04:19 PM.
JSWolf is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
justRead.app – Native iOS EPUB Reader (Built for Power Readers) petrjahoda Apple Devices 163 03-12-2026 01:16 PM
‘Assistive Reader’ (text-to-speech) comes to Kindle apps for Android and iOS/macOS tomsem Amazon Kindle 4 06-13-2024 04:53 AM
EPUB thumbnails in macOS Ventura/iOS Pargeo ePub 1 01-06-2023 08:11 AM
Can I build Calibre 4.0 on a native macOS machine running OS X El Capitan 10.11.6? vaboro Development 23 10-16-2019 04:37 PM
Idea of Bookshelves - How to organize books by drag and drop to bookshelves duytrung Library Management 5 09-04-2015 06:28 PM


All times are GMT -4. The time now is 04:52 PM.


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