Tome Reader
unlistedby katrinasenpai
Read EPUB books in beautiful themes, capture quotes and vocabulary into notes, get auto-built tables of contents, and optionally plug in your own AI key for translations and recaps.
π Tome Reader
A beautiful e-book reader for Obsidian β Tome for short. Read your EPUB library right inside your vault β and turn reading into notes: capture quotes with your thoughts and grow a vocabulary with flashcard-ready entries. Works on desktop and mobile.
Built by a humanities person who wanted her library to feel like a library.

Screenshots
![]() Select a word β pick a dictionary β save a flashcard-ready entry | ![]() βWhat happened so far?β β a spoiler-safe recap built only from what you've already read |
![]() TOC panel: pinned bookmarks on top, chapter search below | ![]() Theme, font size, spacing and text color β right in the reader |
![]() Gray Fog theme on a tablet | ![]() Tuned for touch |
Screenshots show the Russian UI β English is the default (switch anytime in settings).
Features
Reading
- π EPUB reading in a native Obsidian tab β open any
.epubfrom your vault - π¨ Four themes: Classic Light, Classic Dark, Parchment (aged paper with warm brown ink) and Gray Fog (dark academia with a crimson accent)
- π€ Aa panel right in the reader: switch theme, adjust font size, line spacing and even text color on the fly β without leaving the page
- βοΈ Typography controls: custom font family, size, spacing
- π Table of contents panel with chapter search, current-chapter highlight and auto-scroll β works reliably even for books with a thousand chapters
- πͺ Auto-generated TOC: if a book ships with a broken or empty table of contents (looking at you, converted web novels), Tome scans the text and builds one from the headings β cached per book. Note: books converted from PDF often lose heading markup entirely β Tome builds from whatever headings survived the conversion
- π Reading position remembered per book, chapter name and progress % in the header
- π Bookmarks: drop one at the current page from the header, or pin a selected passage β they live at the top of the TOC panel, one tap to jump back. Wander around the book freely; your marked spot waits for you
- π± Mobile-friendly: tap zones for page turns with a subtle turn animation (respects reduced-motion), tuned for tablets and phones
Capture while you read
- π Selection β book note: select a passage, add your own thought inline, and Tome saves the quote (with chapter reference) into a per-book note β created automatically
- πΆ Selection β dictionary: select a word, type its translation right there, and it lands in your dictionary file as a spaced-repetition-ready line (
word:::translation) β pairs perfectly with the Spaced Repetition plugin - βοΈ Fix typos right in the book: select a flawed fragment, type the correction β Tome edits the EPUB file itself (only when the fragment is unique in the chapter, so nothing gets mangled)
- β¨οΈ Enter to save, Esc to go back β your reading flow stays unbroken
AI assistant (bring your own key)
- β¨ Optional AI helper β plug in your own API key and Tome becomes a smart reader. Supports Groq, OpenAI, OpenRouter, Anthropic (Claude) or any OpenAI-compatible endpoint
- π Translate a selection with one tap β then send the translation straight into your dictionary
- π‘ Explain a fragment β terms, idioms, cultural references, with the surrounding paragraph as context
- π βWhat happened so far?β β Tome collects the text before your current position and asks the model for a spoiler-safe recap; ask free-form questions about the book the same way
- π Save recaps and answers into the book note with one tap β each lands as a tidy callout with the chapter and progress stamp
- π Privacy-transparent: nothing is sent anywhere unless you configure a provider and tap an AI action; only the relevant fragment (or already-read text for book questions) is sent to your provider
- π Provider geo-blocked in your region? The Base URL is editable β point it at your own relay (e.g. a tiny Cloudflare Worker that forwards requests to the API host) and keep the same key. A Test connection button in settings tells you right away if the route works
Interface
- π English and Russian UI (English by default β switch in settings)
Roadmap
- FB2 support
- Swipe page turns and page-flip animation
- Reading progress in note frontmatter (for Dataview book boards)
- Community plugin catalog submission
Install
Via BRAT (recommended for now):
- Install and enable the BRAT plugin
- BRAT settings β Add Beta Plugin β
katrinasenpai/tome-reader - Enable Tome in Settings β Community plugins
From source:
npm install
npm run build
Copy manifest.json, main.js, styles.css into <vault>/.obsidian/plugins/tome-reader/ and enable Tome.
Development
npm run dev # watch mode
npm run install-vault # build + copy into the vault set in install-vault.mjs
License
MIT
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.





