How to Set Up FSRS in Anki

How to Set Up FSRS in Anki

Open your deck options in Anki and you'll see something called FSRS. It's a scheduling algorithm, and it makes your review intervals considerably more efficient. For now, using it means going into deck options yourself, switching it on, and pressing the optimize button.

This tip covers what FSRS is and how to set it up.

Anki's existing algorithm (SM-2)

The algorithm Anki uses by default is a variant of SM-2, published in 1987 for a program called SuperMemo — an algorithm pushing 40 years old. Every time you get a card right or wrong, it adds to and subtracts from a number according to a fixed rule, and adjusts your review interval from that.

SM-2 carries a single number per card, the ease factor. Get the card right and it multiplies your current interval by that number to pick the next date; get it wrong and it resets the interval and shaves the factor down.

The problem is that this approach never estimates when you actually forget. It just multiplies by the rule. So cards you keep missing come up every day, while easy ones come around far more often than they need to. Under this algorithm, some cards are simply hard to review efficiently.

What is FSRS?

FSRS (Free Spaced Repetition Scheduler) is a comparatively recent algorithm. It used to mean installing an add-on or pasting in code yourself; now it ships inside Anki itself.

The clear difference from the old algorithm: SM-2 is a rule, FSRS is a model built from your own history.

For each individual card, FSRS works out how often you miss it, how long you can hold on to it, and how likely you are to recall it right now, and turns that into numbers. Then it picks the date from a single question: what are the odds you'd still remember this card if it came up today? The default target is 90% — intervals are designed so that on review day you get roughly nine out of ten right.

What matters is that the numbers behind that calculation aren't everyone's average — they're pulled from the answer buttons you have been pressing. The same card sits at a different level in different people's memories, so different people get different numbers.

How to turn FSRS on

Click the gear next to the deck name, open Options, and switch FSRS on. I'd recommend leaving the desired retention at its default of 90% for now.

One thing to watch here: above the retention field there are Preset and This deck tabs, and the default is Preset. If several decks share one preset, they all change at once; if they use separate presets, you have to switch it on for each one. Use This deck when you want a different value for one deck only.

Optimize — fitting it to your own history

Once it's on and you've built up some review history, press Optimize. That button is the step where Anki estimates your personal forgetting curve — which is why you need enough history first, so it can see how often you actually miss things. Anki shows how many reviews it used underneath the button, and a short dialog tells you whether the result fits your memory well.

From the answer after that press onward, the intervals come from FSRS. Cards already waiting for you today won't vanish or get shuffled around.

A common recommendation is to press Optimize after studying around 1,000 cards. If you have very little history, optimizing barely moves anything away from the defaults; once reviews have piled up, pressing it makes a clear difference. And it isn't a one-time thing — press it again about once a month, or whenever your total review count roughly doubles.

Optimize, parameters, simulator

Here are the other terms FSRS puts in front of you.

Optimize reads through your whole review history and estimates your forgetting curve. Press it and Anki builds that estimate from everything you've studied so far. That curve is what decides when each card comes back next.

Parameters are that estimate written down as a list of numbers. They're the output of optimizing and the input to every date calculation. One important warning here: don't paste in someone else's parameters, and don't hand-edit them. These numbers describe your memory, not anyone else's, so borrowed values are meaningless.

The simulator shows you how many cards and how many minutes per day you're heading toward if you keep the current settings. When you're tempted to raise the desired retention, check here first. Going from 90% to 95% visibly increases your daily load, and above that it climbs steeply. People often raise the number on a hunch and get a shock the following week, so it's safer to look at the simulator before you commit.

What to watch out for when using FSRS

If you're used to the old scheduler, you probably spread your answers across 1 (Again), 2 (Hard), 3 (Good), and 4 (Easy). With FSRS, using essentially just 1 and 3 is more accurate.

There are two reasons.

First, FSRS reads 2 (Hard) as "you got it, but it was a struggle." If you couldn't actually recall the card and press 2 because you sort of half-knew it, FSRS counts that as a success. Enough of those and your intervals stretch out past what your memory can carry. If you couldn't recall it, it's a 1.

Second, most people can't apply 2 and 4 consistently. The same card gets a 4 on a good day and a 2 when you're tired. A rating whose standard keeps moving is just noise to the model. Splitting your answers into a plain didn't know / knew it gives the optimizer cleaner data to work from.

So: couldn't recall it, press 1. Recalled it, press 3. Save 4 for the rare card you answer instantly and are certain won't slip for a while. You'll hardly touch 2.

One footnote: right after you change how you press the buttons, your history is a mix of two different standards. Review a few hundred more cards under the new habit, then run Optimize again.

A blurry judgement makes a blurry algorithm

FSRS decides when to show you a card. Whether you can tell "I know this" from "I don't" within half a second of it appearing is decided by your card template.

If the text is small enough to make you squint, if your text color sinks into the background in night mode, or if the front is so crowded you don't know where to look, your judgement slows down. Those hesitant 1s and 3s become the training data. You've upgraded the algorithm and then fed it a blurry signal.

Tidying up font size, line spacing, and night mode colors alone makes a noticeable difference to how fast you can judge a card. If you'd rather not touch the code yourself, ankieditor lets you adjust it against a live preview and copy the result back into Anki. See also How to Set Colors in Anki Night Mode (Dark Mode) and How to Adjust Line Spacing in Anki.