Theorem: Open Source EPUB and PDF Reader for Obsidian

· Theorem

8 min read Original article ↗

Read anything.
Keep every highlight.

Theorem is an open source ebook reader. It opens your PDFs, EPUBs, comics and RSS feeds in one quiet app on desktop and Android. On desktop, every highlight is written straight into your Obsidian or Logseq vault as plain Markdown.

Download Theoremv1.5.9Try it in your browserSource on GitHub

  • No telemetry
  • Markdown on your disk
  • Works offline
  • MIT licensed

Reads

9 formats

EPUB, MOBI, AZW, AZW3, FB2, PDF, CBZ, CBR and RSS, as long as they're DRM-free.

Your notes are

Plain Markdown

Written to your drive with YAML front matter, ready for Obsidian or Logseq.

Word lookups are

Offline

1.35 million Wiktionary words on your own disk, with nothing sent to the web.

It costs

$0

MIT licensed. No subscription, no account, no tracking.

Every highlight lands in your vault as a line of Markdown. There is no export step, ever.

Scroll

Highlight here. It's already in your vault.

Pick a colour and click an underlined phrase. The file on the right is what Theorem writes to your disk while you read.

Russell_1917_Mysticism_and_Logic.epubEPUB · 318 ppLocal files on disk

Metaphysics, or the attempt to conceive the world as a whole by means of thought, has been developed, from the first, by the union and conflict of two very different human impulses, the one urging men towards mysticism, the other urging them towards empirical observation.

But while the scientific attitude is cautious, tentative, and experimental, the mystical certainty is swift, complete, and profound. A scientific philosophy must seek to eliminate the human element.

To realise the unimportance of time is the gate of wisdom. In this, mysticism is right; but in its negative attitude it leads dialectic into contradiction.

13% readAbout 4 h 10 min left at your pace

vault/reading/russell-1917.mdSaved

---
title: Mysticism and Logic
author: Bertrand Russell
year: 1917
tags: [philosophy, reading]
---

# Highlights

0 highlights · plain .md on disk

A quiet place to read

Library, reader, highlights, feeds and dictionary. Nothing on screen that isn't helping you read.

Theorem reader with colour-coded highlights

Made for people who read to think

Six things readers notice first. Below them, everything else Theorem does.

Speed and formats

Big books open without a wait

EPUB, PDF, CBZ, CBR and RSS in one window. A native pre-reader unpacks a big EPUB's contents, styles and first chapters while the reader starts up, and academic PDFs zoom cleanly.

Obsidian and Logseq

Highlights file themselves

Each highlight and note is written to your vault as Markdown, with front matter, tags and timestamps. On desktop it happens as you read: no plugin, no cloud service, no export step.

Academic reading

Footnotes without losing your place

Click a footnote or citation, or a figure or table in a PDF, and Theorem Lens shows it in a small popover. Read it, close it, carry on from the same line.

Dictionary

Look up any word, offline

Download English Wiktionary (1.35 million words) in one click, or import your own StarDict files. Every lookup stays on your machine.

Listening

A natural voice that runs offline

On desktop, the Supertonic 3 neural voice reads aloud on your own CPU, with no cloud calls. Or attach a DRM-free .m4b or .mp3 audiobook.

Sync

Sync devices without a cloud

Pair your phone and computer with a QR code. Devices talk to each other directly, end-to-end encrypted, with no account and no Theorem server.

Everything else

Books, papers, comics and feeds, all in one fast reader.

Every common format
DRM-free EPUB, MOBI, AZW, AZW3, FB2, CBZ, CBR, PDF and RSS in one quiet app.

Big books open fast
A native pre-reader unpacks the contents, styles and first chapters of an EPUB while the reader starts up.

Search inside a book
Match case or whole words, and jump between results without freezing the page.

Theorem Lens
Footnotes and citations, plus figures and tables in PDFs, open in a popover, so you never lose your place.

Pages or scrolling
Switch between paged layout and continuous scroll whenever you like.

PDFs for research
Zoom from 25% to 500%, fit to page or width, show facing pages, and jump through the outline.

Remembers where you were
Your exact position, zoom and layout are saved for every book.

Your library, open to your terminal and your agents

Desktop builds include a theorem command. Claude Code, Cursor or a shell script can search your books, read chapters and pull your highlights, without opening a window.

theorem — terminalRuns on your machine

id=$(theorem --json library list | jq -r '.[] | select(.title == "Mysticism and Logic") | .id')

theorem --json search "mystical certainty" $id

[{"sectionIndex": 2, "matchText": "mystical certainty", "snippet": "…attitude is cautious, tentative, and experimental, the mystical certainty is swift, complete, and profound…"}]

