Local Book Reader

approved

by SunnyD0697

Read local ebooks in Obsidian with progress, bookmarks, excerpts, and research notes. 在 Obsidian 中阅读本地电子书,支持进度、书签、摘录与研究笔记。 - This plugin has not been manually reviewed by Obsidian staff.

4 stars352 downloadsUpdated 1mo agoMIT

Local Book Reader

English | 简体中文 | 繁體中文 | Français

Local Book Reader is a desktop-only Obsidian plugin for reading and organizing personal ebooks in the active Vault. It keeps ebook handling local, treats original ebook files as read-only input, and stores research results as normal Markdown.

Release status: 0.3.6 is the latest GitHub public-release version. Download the dedicated installation ZIP from the GitHub Release.

Community-directory status: Local Book Reader is available in the Obsidian community-plugin directory.

What it does

  • Opens unencrypted EPUB, MOBI, AZW, AZW3, TXT, and PDF files from the active Vault.
  • Provides a manual, resumable Personal Library scan with search and filters.
  • Saves reading progress, bookmarks, excerpts, reader appearance, and plugin-owned backups locally.
  • Creates reading and research Markdown notes only when the user asks.
  • Supports local PDF rendering with a bundled offline worker.

Verified scale and performance

In a real local ebook collection on Obsidian desktop for Windows, the initial full scan of 10,336 ebooks completed in about two minutes. The scan reports progress and can be paused, resumed, or cancelled. This is an observed test result, not a minimum performance guarantee; actual time depends on the computer and the collection.

Safety and privacy promises

  • Original ebooks are read-only: the plugin must not copy, move, rename, overwrite, or delete them.
  • There is no ebook-deletion feature.
  • DRM bypass and DRM-protected books are out of scope.
  • The plugin does not intentionally make network requests, start a server, execute external programs, collect telemetry, or require an account.
  • Ebook content is untrusted input. The bundled foliate-js reader patch removes iframe allow-scripts for the Electron/Chromium environment.

Some actions intentionally affect plugin-owned data or user-requested Markdown notes. A user-confirmed backup export may create a new JSON file outside the Vault at a location the user selects. Read PRIVACY.md and SECURITY.md for the complete boundaries.

Public-preview requirements

  • Obsidian desktop 1.12.7 or newer
  • Windows desktop; this preview has not yet been validated on macOS or Linux
  • A Vault containing ebooks you are permitted to read
  • English, Simplified Chinese, Traditional Chinese, and French interfaces. Existing installations retain Simplified Chinese; new installations begin in English and can switch in Local Book Reader settings. Switching never renames, moves, or rewrites existing ebooks, notes, folders, or reading data.

Mobile devices are not supported.

Install, upgrade, and uninstall

Download the dedicated plugin ZIP from the GitHub Release. Do not use the automatic GitHub Source code (zip) archive as an install package.

Detailed installation, upgrade, backup, and uninstall instructions are in docs/INSTALLATION.md. Test the preview first in a separate Vault with non-sensitive sample books.

Build from source

Use Node.js 22.13.0 or newer and pnpm 11.9.0:

pnpm install --frozen-lockfile
pnpm run build

The production runtime artifacts are main.js, manifest.json, and styles.css. The PDF Worker is bundled inside main.js, so the build follows the standard Obsidian community-plugin installation layout. Do not commit generated runtime artifacts; they belong in GitHub Release attachments.

Known boundaries

  • Distributed through the Obsidian community-plugin directory and GitHub Releases.
  • Scanned-image PDFs do not provide OCR.
  • The project does not provide cloud sync, ebook conversion, online metadata, AI features, text-to-speech, or full-library content indexing.
  • Automatic ebook organization, renaming, moving, merging, and deletion are deliberately excluded.

Project boundaries

This project is not a general ebook manager, cloud reader, DRM tool, or content-conversion service. It deliberately avoids automatic full-Vault ebook indexing during Obsidian startup; use the Personal Library's explicit scan or refresh action instead.

Contributing and support

Author

Created and maintained by Sunny D (@SunnyD0697).

License

Local Book Reader is licensed under the MIT License. Bundled third-party components retain their respective licenses.

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.