Product · Obsidian plugin · Free

Book Reader for Obsidian

An EPUB, FB2 and PDF reader right inside Obsidian. Highlight what matters, turn it into linked notes, and keep your reading progress in the same place as your whole knowledge base.

35GitHub stars
3formats: EPUB · FB2 · PDF
RU · ENbilingual interface
v2open source

I built this plugin for myself — to read books and take notes in one place, without switching between apps. Over time it grew into a full reader, and I opened it up for everyone, for free. Here’s what it does and how to use it.

What it is

Most people keep their notes in Obsidian but read books somewhere else — then copy quotes back by hand. Book Reader closes that gap: the book, your highlights and your notes all live in one vault. Every quote becomes a real, linked note, so your reading feeds directly into your knowledge base.

Features

Formats
EPUB, FB2 and PDF in one interface. Legacy windows-1251 FB2 files are detected automatically.
Highlights in 4 colors
Yellow, green, blue, pink — for different kinds of thought. Recolor or remove any highlight.
A summary in one button
The "Export highlights" command gathers every quote into the book's note as a tidy list, keeping the color.
A note from a fragment
Turn any highlight into a separate atomic note with a backlink to the book.
Synced progress
Progress and highlights are plain files in your vault, so they travel via any Obsidian sync method.
Visual library
A shelf with covers, progress and search by title. Opens from a side-panel icon.
Paged reading
One or two columns, smooth page turns, a table of contents, and jump-to-page by number.
Themes and fonts
Dark, light and sepia; Georgia, Lora, Inter; adjustable size and line spacing.
Reading-goal timer
A small daily reading-time progress bar. 15 minutes a day by default.
Translate a selection
Optional: shows the selected fragment translated next to the original, no API key. Off by default.
Desktop and mobile
On the phone — fullscreen reading, swipe to turn pages, long-press to select.
Fully offline
No telemetry, no accounts. The only thing that uses the network is the optional translation.

Interface languages

The interface is bilingual — Russian and English. Russian is the default; English is one click away: Settings → Book Reader → “Interface language”. After changing it, restart Obsidian so the new language applies everywhere.

How it looks

A short demo — the library, reading and highlights:

Install via BRAT

Because of its size (a full reading engine inside), the plugin can’t live in Obsidian’s official catalogue. It installs through BRAT — an official tool that installs and auto-updates plugins straight from GitHub.

1
Open Settings → Community plugins → Browse, find BRAT (Obsidian42 - BRAT), install and enable it.
2
Command palette (Ctrl/Cmd + P) → BRAT: Add a beta plugin.
3
Paste the repository swayinfo/eltonlabs-book-reader, choose Latest version and tick "Enable after installing".
4
Click Add Plugin. A book icon appears in the side panel — that's the reader.

When an update ships, BRAT pulls it in automatically the next time you launch Obsidian.

On the phone — install separately

Because of its size, the plugin may not sync across devices via Obsidian Sync (there’s a file-size limit there). So on your phone do the same: install BRAT and add the plugin via the same link. Your reading progress and highlights still sync fine — they’re small.

How to use it

1
Put your books in a folder. By default the plugin looks in a dedicated vault folder; you can set it in settings. A file shows up in the library instantly.
2
Open a book from the library — it opens page by page and remembers where you left off.
3
Highlight thoughts by color. All highlights gather in a side panel next to the book.
4
Build a summary — the "Export highlights" command sends every quote into the book's note, or create a separate note from a single fragment.

All the settings are in Settings → Book Reader: books folder, reading-data folder, theme, font, size and columns, a note template for highlights, a folder for new notes, and the interface language.

Get the plugin

The plugin is free and open source. If it’s useful to you, a star on GitHub genuinely helps the project.