theorem --json highlights list --book $id

[{"bookId": "8f3c2a1e-…", "selectedText": "the mystical certainty is swift, complete, and profound", "color": "orange"}]

Built to be called by other programs

--json on every command
Machine-readable output on stdout, ready to pipe into jq or hand to an agent.

Exit codes you can rely on
0 when it worked, 1 for a runtime error, 2 for a usage mistake. Errors go to stderr.

Plain text when piped
Colour turns off by itself when the output is not a terminal.

The same library as the app
Commands read and write the same library the desktop app uses, so there is nothing to export or keep in step.

theorem tui
A keyboard-driven terminal view for browsing your library and reading chapters as plain text.

Commands

  • search
  • read
  • dict
  • extract
  • library
  • shelf
  • highlights
  • bookmarks
  • feeds
  • opds
  • sync
  • storage
  • stats
  • export
  • open
  • tui

On Linux, turn it on in Settings → General and theorem is on your PATH. Not part of the Android app.

From file to note in four steps

No account to create. Point Theorem at your vault folder and start reading.

  1. 1

    Add your books

    Drop in EPUBs, PDFs, comics or RSS feeds. On desktop, hundreds of files import at once, with duplicates caught automatically.

  2. 2

    Read and highlight

    Mark passages in six colours, draw and leave sticky notes on PDF pages, and peek at footnotes without losing your place.

  3. 3

    Find it in your vault

    On desktop, each highlight is already in your Obsidian or Logseq folder as a clean Markdown file. You never press export.

  4. 4

    Pick up on your phone

    Scan a QR code once. Your place and your notes follow you across devices, end-to-end encrypted.

  5. Your notes, in plain text, on your disk.

The difference is where your notes live

Most readers keep your highlights in their cloud. Theorem keeps them in files you own, in a format any app can open.

FeatureTheoremReadwise ReaderKindle appApple Books
PriceFree, forever (open source)$9.99–$12.99 a monthFree, tied to the Amazon storeFree, Apple devices only
AccountNone neededReadwise accountAmazon accountApple ID
Where your notes liveOn your disk, as plain .md filesReadwise's cloudAmazon's cloud, with clipping limitsiCloud, in a closed database
Obsidian and MarkdownWritten to your vault automaticallyA plugin pulls from their APINone; email or third-party toolsNone; copy and paste
OfflineEverything: reading, search, voice (after a one-time download)Reading cached; sync needs the cloudReading only; sync needs the cloudReading only; sync needs iCloud
Read aloudOffline neural voice on your CPUCloud voices, streamedBasic accessibility voiceStandard system voice
PlatformsLinux, macOS, Windows, Android, plus a web demoWeb, iOS, Android, macOSiOS, Android, Windows, macOS, KindlemacOS, iOS and iPadOS only

Questions people ask first

Short, plain answers about how Theorem fits with Obsidian, Logseq and your phone.

Is Theorem an Obsidian plugin?

No. Theorem is a standalone, open source reader for desktop and Android. It writes your highlights and notes as plain Markdown files into a folder you choose, for example your Obsidian or Logseq vault, so there is nothing to install inside Obsidian or Logseq. Any other folder works too.

Can I export highlights from Android?

Not directly: the Android app cannot choose an export folder. Highlights you make on your phone reach Markdown through device sync. Pair the phone with a desktop copy of Theorem, let it sync, and the desktop app includes those highlights in its Markdown export. Click Export now on the computer if you want the files updated at once.

Which formats are supported?

As an ebook reader it opens EPUB, MOBI, AZW, AZW3, FB2, PDF, CBZ and CBR files, and it reads RSS feeds. Only DRM-free files open. Offline dictionaries use the StarDict and MDict formats.

Does it need an account or send my data anywhere?

There is no account to create and no Theorem server that stores your library or highlights; they stay on your device. Three features use the network when you use them. If no installed dictionary has a word, Theorem asks the online dictionaryapi.dev service, which sends the selected word. Device sync goes directly between your paired devices, and when they cannot reach each other it passes end-to-end encrypted data through a relay that cannot read it. RSS feeds and the Discover catalogue fetch from their own sources.

Get Theorem v1.5.9

Free, with no account to create. Pick your system and start reading in a minute.

Linux, in one line

The script detects your distribution and picks the right package.

curl -fsSL https://raw.githubusercontent.com/fundaments-work/Theorem/main/scripts/install-linux.sh | bash

Every build is published with SHA-256 checksums on GitHub Releases.

Support

Keep Theorem free

Theorem has no subscription and no ads. It stays that way because people who find it useful chip in, with money, code or a good word.