[Enhancement]: Enable EPUB 3 Support in Audiobookshelf for Synced Audiobooks and Ebooks #2240

Open
opened 2026-02-20 02:13:58 -05:00 by deekerman · 26 comments
Owner

Originally created by @ashwinm4friends on GitHub (Jun 17, 2024).

Type of Enhancement

Server Backend

Describe the Feature/Enhancement

Audiobookshelf currently supports various audiobook and ebook formats. This feature request is to enable support for EPUB 3 files, which allows for synchronized audiobooks and ebooks within a single file. EPUB 3 is a versatile and widely adopted format that can integrate both text and audio, providing a seamless reading and listening experience.

Why would this be helpful?

Integrating EPUB 3 support in Audiobookshelf would provide several benefits:

  • Unified Experience: Users can enjoy a synchronized reading and listening experience without needing to switch between separate files for text and audio.

  • Enhanced Accessibility: EPUB 3 format supports features such as text highlighting and navigation, which can be beneficial for users with visual or reading impairments.

  • Improved Comprehension: Synchronized text and audio help in better comprehension and retention of information by reinforcing the content through both reading and listening.

  • Support for Dyslexic and Visually Impaired Users: The synchronization of audio and text can significantly aid users with dyslexia or visual impairments by allowing them to follow along with the text as they listen, improving their reading experience and accessibility.

  • User Convenience: This feature simplifies the process of managing and accessing audiobooks and ebooks, as users would only need to handle a single file format.

    For reference, Storyteller (https://smoores.gitlab.io/storyteller/) already provides the capability to create EPUB 3 files with synchronized audio and text. By implementing EPUB 3 support, Audiobookshelf can leverage the advanced features of this format to offer a richer, more accessible, and more integrated user experience.

Future Implementation (Screenshot)

The EPUB 3 format allows for precise synchronization of audio with text, enabling features such as word-level or sentence-level highlighting. As the audio plays, the corresponding text is highlighted, providing a dynamic and engaging reading experience. Implementing this feature in Audiobookshelf will bring significant value to users by offering a more interactive and supportive reading environment.

Audiobookshelf Server Version

latest

Current Implementation (Screenshot)

No response

Originally created by @ashwinm4friends on GitHub (Jun 17, 2024). ### Type of Enhancement Server Backend ### Describe the Feature/Enhancement Audiobookshelf currently supports various audiobook and ebook formats. This feature request is to enable support for EPUB 3 files, which allows for synchronized audiobooks and ebooks within a single file. EPUB 3 is a versatile and widely adopted format that can integrate both text and audio, providing a seamless reading and listening experience. ### Why would this be helpful? Integrating EPUB 3 support in Audiobookshelf would provide several benefits: - Unified Experience: Users can enjoy a synchronized reading and listening experience without needing to switch between separate files for text and audio. - Enhanced Accessibility: EPUB 3 format supports features such as text highlighting and navigation, which can be beneficial for users with visual or reading impairments. - Improved Comprehension: Synchronized text and audio help in better comprehension and retention of information by reinforcing the content through both reading and listening. - Support for Dyslexic and Visually Impaired Users: The synchronization of audio and text can significantly aid users with dyslexia or visual impairments by allowing them to follow along with the text as they listen, improving their reading experience and accessibility. - User Convenience: This feature simplifies the process of managing and accessing audiobooks and ebooks, as users would only need to handle a single file format. For reference, Storyteller (https://smoores.gitlab.io/storyteller/) already provides the capability to create EPUB 3 files with synchronized audio and text. By implementing EPUB 3 support, Audiobookshelf can leverage the advanced features of this format to offer a richer, more accessible, and more integrated user experience. ### Future Implementation (Screenshot) The EPUB 3 format allows for precise synchronization of audio with text, enabling features such as word-level or sentence-level highlighting. As the audio plays, the corresponding text is highlighted, providing a dynamic and engaging reading experience. Implementing this feature in Audiobookshelf will bring significant value to users by offering a more interactive and supportive reading environment. ### Audiobookshelf Server Version latest ### Current Implementation (Screenshot) _No response_
Author
Owner

@advplyr commented on GitHub (Jun 17, 2024):

This reads like ChatGPT.

We have discussed this a lot #189 #1723 #601

@advplyr commented on GitHub (Jun 17, 2024): This reads like ChatGPT. We have discussed this a lot #189 #1723 #601
Author
Owner

@yourmoonlight commented on GitHub (Aug 11, 2024):

If Audiobookshelf could achieve the synchronization of ePub and audiobooks, it would be a very popular feature.

@yourmoonlight commented on GitHub (Aug 11, 2024): If Audiobookshelf could achieve the synchronization of ePub and audiobooks, it would be a very popular feature.
Author
Owner

@WickedSquirrel commented on GitHub (Oct 17, 2024):

This reads like ChatGPT.

We have discussed this a lot #189 #1723 #601

I think it's something entirely else.

It wouldn't require abb to generate anything.
In a epub3 the text and the Audiofiles are already there and synchronised. Abb would just need to support it, maybe give us a toggle to switch between reading and listening or have both at once.

@WickedSquirrel commented on GitHub (Oct 17, 2024): > This reads like ChatGPT. > > We have discussed this a lot #189 #1723 #601 I think it's something entirely else. It wouldn't require abb to generate anything. In a epub3 the text and the Audiofiles are already there and synchronised. Abb would just need to support it, maybe give us a toggle to switch between reading and listening or have both at once.
Author
Owner

@coandco commented on GitHub (Oct 24, 2024):

I too would be very interested in EPUB3 support.

@coandco commented on GitHub (Oct 24, 2024): I too would be very interested in EPUB3 support.
Author
Owner

@WickedSquirrel commented on GitHub (Dec 24, 2024):

@advplyr any update on this?

@WickedSquirrel commented on GitHub (Dec 24, 2024): @advplyr any update on this?
Author
Owner

@nichwall commented on GitHub (Dec 25, 2024):

There has not been additional work on e-reader support since this was opened.

@nichwall commented on GitHub (Dec 25, 2024): There has not been additional work on e-reader support since this was opened.
Author
Owner

@kurumushi commented on GitHub (Dec 29, 2024):

For reference if this ever gets looked at, this is the epub standard being asked for:

https://www.w3.org/submissions/epub-mediaoverlays/

Referenced here as well: https://www.w3.org/TR/epub-33/#sec-media-overlays

@kurumushi commented on GitHub (Dec 29, 2024): For reference if this ever gets looked at, this is the epub standard being asked for: https://www.w3.org/submissions/epub-mediaoverlays/ Referenced here as well: https://www.w3.org/TR/epub-33/#sec-media-overlays
Author
Owner

@dabigc commented on GitHub (Jan 11, 2025):

For those that want this today, Storyteller looks like it might be a good fit (granted, I believe it's in beta). The fact that it has an API server makes me wonder if it might one day be extensible for use in ABS without ABS needing to perform the generation, etc. If EPUB 3 supports this natively, it seems like Storyteller might be good to generate the EPUB 3 files and ABS might then only need to support the standard. Just throwing this out there as I prefer ABS and am sticking with it but for those that are eager, this might be a good solution.

@dabigc commented on GitHub (Jan 11, 2025): For those that want this today, [Storyteller](https://smoores.gitlab.io/storyteller/) looks like it might be a good fit (granted, I believe it's in beta). The fact that it has an API server makes me wonder if it might one day be extensible for use in ABS without ABS needing to perform the generation, etc. If EPUB 3 supports this natively, it seems like Storyteller might be good to generate the EPUB 3 files and ABS might then only need to support the standard. Just throwing this out there as I prefer ABS and am sticking with it but for those that are eager, this might be a good solution.
Author
Owner

@coandco commented on GitHub (Jan 11, 2025):

Yes, that's the feature request for now -- just play existing synced-audio/text EPUB3 files, even if they're generated somewhere else.

@coandco commented on GitHub (Jan 11, 2025): Yes, that's the feature request for now -- just play existing synced-audio/text EPUB3 files, even if they're generated somewhere else.
Author
Owner

@dunia01 commented on GitHub (Feb 10, 2025):

This would be great, really.

@dunia01 commented on GitHub (Feb 10, 2025): This would be great, really.
Author
Owner

@kurumushi commented on GitHub (Feb 22, 2025):

After looking at it I think this is much more involved than everyone may think. When you play an audiobook via audiobookshelf, it just asks the browser to play the media file. So in order for this to happen, you'd need either A. Browsers themselves to support epub3 synced. Or B. an entirely custom player interface.

@kurumushi commented on GitHub (Feb 22, 2025): After looking at it I think this is much more involved than everyone may think. When you play an audiobook via audiobookshelf, it just asks the browser to play the media file. So in order for this to happen, you'd need either A. Browsers themselves to support epub3 synced. Or B. an entirely custom player interface.
Author
Owner

@dkbarn commented on GitHub (Feb 22, 2025):

There are web-based libraries & tools out there with EPUB3 "read along" functionality that could potentially be leveraged or at least used as inspiration. See for example:

@dkbarn commented on GitHub (Feb 22, 2025): There are web-based libraries & tools out there with EPUB3 "read along" functionality that could potentially be leveraged or at least used as inspiration. See for example: - https://github.com/readium/readium-js-viewer - https://github.com/edrlab/thorium-reader - https://demo.colibrio.com/ where you can upload an EPUB3 and see what the "read along" experience is like. Here are some free EPUB3s to try it out: https://www.readbeyond.it/ebooks.html
Author
Owner

@kurumushi commented on GitHub (Mar 12, 2025):

Apparently #189 also has the same request, so just referencing it here.

@kurumushi commented on GitHub (Mar 12, 2025): Apparently #189 also has the same request, so just referencing it here.
Author
Owner

@Astorsoft commented on GitHub (Mar 29, 2025):

This was said above, this has nothing to do with #189, #1723 or #601. It isn't about generating a merge of an audiobook and epub like Storyteller does (and it does it great) or faking it through text to speech. This is about being able to read/listen the output of storyteller in Audiobookshelf.

Not sure what the original requester had in mind, but the feature would make more sense on the client side (ie the iOS or Android apps) rather than the server side. FYI Storyteller does have a smartphone client to play those epub3 files, but there is some appeal is centralizing everything into one app like Audiobookshelf.

@Astorsoft commented on GitHub (Mar 29, 2025): This was said above, this has nothing to do with #189, #1723 or #601. It isn't about generating a merge of an audiobook and epub like Storyteller does (and it does it great) or faking it through text to speech. This is about being able to read/listen the output of storyteller in Audiobookshelf. Not sure what the original requester had in mind, but the feature would make more sense on the client side (ie the iOS or Android apps) rather than the server side. FYI Storyteller does have a smartphone client to play those epub3 files, but there is some appeal is centralizing everything into one app like Audiobookshelf.
Author
Owner

@kurumushi commented on GitHub (Mar 30, 2025):

Stupid me, even though I use the mobile app, most of my comments above about web browsers doesn't apply there at all.

For reference then, it looks like the mobile clients are using epub.js, so it's probably best to see if that supports synced audiobooks, and request changes over there before anything could be done in the audio bookshelf mobile app.

@kurumushi commented on GitHub (Mar 30, 2025): Stupid me, even though I use the mobile app, most of my comments above about web browsers doesn't apply there at all. For reference then, it looks like the mobile clients are using [epub.js](https://github.com/futurepress/epub.js), so it's probably best to see if that supports synced audiobooks, and request changes over there before anything could be done in the audio bookshelf mobile app.
Author
Owner

@eserero commented on GitHub (Apr 3, 2025):

hmmm - interestingly I just found out that calibre ebook viewer can manage epubs that I created with storyteller, and it can do so also in the web client. it works in the desktop and my phone browser even have some limited offline capabilities. the browser reader is actually very good - very feature rich and can do quite a bit. Colibrio seems even nicer, but I think its not free. I wonder if there is a way to use the calibre reader in audiobookshelf

@eserero commented on GitHub (Apr 3, 2025): hmmm - interestingly I just found out that calibre ebook viewer can manage epubs that I created with storyteller, and it can do so also in the web client. it works in the desktop and my phone browser even have some limited offline capabilities. the browser reader is actually very good - very feature rich and can do quite a bit. Colibrio seems even nicer, but I think its not free. I wonder if there is a way to use the calibre reader in audiobookshelf
Author
Owner

@Jdiesel87 commented on GitHub (May 10, 2025):

I just got around to generating a few Epub3 books using Storyteller. The process was relatively easy. It would be great to be able to play these books in ABS.

@Jdiesel87 commented on GitHub (May 10, 2025): I just got around to generating a few Epub3 books using Storyteller. The process was relatively easy. It would be great to be able to play these books in ABS.
Author
Owner

@wallaby-gopher commented on GitHub (Jun 9, 2025):

hmmm - interestingly I just found out that calibre ebook viewer can manage epubs that I created with storyteller, and it can do so also in the web client. it works in the desktop and my phone browser even have some limited offline capabilities. the browser reader is actually very good - very feature rich and can do quite a bit. Colibrio seems even nicer, but I think its not free. I wonder if there is a way to use the calibre reader in audiobookshelf

were you able to sync progress from calibre to audiobookshelf? It'd be great to have progress the same across platforms.

@wallaby-gopher commented on GitHub (Jun 9, 2025): > hmmm - interestingly I just found out that calibre ebook viewer can manage epubs that I created with storyteller, and it can do so also in the web client. it works in the desktop and my phone browser even have some limited offline capabilities. the browser reader is actually very good - very feature rich and can do quite a bit. Colibrio seems even nicer, but I think its not free. I wonder if there is a way to use the calibre reader in audiobookshelf were you able to sync progress from calibre to audiobookshelf? It'd be great to have progress the same across platforms.
Author
Owner

@xrishox commented on GitHub (Aug 19, 2025):

this would be a huge boon of a feature. it's also an obvious feature for a project that puts such a strong focus on supporting both ebooks and audio books. it wouldnt need to implement support to produce these types of books, since that is already handled by storyteller. it would just need to be able to read them.

@xrishox commented on GitHub (Aug 19, 2025): this would be a huge boon of a feature. it's also an obvious feature for a project that puts such a strong focus on supporting both ebooks and audio books. it wouldnt need to implement support to produce these types of books, since that is already handled by storyteller. it would just need to be able to read them.
Author
Owner

@andersonimes commented on GitHub (Oct 26, 2025):

One stepping stone here that would be nice for users of Storyteller might be to simply have the ability to play epub3 files like audio files - effectively treating them like m4b files today. This way, we at least wouldn't have to duplicate files to support both formats.

@andersonimes commented on GitHub (Oct 26, 2025): One stepping stone here that would be nice for users of Storyteller might be to simply have the ability to play epub3 files like audio files - effectively treating them like m4b files today. This way, we at least wouldn't have to duplicate files to support both formats.
Author
Owner

@flboy1758 commented on GitHub (Nov 10, 2025):

I installed Storyteller and was amazed how easy it was to create audio synced epubs. I would love to be able to use audiobook shelf to consume these files instead of needing to manage two different apps.

@flboy1758 commented on GitHub (Nov 10, 2025): I installed Storyteller and was amazed how easy it was to create audio synced epubs. I would love to be able to use audiobook shelf to consume these files instead of needing to manage two different apps.
Author
Owner

@mattague commented on GitHub (Nov 25, 2025):

One stepping stone here that would be nice for users of Storyteller might be to simply have the ability to play epub3 files like audio files - effectively treating them like m4b files today. This way, we at least wouldn't have to duplicate files to support both formats.

I feel like this would be a good alternative of doing the syncing in ABS is just too difficult.

@mattague commented on GitHub (Nov 25, 2025): > One stepping stone here that would be nice for users of Storyteller might be to simply have the ability to play epub3 files like audio files - effectively treating them like m4b files today. This way, we at least wouldn't have to duplicate files to support both formats. I feel like this would be a good alternative of doing the syncing in ABS is just too difficult.
Author
Owner

@mattague commented on GitHub (Feb 13, 2026):

Stupid me, even though I use the mobile app, most of my comments above about web browsers doesn't apply there at all.

For reference then, it looks like the mobile clients are using epub.js, so it's probably best to see if that supports synced audiobooks, and request changes over there before anything could be done in the audio bookshelf mobile app.

I don't know how relevant this still is (if ABS still uses that project), but that repo hasn't been updated in almost 6 years. I did find mention of a fork that has been worked on quite a bit:

https://github.com/intity/epub-js

@mattague commented on GitHub (Feb 13, 2026): > Stupid me, even though I use the mobile app, most of my comments above about web browsers doesn't apply there at all. > > For reference then, it looks like the mobile clients are using [epub.js](https://github.com/futurepress/epub.js), so it's probably best to see if that supports synced audiobooks, and request changes over there before anything could be done in the audio bookshelf mobile app. I don't know how relevant this still is (if ABS still uses that project), but that repo hasn't been updated in almost 6 years. I did find mention of a fork that has been worked on quite a bit: https://github.com/intity/epub-js
Author
Owner

@nichwall commented on GitHub (Feb 14, 2026):

I don't know how relevant this still is (if ABS still uses that project), but that repo hasn't been updated in almost 6 years. I did find mention of a fork that has been worked on quite a bit:

https://github.com/intity/epub-js

Yes, this is still the library being used and we know it's out of date, but haven't found and implemented a suitable replacement yet. An updated fork might be easier to switch to.

@nichwall commented on GitHub (Feb 14, 2026): > I don't know how relevant this still is (if ABS still uses that project), but that repo hasn't been updated in almost 6 years. I did find mention of a fork that has been worked on quite a bit: > > https://github.com/intity/epub-js Yes, this is still the library being used and we know it's out of date, but haven't found and implemented a suitable replacement yet. An updated fork might be easier to switch to.
Author
Owner

@coandco commented on GitHub (Feb 14, 2026):

Might be worth checking out https://github.com/johnfactotum/foliate-js -- BookLore just switched to it for ebook reading and it's been good so far.

@coandco commented on GitHub (Feb 14, 2026): Might be worth checking out https://github.com/johnfactotum/foliate-js -- BookLore just switched to it for ebook reading and it's been good so far.
Author
Owner

@Jdiesel87 commented on GitHub (Feb 14, 2026):

There is also Readium

https://github.com/readium

@Jdiesel87 commented on GitHub (Feb 14, 2026): There is also Readium https://github.com/readium
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/audiobookshelf#2240
No description provided.