A quiet home for everything you read, and everything you think about it.
Books, papers, comics, audiobooks and podcasts in one library on your own computer,
with highlights, notes, flashcards and a reading calendar that stay yours.
Why · Screenshots · Features · Privacy · Formats · On disk · Install · Build · Docs
Note
Libreri is close to its first public beta. Everything below is built and works on macOS, Windows and Linux; installers are not signed yet, so your system will ask once before opening it.
Most reading apps want your books in their cloud and your notes in their format. Libreri takes the opposite view: your library is a folder you own, your notes are plain Markdown next to it, and the app is simply a good place to read, think and remember.
|
Books stay as the files they are. Notes, highlights and your reading calendar are kept beside them as readable files. Move the folder, sync it, back it up: every link still works. |
Nothing leaves your computer unless you ask for it. The speech, voice, OCR and maths models run on your machine. There are no accounts, no tracking, no ads. |
Highlights that link back to the page, a notebook per book, maths everywhere, flashcards from your own highlights, and search across every word you own. |
- Bring books in by dragging files or whole folders. Duplicates are recognised by their content, and books you move on disk are found again.
- Organise with real folders, tags, categories, ratings, reading status and favourites, and save any search as a smart collection.
- Series get their own view: every series with its covers, how far you are, and the next book to read.
- Grid, list and shelf views stay smooth with 10,000 books and more.
- Fill in details by ISBN, DOI, arXiv id or title from eight free sources, with covers. Scan a barcode with your camera or phone.
- Search inside every book, scans included: Tesseract reads scanned pages, or download PaddleOCR-VL to read tables and formulas too.
- Look after it: a health check, version history for edited PDFs, and automatic backups.
- Tabs, split view and separate windows, all remembered when you come back.
- Nine page themes, dark PDFs, brightness, contrast, text size and spacing; full screen, focus mode, two-page spreads, manga and webtoon modes.
- Zoom with buttons, Ctrl+scroll or a pinch, and print PDFs.
- Look up a word or a name you select: its meanings from Wiktionary, or a short Wikipedia summary, in the book's language.
- ADHD reading: bionic reading (on ebooks and on PDF and scanned pages), a line highlight under the pointer, and a reading mask.
- Works in narrow windows, down to a third of the screen.
- Highlights in four colours and comments, which can hold maths (
$x^2$,$$\int f$$) drawn as you type. - A Markdown notebook for every book, plus notes that belong to no book.
- Markup on PDF and comic pages: pen, shapes, stamps, signatures and a measuring tool.
- Handwriting canvases beside the book, with clip from page and ink to text.
- Paper notes photographed with your camera or phone, cleaned up and made searchable.
- Voice notes and dictation, written down on your computer.
- Maths as LaTeX, copied from the text or read from a picture of the page.
- A Notes hub that gathers everything across books, and exports to Markdown and Obsidian.
- Daily review turns your highlights into flashcards on a spaced schedule (FSRS, the method modern Anki uses): passages to complete, questions from your comments, and cloze cards that hide chosen words or whole formulas. Export them to Anki at any time.
- A reading calendar with month, week and day views, reading goals ("finish by…"), due dates, streaks and the pages a day to stay on track. Export it to any calendar app.
- A study timer with focus sessions, a countdown and a stopwatch. It counts as reading the open book, offers to note what you took away at each break, and shows in the macOS menu bar or the Windows and Linux tray.
- Read aloud with the sentence highlighted and the page turning by itself, maths read as words, in your system's voices or natural voices made on your computer: Kokoro (54 voices in nine languages) and Piper (40+ languages, only voices free to use).
- Audiobooks with chapters, sleep timer and bookmarks, and an audiobook linked to its ebook so the page follows the voice.
- Podcasts: find shows (Apple Podcasts, or Podcast Index with your own key), follow them, stream or download, with Up next and a speed for each show. Transcripts and chapters follow along; shows without a transcript can be written down on your computer. Note this moment saves what was said into the notebook of the book you are reading, linked to the page.
- One floating player for all of it, which folds into a small box.
- Feeds for arXiv categories and searches, journals, newsletters and blogs (RSS, Atom, OPML), in folders.
- Download papers and articles (as clean Markdown), read them in the full reader, and add them to your library with authors, abstract, DOI, arXiv id and journal already filled in.
- Share a paper as a link, a BibTeX citation or a Markdown link.
- Pages: reorder, rotate, delete, insert, crop, extract, split and merge.
- Redaction that truly removes the text, text corrections and forms.
- Make files smaller, and write OCR text into scans.
- Every save keeps the previous version, and your notes move to the right pages.
- Profiles with 6-digit PINs, auto-lock, Kids profiles limited to chosen folders, and guests who leave nothing behind.
- Everyone keeps their own notes, places, collections, feeds, podcasts, flashcards and calendar.
- 100+ keyboard shortcuts, all changeable, a command palette (Ctrl+K), and optional Vim keys.
- Accessible: screen-reader labels, strong contrast and visible keyboard focus throughout.
- Spell check in 45+ languages, with word completion that learns from your books.
- Export to Libreri archives, CSV, Excel, JSON, BibTeX, RIS, CSL-JSON, Obsidian and Calibre; import from Calibre, Zotero, Mendeley, Goodreads and StoryGraph.
- Backups and archives carry everything: books, notes, flashcards, the calendar, feeds and podcasts.
- Updates itself when a new version is out, after asking you.
Only what you ask for, and only the minimum:
| When you… | Libreri contacts | It sends |
|---|---|---|
| Fill in a book's details | Open Library, Google Books, Crossref, arXiv, OpenAlex, Semantic Scholar (ISBNdb and ComicVine with your own key) | The ISBN, DOI, arXiv id or title |
| Look up a word | Wiktionary, Wikipedia | The selected words and the book's language |
| Follow feeds or podcasts | The feed's own site; Apple Podcasts or Podcast Index to search | The address, or your search words |
| Download a voice, model or dictionary | Its official download site | Nothing about you |
| Check for updates | GitHub (Libreri's releases) | Nothing about you |
Your books, notes, highlights and reading habits never leave your computer. The full privacy policy explains it in more detail.
| Formats | |
|---|---|
| Documents | PDF (with forms), DjVu |
| Ebooks | EPUB, MOBI, AZW3, FB2 (DRM-free) |
| Text | Markdown (maths, Mermaid diagrams, code), RTF, plain text |
| Comics | CBZ, CBR, CB7, CBT, CBA |
| Audio | MP3, M4B, M4A, AAC, OGG, Opus, FLAC, and podcasts |
A few formats use small helper programs, which Libreri installs with one click (Homebrew, winget, apt, dnf, pacman or zypper). The Flatpak has them built in, except unar:
| Helper | Used for |
|---|---|
| DjVuLibre | DjVu books |
| Tesseract | OCR and searchable scans |
| unar | CBA (ACE) comics; optional |
| eSpeak NG | Read aloud where the system has no voices, and natural voices |
Optional downloads, each with its own Delete button: natural voices (Kokoro and Piper), speech models (whisper.cpp), the PaddleOCR-VL model, the pix2tex maths model, dictionaries, OCR languages and canvas fonts.
My Library/
├── Books/ your books and audiobooks, in your own folders
├── Notes/<profile>/ notebooks, canvases, voice notes, paper notes, web pages
├── Feeds/<profile>/ papers, articles and podcast episodes you downloaded
└── .library-data/ the catalogue, covers, versions, and a JSON copy of every
book's details, your highlights, flashcards and calendar
Only relative paths are stored, so a library can be moved, synced or opened on another computer. The catalogue can be rebuilt from the files at any time, and nothing is ever kept only inside the database. Every file is written aside and swapped in, so a sudden quit never leaves half a file. More in data portability.
Download the installer for your system from Releases: a .dmg for macOS (Apple Silicon or Intel), an .msi or .exe for Windows, and an AppImage, .deb or .rpm for Linux. Each release also has a Flatpak (Libreri.flatpak) with its helper programs built in; Flathub is on its way (details).
Until the builds are signed, your computer asks before opening Libreri the first time:
- macOS: the first time you open it, macOS says it "could not verify" Libreri. Click Done, open System Settings › Privacy & Security, scroll down to "Libreri.app" was blocked and click Open Anyway, then enter your password. Or, in Terminal:
xattr -dr com.apple.quarantine /Applications/Libreri.app. - Windows: if SmartScreen appears, choose More info, then Run anyway.
After that, Libreri tells you when a new version is ready (Settings › General › Updates).
Libreri can open PDF, EPUB, Kindle (MOBI, AZW3), FB2, DjVu, comic (CBZ, CBR, CB7, CBT, CBA) and M4B files from your file manager. A book already in your library opens straight away; any other file is added first (copied, unless you choose to move it). To make Libreri the default for a type:
- macOS: right-click a file › Get Info › Open with › choose Libreri › Change All…
- Windows: right-click a file › Open with › Choose another app › Libreri › Always. Or Settings › Apps › Default apps › Libreri.
- Linux: right-click a file › Open With › Libreri, and set it as the default there (or in a terminal:
xdg-mime default Libreri.desktop application/pdf; for the Flatpak,io.github.avmg0.Libreri.desktop).
You need
- Rust via rustup. The right version (1.95) is installed automatically from
rust-toolchain.toml. - Node.js 20+ and pnpm 10 (
corepack enable). - Tauri's platform prerequisites:
- macOS 13.3 or newer: Xcode Command Line Tools (
xcode-select --install). - Linux:
libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev. - Windows: Microsoft C++ Build Tools and WebView2 (included with Windows 11).
- macOS 13.3 or newer: Xcode Command Line Tools (
Run
pnpm install
pnpm dev # the app, with hot reload
pnpm build # installers in target/release/bundle/The development build is much slower than the finished app; build it to judge speed.
Other commands
| Command | What it does |
|---|---|
pnpm test |
Frontend tests (Vitest) and Rust tests |
pnpm lint |
ESLint, TypeScript and Clippy |
pnpm format |
Prettier and rustfmt |
pnpm gen:ipc |
Regenerates the TypeScript types from the Rust commands |
pnpm icons |
Regenerates the app icons from assets/app-icon.png |
cargo run -p libreri-library --release --example seed -- <books> <library> |
Makes a library from a folder of books, for trying things out |
cargo test -p libreri-library --release scale -- --ignored --nocapture |
Times everyday work with 10,000 books |
How the code is organised
apps/desktop/src React interface, one folder per feature (features/*); readers/ holds the book renderers
apps/desktop/src-tauri Thin Tauri shell: commands, events, the book:// protocol, the updater
crates/libreri-core Domain types, ids and the library layout
crates/libreri-db SQLite and migrations
crates/libreri-library The library folder: import, scan, sidecars, profiles, notes, versions, feeds, study and review
crates/libreri-jobs Background jobs with progress and cancel
crates/libreri-profiles 6-digit PINs (Argon2id), lockout and recovery codes
crates/libreri-formats Details, covers and text from every format; OCR words
crates/libreri-thumbs Covers and thumbnails
crates/libreri-metadata Online details from eight sources; word look-up
crates/libreri-scan Barcodes, the phone page, paper-note clean-up
crates/libreri-export Exports, citations, Libreri archives, Anki decks
crates/libreri-helpers Finding and installing helper programs; downloads
crates/libreri-search Full-text search (SQLite FTS5)
crates/libreri-pdf-edit Page editing, redaction, markup export, forms
crates/libreri-speech Voice notes, dictation, audiobook sync, transcripts (whisper.cpp)
crates/libreri-spell Spell check and word suggestions
crates/libreri-maths Maths from pictures (pix2tex with candle)
crates/libreri-links Links to pages and videos, offline copies, the local player
crates/libreri-feeds RSS, Atom, OPML, arXiv and podcasts
crates/libreri-ocr Optional OCR models (PaddleOCR-VL)
crates/libreri-voices Natural voices for read aloud (Kokoro, Piper)
Dependencies only point downward: interface → shell → crates → core.
Built with Tauri 2, Rust, SQLite, React, TypeScript, Tailwind and shadcn/ui. Books are drawn with PDF.js, foliate-js, KaTeX and Mermaid; models run with candle, whisper.cpp and ONNX Runtime; flashcards are scheduled with ts-fsrs.
| Document | What it covers |
|---|---|
| Architecture | How Libreri is built: the stack, the layers, every crate, the library folder and the optional downloads |
| Code structure | Where each feature lives, from the interface down to the crates, and the rules for adding code |
| Data portability | How books, notes, highlights and links are kept, moved, backed up and restored, so nothing is ever locked in |
| Third-party licences | Every library Libreri is built on, with its licence |
| Privacy policy | What stays on your computer, and exactly what goes online when you ask |
| Terms of use | What the free-software licence means for you, in everyday words |
| Contributing | Reporting bugs, sending changes, and the contributor agreement |
Libreri is free software: you can use it, study it, change it and share it under the terms of the GNU General Public License, version 3 or (at your option) any later version. If you share a changed version, share its source under the same licence.
It comes with no warranty. The libraries it is built on, and their licences, are listed in third-party licences.
Made for people who read to learn.



