Search tool for EPUB e-books
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
tastytea 1c1cccbcd3
continuous-integration/drone/push Build is passing Details
Update german translation.
2 years ago
cmake std::filesystem compatibility for older GCC. 2 years ago
dist/termcolor Merge commit '6c33fb4dcebd5464d89ca3fb98bdf23847d81fbf' as 'dist/termcolor' 2 years ago
man Add --nocolor to man page. 2 years ago
src Add --nocolor switch. 2 years ago
tests Add test for search helpers. 2 years ago
translations Update german translation. 2 years ago
.clang-format Add .clang-tify and .clang-format. 2 years ago
.clang-tidy Add .clang-tify and .clang-format. 2 years ago
.drone.yml Support CMake 3.12. 2 years ago
.editorconfig Initial commit. 2 years ago
.gitignore (Re-)generate .pot file by default, update readme. 2 years ago
AUTHORS Initial commit. 2 years ago
CMakeLists.txt Version bump 0.2.0. 2 years ago
CODE_OF_CONDUCT.adoc Initial commit. 2 years ago
CONTRIBUTING.adoc Add translator's information. 2 years ago
CREDITS Typo in readme, add Termcolor to CREDITS. 2 years ago
LICENSE Initial commit. 2 years ago
README.adoc Fix unterminated ` in readme. 2 years ago
screenshot.png Add screenshot. 2 years ago



epubgrep is a search tool for EPUB e-books. It does not operate on lines, but on whole files. All newlines will be replaced by spaces and HTML will be stripped. This means you can search for text spanning multiple lines and dont have to worry about HTML tags in the text.

epubgrep is licensed under the AGPL-3.0-only license. The bundled Termcolor is licensed under the BSD-3-Clause license.

Table of Contents


Screenshot of epupgrep, showing the output of 2 book searches.

See man page for more information.


Packaging status


eselect repository enable guru
echo 'app-text/epubgrep' >> /etc/portage/package.accept_keywords/epubgrep
emaint sync -r guru
emerge -a app-text/epubgrep

From source


  • Tested OS: Linux

  • C++ compiler with C++17 support (tested: GCC 7/10, clang 6/11)

  • CMake (at least: 3.12)

  • Boost (tested: 1.75.0 / 1.65.0)

  • gettext (tested: 0.21 / 0.19)

  • libarchive (tested: 3.5 / 3.2)

  • fmt (tested: 7.0 / 4.0)

  • AsciiDoc (tested: 8.6 / 9.0)

  • Termcolor (tested: 2.0) (If not found, the bundled version is used.)

  • Optional

    • Tests: Catch (tested: 2.13 / 1.10)

Get sourcecode


Download the current release at

Development version
git clone


mkdir -p build && cd build
cmake ..
cmake --build . -- --jobs=$(nproc --ignore=1)
# cd tests && ctest
CMake options:
  • -DCMAKE_BUILD_TYPE=Debug for a debug build.

  • -DWITH_TESTS=YES if you want to compile the tests.

  • -DXGETTEXT_CMD=String The program to use instead of xgettext.

  • -DFALLBACK_BUNDLED=NO if you dont want to fall back on bundled libraries.