EPUB readers

With EPUB3, MathML has become part of the EPUB standard. Many EPUB reading systems use Webkit or Gecko to render the EPUB content. This means they face the same (lack of) MathML support as browsers.

MathJax enables EPUB reading systems to overcome these limitations without having to wait for the browser development to catch up. In particular, the IDPF’s reference implementation Readium uses MathJax to render MathML (see our announcement).

Table of EPUB reading systems

The following table gives an overview over EPUB reading systems and their MathML support.

Please help us improve this table via the comments!

Note on Webkit: Safari supports 7% Presentation MathML according to W3C test results (compared to 98% for MathJax). Other Webkit browsers do not activate Webkit’s MathML support and support virtually no MathML.

Name EPUB MathML support Platform notes
Adobe Digital Editions EPUB3 partial no cf. BISG Windows, Mac
Aldiko EPUB2? no Android
Azardi Online EPUB3 yes via MathJax web-based
Azardi Desktop EPUB3 yes via Gecko Windows, Mac, Linux
Azardi Mobile EPUB3 yes via MathJax Android, iOS
Blio EPUB2? unknown Windows, Windows Phone 7, iOS, Android
Bluefire reader EPUB3 no iOS, Android, web-based
booki.sh EPUB3? browser-dependent web based MathML will render as well as the browser allows
Cainteoir EPUB2, partial EPUB3 no Linux focus on text-to speech, open source, gtk and CLI clients
Calibre EPUB2 yes via MathJax Windows, Mac, Linux javascript support, open source
Coolreader EPUB2 no Android
Dolphin Easy Reader EPUB3(?) yes, via MathPlayer Windows only
EPUBReader EPUB2? yes via Gecko Firefox add-on
Evolu-Group Eqate EPUB2? yes via MathJax iOS white label
FBreader EPUB2 unknown open source, text-to-speech
GitdenReader EPUB3 yes iOS, Android using MathJax on Android, relying on mobile Safari on iOS
Go Read EPUB2 planned via MathJax Android open source, TTS, Bookshare support
Gyan reader EPUB3 via MathJax Android free and premium version available
Helicon Books EPUB3 reader EPUB3 via MathJax Android
ibis reader EPUB2 unknown web-based
iBooks EPUB3 via Safari iOS javascript support
Ideal eBook reader EPUB3 planned Android (in beta) javascript support
Ingram VitalSource Bookshelf EPUB3 Yes via MathJax Windows, Mac, iOS, Android, web-based
Kobo Reader epub3 see notes Kobo eReader, HTML5 app, Windows, Mac, iOS, Android, Blackberry. iOS app leverages mobile Safari’s MathML support
KooBits epub2? unknown Windows
Lektz epub3 see notes Android, iOS, Chrome app Chrome app looks like Readium, uses MathJax
Lucifox EPUB3 via Gecko Firefox Add-on
MagicScroll EPUB2? browser-dependent web-based MathML will render as well as the browser allows
Mantano Reader EPUB2 planned Android
MegaReader EPUB2? unknown iOS
Nook Apps EPUB2? unkown Windows, Mac, iOS, Android
Publiwide EPUB3 see notes multi-platform (Adobe flash/air), iOS javascript support, MathML support: web-version depends on browser
Readium EPUB3 yes via MathJax Chrome App IDPF reference implementation, open source
Sony Reader Apps EPUB2 unknown Windows, Mac, Android, web-based
Amazon Kindle app no/KF8 no multi-platform (only for comparison)
epub.js EPUB3 browser-dependent HTML5 allows javascript execution

Links

