45

I'm able to view an epub file in, say, okular, select all the text and copy-paste into a text editor. I'd like a command line method - anyone know of such a thing?

1
  • I'd recommend You to use some firefox epub-reading extension instead of an okular.
    – Adobe
    Mar 31, 2012 at 15:49

5 Answers 5

52

I don't know if Calibre is worth installing for your job, but if you have it you could use the powerful ebook converter:

ebook-convert input.epub output.txt

Output format is deducted from output file extension

I imagine there could be some XML tools/scripts (XSLT) that can transform epub in text as epub is basically XHTML in ZIP archive

4
  • 1
    Calibre (and it's "ebook-convert") is very powerful tool indeed! Thanks!
    – drevicko
    Feb 10, 2012 at 7:28
  • 1
    If you've installed calibre on OS X, the command line tool can be found here: /Applications/calibre.app/Contents/MacOS/ebook-convert.
    – funroll
    Jan 2, 2016 at 18:15
  • If you use the command line tool, you might have to configure or set options to get proper output or you could end up with the wrong encoding when converting from epub to plain text for example. Using the app interface, default settings seems to work fine. May 1, 2017 at 12:01
  • from the documentation, "The options & defaults change, depending on both the input & output formats, so you should always check with: ebook-convert input.format output.format -h" (see: manual.calibre-ebook.com/generated/en/ebook-convert.html )
    – michael
    Dec 22, 2020 at 9:39
10

An alternative is epub2txt by Kevin Boone, available on Github.

epub2html is a simple command-line utility for extracting text from EPUB documents and, optionally, re-flowing it to fit a text display of a particular number of columns. It is written entirely in ANSI-standard C.

Usage example:

epub2txt input.epub > output.txt
1
  • 1
    from the linked github page (as of 2020): "Please note that this version of epub2txt is obsolete. It has been completely re-implemented as a new project, epub2txt2" github.com/kevinboone/epub2txt2
    – michael
    Dec 22, 2020 at 9:49
9

MuPDF can convert from epub to html and txt. To install it:

sudo apt install mupdf mupdf-tools

To use it:

mutool convert -o somefilename.txt somefilename.epub 

It assumes txt output from the -o option.

See mutool convert documentation for more information.

3

Maybe Calibre can suit your needs.

See What formats does calibre support conversion to/from? for information on supported formats.

1
  • 3
    Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.
    – hhlp
    Mar 23, 2013 at 10:49
0

To convert an epub document to plain text from terminal:

pandoc input.epub | lynx --stdin --dump > output.txt

It is assumed that pandoc and lynx are already installed.

Not the answer you're looking for? Browse other questions tagged or ask your own question.