Skip to content

open-spaced-repetition/fsrs4anki

Repository files navigation

FSRS4Anki

FSRS4Anki

✨ A modern spaced-repetition scheduler for Anki based on the Free Spaced Repetition Scheduler algorithm

license release

Table of contents

Introduction

FSRS4Anki consists of two main parts: the scheduler and the optimizer.

  • The scheduler replaces Anki's built-in scheduler and schedules the cards according to the FSRS algorithm.
  • The optimizer uses machine learning to learn your memory patterns and finds parameters that best fit your review history. For details about the working of the optimizer, please read the mechanism of optimization.

For details about the FSRS algorithm, please read the algorithm. If you are interested, you can also read my papers:

FSRS4Anki Helper is an Anki add-on that complements the FSRS4Anki Scheduler. You can read about it here: https://github.com/open-spaced-repetition/fsrs4anki-helper

How to Get Started?

If you are using Anki v23.10 or newer, refer to this tutorial.

If you are using an older version of Anki, refer to this tutorial.

Note that setting up FSRS is much easier in Anki v23.10 or newer.

Add-on Compatibility

Some add-ons can cause conflicts with FSRS. As a general rule of thumb, if an add-on affects a card's intervals, it shouldn't be used with FSRS.

Add-on Compatible? Comment
Review Heatmap Yes ✅ Doesn't affect anything FSRS-related.
Advanced Browser Yes ✅ Please use the latest version.
Advanced Review Bottom Bar Yes ✅ Please use the latest version.
The KING of Button Add-ons Yes ✅ Please use the latest version.
Pass/Fail Yes ✅ Pass is the equivalent of Good, Fail is the equivalent of Again.
AJT Card Management Yes ✅ Compatible with Anki 23.12 and newer.
Incremental Reading v4.11.3 (unofficial clone) Unsure ❓ If you are using the standalone version of FSRS, it shows the interval given by Anki's built-in scheduler, not the custom scheduler. This add-on is technically compatible with built-in FSRS, but FSRS was not designed for incremental reading, and FSRS settings do not apply to IR cards because they work in a different way compared to other card types.
Delay siblings No ❌ Delay siblings will modify the intervals given by FSRS. However, the FSRS4Anki Helper add-on has a similar feature that works better with FSRS. Please use the FSRS4Anki Helper add-on instead.
Auto Ease Factor No ❌ The Ease Factor is no longer relevant when FSRS is enabled, therefore you won't benefit from using this add-on.
autoLapseNewInterval No ❌ The New Interval setting is no longer relevant when FSRS is enabled, therefore you won't benefit from using this add-on.
Straight Reward No ❌ The Ease Factor is no longer relevant when FSRS is enabled, therefore you won't benefit from using this add-on.

Let me know via issues if you want me to check compatibility between FSRS and some add-on.

Contribute

You can contribute to FSRS4Anki by beta testing, submitting code, or sharing your data. If you want to share your data with me, please fill out this form: https://forms.gle/KaojsBbhMCytaA7h8

Contributors

All Contributors

Expertium
Expertium

⚠️ 📖 🔣 🤔 🐛
user1823
user1823

⚠️ 📖 🔣 🤔 🐛
Christos Longros
Christos Longros

🔣 🖋

Developer Resources

If you're a developer considering using the FSRS algorithm in your own projects, we've curated some valuable resources for you. Check out the Awesome FSRS repository, where you'll find:

  • FSRS implementations in various programming languages
  • Related papers and research
  • Example applications using FSRS
  • Other algorithms and resources related to spaced repetition systems

This carefully curated list will help you better understand FSRS and choose the right implementation for your project. We encourage you to explore these resources and consider contributing to the FSRS ecosystem.

Star History

Star History Chart