We have found the following links useful.

  • DMcCunney

    For Firefox, add Lucifox. Lucifox is an ePub addon, It’s similar in concept to EPUBReader, but does not require a catalog or keep a copy of the ePub volume in the Firefox profile directory. It’s no longer in development, but is still available through the Mozilla Addons sire. See https://addons.mozilla.org/en-US/firefox/addon/lucifox/

    For Mozilla, there was also Lucidor, and ePub reader app implemented using the Mozilla XULRunner Gecko runtime. Lucidor was cross-platform, and would run where XULRunner did. (I have it up under Windows and Linux.) It’s no longer in development and the original website is now a placeholder. You can still get the XULRunner version it used (1.9.2) from Mozilla’s FTP site, and copies of the Windows and Linux packages can still be found on third-party sites.

  • Peter Krautzberger

    Thanks! I’ve added lucifox. Lucidor seems a little outdated and since we focus on epub3 and MathML support, I’ve not added it.

  • bala

    @Peter Lucifox is supporting mathml

  • Peter Krautzberger

    Yes, through Firefox. But since it’s not being developed, we dropped it. If we’re wrong about the development, please let us know and we’ll include it.

  • Bob Kiomio

    You need to add Mantano as an EPUB2 Android reader app. They are working on an EPUB3 version. see http://www.mantano.com

  • Peter Krautzberger

    Thanks, Rob. Do happen to know something about their MathML support?

  • http://twitter.com/bobmyers Bob Myers

    You’re missing Kobo, one model of which is said to support EPUB3.

  • http://peter.krautzberger.info/ Peter Krautzberger

    Thanks for reminding us!

  • Pingback: ePUBSecrets » Blog Archive » MathML Support in EPUB Reading Systems

  • Pingback: Technische Dokumentation auf mobilen Endgeräten « SCHEMA Blog

  • Sadiq

    You may add Lektz reader as well. It is available for Android and iOS platforms, and it supports PDF, ePUB2 and ePUB3.

  • mathjax

    Thanks. Do you happen to know how their MathML support is? I couldn’t get the Android app to display epub files on Android 4.1.

  • Pingback: Math typesetting - Tools of Change for Publishing

  • Pingback: E-Books lesen an Mac und PC | Privatsprache – Projekt: Blackbox

  • MySchizoBuddy

    Can you also add Sigil. It is EPUB2 only doesn’t support Mathml and is crossplatform. Just for completion sake

  • mathjax

    Since Sigil is an editor, it’s probably not a good fit. But we’ll think about adding a table for editors.

  • Reece H. Dunn

    You can also add Cainteoir Text-to-Speech (http://reecedunn.co.uk/cainteoir/). It supports ePub 2, with support for ePub 3 metadata. I am tracking ePub 2/3 implementation at http://reecedunn.co.uk/cainteoir/formats/epub.html.

  • mathjax

    Thanks, Reece. That’s a very interesting tool! Do you plan to support MathML eventually? MathJax seems a natural option for rendering. Maybe we can get in touch?

  • akki

    hi can i know what is Epub & in which platform its used .can it be visible in mobile phones could u tel me

  • mathjax

    Please read the Wikipedia article on epub

  • torrilin

    I just tested iBooks v3.1 on an iPod Touch using iOS 6.1.3, using Calibre’s test math markup epub. Got what looked like basically raw TeX. I haven’t worked to see if I can convince iBooks to render enough javascript to use MathJax… this was just a test run to see if I could work out how to convert an open source Python book to epub. (I’m not really opposed to shortsighted and stupid conversion, so I may resort to brute force and images for a readable draft)

    My sister tested the same file with Aldiko (don’t know version numbers) on her phone, and got a similar result. Normally Aldiko lets her read epub files that I create using Calibre.

    Project Gutenberg appears to have several math textbooks available, but I couldn’t find a single one in a format other than PDF or LaTeX to test with.

  • mathjax

    That sounds like Calibre’s sample uses TeX markup instead of MathML (since it uses MathJax internally, you won’t see the difference in Calibre’s viewer). You can check this by opening the source xhtml in the epub3 file (it’s a zip file). This is technically not invalid epub3 (since it’s plain text), but since only MathML rendering is required by epub3 readers we can’t expect TeX syntax to render. You have to find a way to convert the TeX commands into MathML. Tools for this are LaTeXML and tex4ht (both can deal with full fledged LaTeX documents) or blahtex and other math-mode specific converters. Pandoc is another alternative.

    For an experimental way to include MathJax within an epub file to improve rendering on iBooks, see this blog post.

  • torrilin

    Yeah, that’s what I figured as well. I figured the Aldiko field report might be useful tho, incomplete as it is.

    I’m good enough at reading manuals to puzzle things out sometimes, so I’ll see if the tools you suggest are ones I can understand. I’ve been using Markdown as part of the turn webpage into ebook process, but I’ve been sticking pretty closely to texts that are trivial to manage with the original perl script, so up til now almost any Markdown parser would work. A lot of that is meant as self defense tho, since the set of things epub handles well and the set of things markdown.pl handles well are pretty congruent.

    I probably won’t experiment with a stripped down MathJax install. I’m not a good programmer, and neither is my sister… and the whole point is to get the Python book into a more helpful format for her.

  • mathjax

    If you’re coming from a Markdown+MathJax base, then pandoc might be a perfect fit. It includes an epub3 output mechanism in its latest release. Just beware that iBooks only has rudimentary MathML support.

  • http://reecedunn.co.uk/ Reece Dunn

    Hi, I intend to support MathML at some point as I am a fan of it. I don’t intend on supporting JavaScript as Cainteoir TTS is not a full browser, but an ebook reader/voice browser style application, so I will not be able to use MathJax. Also, I am trying to keep the processing serial in a reader-style API without creating a DOM internally for performance reasons.

    My intention is to support CSS and use that to describe how to (a) display and (b) pronounce/speak the various XML formats. This is to make it easier to support other formats in the future and to describe the existing formats Cainteoir supports. I just need to figure out how to make this work :).

  • http://www.infogridpacific.com/ Richard Pipe

    FYI AZARDI Mobile (WebApp for iOS), App for Android now use MathJax. However they are only available for controlled channel delivery content and are not free/public reading systems.

  • mathjax

    Thanks, Richard. We’ve updated the page.

  • Manuel

    I don’t agree. I am writing a book that has MathML content and, while readers like Calibre, Readium or iBooks display it perfectly, Kobo in my Android tablet doesn’t behave very well. For example, subindices are not correctly displayed.

  • mathjax

    Thanks for the information. The original comment was merely pointing out that Kobo is missing from our list — not that Kobo displays MathML.

  • Pingback: Bitingduck Press Releases Truly Tricky Graduate Physics Problems in Truly Tricky Formats for All E-Readers | Watch List News

  • Roman Plch
  • mathjax

    Thanks for pointing this out! It actually uses MathJax on Android, so MathML support is great!

  • Eduniche

    Math is one of the
    tricky subject . Choose math for better percent .