
Lute Alternative
The Lute method, minus the server
Lute, short for Learning Using Texts, is free, open-source, and built around a good idea: read real texts, look up unknown words, keep each one attached to the sentence you met it in. What it asks of you first is different: install it yourself with Docker or Python, run it on a server, and export to Anki if you want scheduled review. Lira runs the same reading loop already set up, with FSRS built in from the first word you save.
Start reading freeQuick verdict
- ✓Lute: open-source, full control
- ✗Lute: Docker, a server, an Anki export step
- ✓Lira: already hosted, FSRS built in
Quick verdict
- ✓Lute: open-source, full control
- ✗Lute: Docker, a server, an Anki export step
- ✓Lira: already hosted, FSRS built in
Self-check
Is self-hosting Lute actually worth it for you?
4 questions to see if the setup step slows you down more than it helps.
Question 1 of 4
Are you comfortable installing and maintaining a self-hosted server or app yourself?
Lute or Lira: what to keep from each?
Lute is hard to beat if you want full control: open source, self-hosted, free forever, no company deciding what changes. Lira isn't trying to compete on that ground. It trades that control for zero setup and spaced repetition that works the moment you open it, no server and no export step required.
| Lute | Lira | |
|---|---|---|
| Real content reading with click-to-translate | ✓ | ✓ |
| Words kept attached to their original sentence | ✓ | ✓ |
| No installation or self-hosting required | ✗ | ✓ |
| Works fully in your phone's browser | ✗ | ✓ |
| Built-in spaced repetition (FSRS) | ✗ | ✓ |
| Fully open-source | ✓ | ✗ |
| Free to use | ✓ | ✓ |
Importing a text on Lira: paste it, drop a file, no server to set up first.
Lute, currently at version 3 (the project is often searched as "Lute v3" or "lute3", a Python/Flask rewrite of the original PHP tool, source on GitHub), gets the reading model right: real texts, words looked up in context, everything staying attached to the sentence where you found it. What it doesn't give you out of the box is a place to run it. It's self-hosted software: you install it via Docker or Python, keep a server or your own machine running, and reaching it from your phone means pointing a browser at your own instance, if you bothered to set that up. It also has no built-in spaced repetition. Lute tracks word status and leaves scheduled review to Anki, through an export step. None of that is a flaw in the software, it's the tradeoff of being free and self-hosted. Lira keeps the reading method and drops the hosting, the install, and the export step.
From a server you maintain to an app you just open
Lute asks you to be your own system administrator before you read a single page: install it, configure it, keep it running. Lira skips that part. You open it and import your text.

Pick your language, skip the install
Whichever language you're learning, importing a text takes the same few seconds, no Docker, no Python environment, no server.
What Lira actually does
Nothing to install, nothing to host
No Docker, no server, no Python package to keep updated. Open the app, import your text, start reading, on any device.
Works in your phone's browser, not through a self-hosted instance
Reading and translating happen directly in the browser you already have, without exposing your own server or pointing a tab at localhost.
FSRS built in, no Anki export needed
Every word you look up moves into spaced repetition automatically. Lute tracks word status and leaves scheduling to Anki; Lira schedules it from the start.
What you actually see while reading
No terminal, no admin panel: here's what opening a text and reviewing it looks like day to day.

Click a word, the card builds itself

Every saved word keeps its original sentence

FSRS review, no Anki export step
The science
Word status versus scheduled recall
Both tools rely on the same reading-based principle: vocabulary learned in context sticks better than isolated word lists. They differ in what happens after you look up a word. Lute records a status (new, learning, known) and leaves the actual scheduling to an external tool like Anki. Lira runs FSRS (Free Spaced Repetition Scheduler) directly, calculating the moment you're about to forget each word and resurfacing it then. Without a scheduled review step, retention drops fast regardless of how carefully you tracked status (the gray curve). With FSRS timing the reviews, it climbs and holds (the green curve).
Vocabulary retention over time
One more thing worth knowing before you commit to it
Lute is free and open source, which also means running it yourself: a Docker container or a local Python/pip install, then keeping it updated and reachable from whatever device you actually want to read on. That's a real setup step before the first page, not a one-time detail — it's the tradeoff of self-hosting. Lira is a web app with nothing to install or host: open it in a browser, on any device, and start reading.
I liked Lute's method but spent a weekend on Docker before reading a single page. Here I just opened the app.
Nabil, 33
Reaching my Lute instance from my phone was never quite worth the trouble. Most of my reading time went with it.
Chloé, 25
I don't export anything to Anki anymore, the review just happens on its own.
David, 29
Go further

Learning a Language by Reading: Your Questions Answered
Minimum level, daily time, paper vs digital: your questions on reading-based learning with Lira, answered with concrete data and sources.

How to Import a Book or Article Into Lira
A step-by-step guide to importing an EPUB, PDF, URL, or plain text into Lira, and how to start reading the right way.

Extensive Reading: The Complete Guide to Learning a Language
Extensive reading means picking texts you already understand at 90-95%. Here's why it works, how to start with Lira, and how to avoid common mistakes.

Same method, nothing to host
Import a text you actually want to read, for free, no server, no install.
Start reading free