A simple, focused eBook reader

Read the books you love without having to worry about different format complexities like epub, pdf, mobi, cbr, etc.


The current version of Bookworm (v1.1.2) supports eBooks in the following file formats

  1. EPUB
  2. PDF
  3. MOBI
  4. FB2
  5. CBR
  6. CBZ

These are the views for library management and reading in Bookworm

1. Toggle between a grid view and a list view for the library. Editing the book metadata is possible in both views however the list view allows sorting of metadata. Filtering is possible using the search bar in the library view.

2. An easy, simple layout to read books irrespective of the ebook format (epub, pdf, cbr, fb2, mobi, etc). A preference menu [] allows essential adjustments for text zoom in/out, margin increase/decrease and line width increase/decrease. Bookworm comes with three reading profiles of light, sepia and dark. Multiple pages of the book can be bookmarked [ ]. Full screen mode is supported on right click or with the shortcut F11.


3. The info button [] provides the following tabbed information:

  1. Contents: A table of contents to easily jump to a chapter
  2. Bookmarks: The clickable list of bookmarks to jump to a bookmarked page of the book
  3. Search Results: A clickable list of lines contaning the search phrase found in the book
  4. Annotations: A clickable list of all annotations added for the book

4. The preference button [] on the header bar provides further customization options:

  1. Enable Night Mode: Turn on Dark Theme
  2. Enable Cache: Preserve the contents extracted from eBook for faster subsequent reading
  3. Library View at start: Always show the library view when Bookworm is opened
  4. Customize font: Choose font family from available fonts on the system and font size
  5. Customize reading profile: The text and background color for all three reading profiles can be customized
  6. Auto load books: Multiple folders can be added (and removed) to automatically add supported eBooks into the library

Bookworm has the following shortcuts

Location Shortcut Function
Anywhere Ctrl + Q Close Bookworm
Anywhere Ctrl + F Focus the Search Bar
Library View Ctrl + V Switching between Grid View and List View
Reading View Ctrl + L Return back to Library View from Reading View
Reading View Left and Right Arrow Previous and Next screen navigation
Reading View Ctrl + '-' Decrease Font Size
Reading View Ctrl + Shift + '+' Increase Font Size
Reading View F11 Enter Full Screen
Reading View Esc Exit Full Screen
Reading View Ctrl + D Add/Remove Bookmark


Bookworm is currently developed for Elementary OS but the roadmap is to make it distro agnostic in the future

If you are using Elementary OS then Bookworm is available on Appcenter for installation
Get it on AppCenter



Bookworm is available as a PPA for Ubuntu (16.04 upwards) and other Ubuntu based systems. Open Terminal and run the following comands for installation

sudo add-apt-repository ppa:bookworm-team/bookworm
sudo apt-get update
sudo apt-get install com.github.babluboy.bookworm
In case of issues related to missing libgranite package, add the Elementary PPA as shown below and re-try. The Elementary PPA can be removed after Bookworm is installed.
sudo add-apt-repository ppa:elementary-os/stable
sudo apt-get update
sudo apt-get install com.github.babluboy.bookworm



Use this link to install Bookworm on openSUSE
openSUSE package for Bookworm



If you have Flatpak on your system, then install Bookworm as a Flatpak application by running the following command in terminal

 flatpak install --from https://flathub.org/repo/appstream/com.github.babluboy.bookworm.flatpakref



If you want to build Bookworm from source on GitHub from the latest code base, then ensure the following binaries are installed

  • unzip
  • poppler-utils
  • unar
  • html2text
  • python2
  • Ensure the following build dependencies are installed

  • libgtk-3-dev
  • libgee-0.8-dev
  • libgranite-dev
  • libsqlite3-dev
  • libxml2-dev
  • libwebkit2gtk-4.0-dev
  • webkit2gtk-4.0
  • libpoppler-glib-dev
  • meson
  • valac
  • gettext
  • ninja
  • appstream
  • curl
  • Install the build dependencies above with the following command on Ubuntu and Debian distros

    sudo apt-get install unzip unar python2 libgtk-3-dev libgee-0.8-dev libxml2-dev libgranite-dev webkit2gtk-4.0 libwebkit2gtk-4.0-37 libsqlite3-dev poppler-utils libpoppler-glib-dev html2text curl meson valac appstream gettext ninja

    Then execute the following commands (in your home dir) to build Bookworm

    git clone https://github.com/babluboy/bookworm.git
    cd bookworm
    meson build --prefix=/usr
    mkdir -p build && cd build

    Then execute the following commands to install Bookworm

    sudo ninja install



    If you want to build Bookworm from source on Fedora, the same build commands are required but some of the libraries are named different

    sudo dnf install gtk3-devel libgee-devel granite-devel
    sudo dnf install webkitgtk4-devel sqlite-devel poppler-glib-devel html2text curl


    Bookworm uses Weblate translation. You can contribute by translating Bookworm to your favourite languages and make the user experience better. Use the badge below to navigate to the Weblate site for simple browser based translation.

    Translation status

    Bookworm is open source on GitHub. If you can find your way around in Vala, GTK and WebKit then Pull Requests are welcome. Otherwise you can raise an issue for a feature request.

    ...Or you can buy me a coffee to keep me hacking away at Bookworm