Spaced repetition algorithms all answer the same practical question: when should a learner see each card again? Leitner uses fixed boxes, SM-2 updates an ease factor and interval, Anki's legacy scheduler extends SM-2, and FSRS models difficulty, stability, and retrievability against a desired-retention target.
This is the broad algorithm map. If your decision is specifically FSRS vs SM-2, use the dedicated FSRS vs SM-2 comparison, which covers current Anki settings, optimization, and migration without mixing in other algorithms.
What "spaced repetition" actually means
Before the algorithms: a one-paragraph reminder of the science, because half the internet's takes on FSRS-vs-SM-2 are people who don't quite know what either is solving for.
Cepeda et al. (2008) tested spacing across retention intervals and found that the best study gap depends on how long the learner needs to retain the material. The follow-up question every spaced repetition algorithm tries to answer is: given a card you've seen before, when should the next review happen? Too soon can waste effort; too late increases the chance that recall fails.
Every algorithm below is a different bet on how to answer that one question.
Leitner (1972) — the cardboard algorithm
Sebastian Leitner published his system in So lernt man lernen (1972). It is the algorithm your German cousin used in 1985 with a shoebox.
The mechanism: five physical boxes. New cards start in Box 1. Get a card right, it moves up one box. Get it wrong, it goes back to Box 1. You review Box 1 every day, Box 2 every two days, Box 3 every four days, and so on roughly doubling. There is no per-card state beyond which box it's in.
What Leitner gets right: it is a simple, visible way to expand review intervals after successful recall. A learner can operate it with physical cards and boxes, without software or per-card calculations.
What Leitner gets wrong: every card in a box is treated identically. The card you almost forgot and the card you recalled immediately both advance the same amount. There is no explicit estimate of card difficulty or current recall probability, and the cadence is fixed rather than fitted to review history.
For decks under ~200 cards, Leitner is genuinely fine. Past that, the lack of per-card timing starts costing you reviews you didn't need to do.
SM-2 (Wozniak, 1987) — the algorithm everyone else copies
Piotr Wozniak's SM-2, published as part of his master's thesis and shipped in SuperMemo 1.0 for DOS, is the algorithm that has been quietly powering most of the spaced repetition world for nearly four decades.
The mechanism, in plain English:
- Every card has an ease factor (EF), defaulting to 2.5.
- Every card has an interval — how many days until the next review.
- After each review you grade your recall on a 0-5 scale (0 = total blackout, 5 = perfect, instant).
- If your grade is ≥ 3, the next interval = previous interval × current EF. Then EF gets nudged up or down based on the exact grade.
- If your grade is < 3, the card resets: interval goes back to 1 day, EF gets penalized.
That's the whole thing. The original SM-2 description is shorter than this section.
What SM-2 gets right: the ease factor is per-card. Cards you find easy stretch out fast (EF climbs, intervals balloon). Cards you find hard get reviewed more often (EF sinks toward the floor of 1.3). It encodes the obvious truth that not all cards are created equal, and it does so with one number you can reason about. The algorithm has roughly five lines of meaningful logic. You can implement it from memory. I have, several times.
What SM-2 gets wrong: the formula is hand-tuned. Wozniak picked the constants in 1987 based on his own review history and a few hundred friends. Modern data shows the curve isn't quite right — SM-2 tends to over-review mature cards (intervals grow too slowly once a card is well-learned) and under-react to the difference between a card you got "barely right" versus "instantly right." It also has no model of how forgetting itself works; it just multiplies by EF and hopes.
The 0-5 grading scale is also a UX problem in practice. Most users can't reliably distinguish a 2 from a 3, which is exactly the cliff where the card either stretches or resets. Anki noticed this.
Anki's legacy SM-2 scheduler
When Damien Elmes built Anki, he started from SM-2 and added pragmatic changes. This was Anki's primary scheduler before FSRS was integrated in Anki 23.10. Current Anki documentation presents FSRS as the modern scheduler while retaining the SM-2-based scheduler as a legacy option.
The changes that matter:
- Four buttons instead of six. Anki collapses Wozniak's 0-5 grading into "Again / Hard / Good / Easy." Again is a lapse (interval reset, EF penalty). Hard, Good, and Easy roughly correspond to SM-2 grades 3, 4, and 5. This is a UX win — most humans can't honestly self-rate on a 6-point scale, but they can pick which of four buttons feels right.
- Lapse handling is tunable. SM-2 was binary: lapse or no lapse. Anki lets you configure how a lapse penalizes EF (default: −0.20), how many "relearning" steps a lapsed card has to climb through (default: 10 minutes, then re-graduate), and a "leech" threshold (default: 8 lapses) that flags cards you keep getting wrong.
- Learning steps before graduation. New cards step through 1m / 10m / 1d before entering the SM-2 schedule proper. SuperMemo had nothing like this; it's an Anki invention that has, fairly clearly, become correct.
- Ease floor and "ease hell." Anki holds EF above 1.3, which means a card you keep failing eventually plateaus at a fixed punishingly-frequent review cadence rather than collapsing to daily forever. This is also the source of the classic complaint that mature decks accumulate "leeches in ease hell" — cards stuck near 1.3 EF that you'll never actually learn.
What Anki's legacy scheduler gets right is operational maturity: four familiar answer buttons, learning steps, configurable lapse behavior, and years of compatibility work.
What it gets wrong: the same things SM-2 gets wrong. Hand-tuned constants from 1987, no actual forgetting model, over-reviews mature cards. By the time you're 18 months into a 30,000-card deck, you can feel the drag.
FSRS (Open Spaced Repetition, 2022→) — the one with a forgetting model
FSRS — Free Spaced Repetition Scheduler, originally by Jarrett Ye — is the first widely-deployed SR algorithm built on an explicit forgetting model rather than hand-tuned multipliers. It shipped as an option in Anki 23.10 (October 2023) and became the default for new Anki users in version 25.x. The full source and papers live at github.com/open-spaced-repetition/fsrs4anki.
The core model is called DSR — Difficulty, Stability, Retrievability — and it's worth understanding if you're going to have an opinion on FSRS:
- Stability (S) — how many days until your retrievability of the card drops to 90%. A card with stability 30 means: 30 days from now, you have a 90% chance of remembering it.
- Retrievability (R) — your current probability of recalling the card right now, modeled as
R = exp(-t/S)wheretis days since last review. This is a real exponential forgetting curve, fit to data. - Difficulty (D) — a per-card constant (0-10) that modulates how fast stability grows after each review.
After every review, FSRS updates S and D using 17-21 trained weights (depending on FSRS version — FSRS-4.5, FSRS-5, and FSRS-6 have all shipped since 2023). The weights are fit on your actual review log via gradient descent. This is the part that matters: FSRS is personalized to your forgetting curve, not Wozniak's.
FSRS can use default parameters immediately and can later optimize parameters from review history. The public SRS Benchmark evaluates FSRS versions, SM-2, and other models on large Anki review datasets using prediction metrics. It supports comparing models, but it does not justify one universal promise about reviews or time saved for every learner.
What FSRS gets right is its explicit desired-retention control and its ability to fit a model to review history. What makes it harder to deploy is operational complexity: more state, evolving formulas, an optimizer workflow, and possible conflicts with add-ons that modify scheduling.
The comparison table
| Algorithm | Year | Per-card state | Scheduling input | Retention target | Main weakness |
|---|---|---|---|---|---|
| Leitner | 1972 | Box number (1-5) | Pass/fail | Implicit (~85%) | No per-card timing; treats all cards in a box identically |
| SM-2 | 1987 | Ease factor + interval | 0-5 grade | Implicit (~90%) | Hand-tuned constants; over-reviews mature cards |
| Anki SM-2 | 2006-2023 | EF + interval + lapse count | Again/Hard/Good/Easy | Implicit (~90%) | Inherits SM-2's flaws; ease hell on long-running decks |
| FSRS | 2022 → ongoing | Difficulty + Stability + Retrievability | Again/Hard/Good/Easy | Explicit and configurable | More complex to implement and operate |
| SuperMemo 18+ | 2019 → | Full DSR + workload model | 0-5 grade | Configurable | Closed source; not portable to other tools |
Which spaced repetition algorithm should you use?
- Use Leitner for physical flashcards or a classroom activity where five visible boxes are the feature.
- Use FSRS in a current Anki installation when you want desired-retention control and model optimization.
- Use SM-2 when your app supports it reliably, compatibility matters, or you want a smaller and more transparent scheduler.
- Use Anki's legacy scheduler only when an existing collection, add-on, or workflow requires it.
The scheduler is only one part of the system. Card quality, honest recall grading, and consistent reviews still determine whether the schedule has useful feedback to work with.
Why SmartRecall uses SM-2
SmartRecall currently uses SM-2. It does not provide FSRS scheduling or FSRS optimization. Its verified product focus is the authoring workflow: turning supported PDFs or pasted study material into editable flashcards, then scheduling the reviewed cards with SM-2.
That makes the product boundary straightforward. Choose Anki when FSRS is a requirement. Consider SmartRecall when reducing manual card creation matters more, and always review AI-generated cards before studying them.
What to do today
If you use current Anki, start with its documented FSRS workflow and choose desired retention deliberately. If you use another app, verify which scheduler it actually implements instead of assuming every four-button interface is Anki or FSRS.
If you are choosing between FSRS and SM-2 specifically, continue with the focused FSRS vs SM-2 guide. If card authoring is the constraint, inspect SmartRecall's PDF-to-flashcards workflow and review generated cards before adding them to a study routine.

