Apps Part of Deckwright

Spaced Repetition Scheduler (FSRS)

Which flashcards are due today? FSRS-5 or SM-2 from your review log, with a 30-day forecast.

Markdown: “Q:” and “A:” lines, “term :: definition” (“:::” also makes the reverse card), {{c1::cloze}} gaps, # headings as tags. Or CSV/TSV rows (front, back, tag), an Anki plain-text export, or a slide deck.

More options

One review per line: 2026-11-02,hola,good — the card is its id or its question text; the rating is again, hard, good, easy or 1–4. Deckwright’s “Export review log” writes this format.

The day to plan for; empty = today (UTC).

Probability of remembering a card when it comes due; higher means shorter intervals and more reviews.

Try an example: · ·

More about this tool

How it works

Replays a review log (date, card, rating again/hard/good/easy) through the FSRS-5 spaced-repetition model or the classic SM-2 algorithm and returns today’s queue (cards relearned today, due reviews, new cards up to your daily limit), the next interval for every answer, each card’s stability, difficulty and recall probability, a 30-day forecast and study statistics. The same scheduler runs Deckwright’s Study view.

  • Card states are replayed from the log in date order. FSRS-5: first rating G sets stability S = w[G−1] and difficulty D = w4 − e^(w5(G−1)) + 1; later reviews use the recall probability R = (1 + 19/81 · t/S)^−0.5 after t days to grow S (Hard × w15, Easy × w16) or, after Again, to set the post-lapse stability; reviews on the same day use S·e^(w17(G−3+w18)); D moves by −w6(G−3) with linear damping and mean reversion to D0(Easy).
  • The next interval is the number of days until R falls to the desired retention: I = S/(19/81) · (r^(−2) − 1), rounded, at least 1 day. Again keeps the card in today’s queue until it is answered Hard or better.
  • SM-2: grades Again = 1, Hard = 3, Good = 4, Easy = 5; EF changes by 0.1 − (5−q)(0.08 + (5−q)·0.02) (at least 1.3); intervals 1, 6, then the previous interval × EF rounded up; a grade below 3 restarts the repetitions; grades below 4 repeat the card the same day.
  • Queue: cards answered Again today first, then due reviews (oldest due date first, up to the daily maximum), then new cards in their order in the set (up to the new-card limit minus the new cards already started today). True retention counts the first answer of each day for cards seen before, over the last 30 days.

FSRS runs with its published default parameters (no optimisation on your own history) and day-level steps without random fuzz. Recall probabilities are model estimates.

Sources

Part of Deckwright

Related tools

How to use the Spaced Repetition Scheduler (FSRS)

Find out which flashcards are due today from your review log — FSRS-5 or SM-2 intervals, recall probability, a 30-day forecast and study statistics.

What it is for

Spaced repetition shows you a card just before you would forget it. That needs a memory model and your history: which card you answered when, and how well. This tool takes your cards and a review log (date, card, rating) and works out today’s queue, the next interval for every possible answer and a forecast for the next 30 days.

It runs the same scheduler as Deckwright’s Study view. FSRS-5 is the default: it estimates how stable each memory is (stability, in days) and how hard the card is (difficulty 1–10), then plans the next review for the day your recall would drop to the retention you choose. SM-2, the classic SuperMemo algorithm, is there for comparison or if you prefer fixed ease factors.

Worked example

The default example is the 13 Spanish cards with eight reviews from 2 to 7 November, planned for 8 November 2026 with FSRS-5 and a retention of 0.9:

  • 1 card is due: “gracias”, forgotten on 2 November (Again, then Good the same day) and rated Hard on the 5th. Its recall probability today is 83.2 %. Again keeps it in today’s queue, Hard plans it in 3 days, Good in 6, Easy in 15.
  • 9 new cards are ready: 13 cards minus the 4 already started, within the limit of 20 a day.
  • “buenos días” (Good, then Easy) has a stability of 32.4 days and counts as mature; “hola” (Good, Good) is due on 16 November.

With SM-2 the same log gives 2 due cards: “gracias” is still waiting for the same-day repeat that SM-2 asks for after a Hard answer, and “la estación” is due after one day. With retention 0.95 and 5 new cards a day, “la estación” is due too and only 5 new cards are offered — a higher target means shorter intervals.

How to read the result

  • Today’s queue: cards answered Again today first, then due reviews (oldest first, up to the daily maximum), then new cards.
  • Again / Hard / Good / Easy: the interval each answer would give, so you can see what a rating means before you choose it.
  • Recall now: FSRS’s estimate that you still know the card today.
  • All cards: state, number of reviews and lapses, stability and difficulty (FSRS) or ease factor and interval (SM-2), last review and due date.
  • Forecast: reviews due per day for 30 days; overdue cards count for today.
  • True retention: the share of your first answers per day, over the last 30 days, that were Hard or better.

Tips and common mistakes

  • The card column of the log may hold the card id or the question text; an exported Deckwright log uses ids.
  • Leave Today empty to plan for today (UTC); set it to test a plan for another day.
  • Retention between 0.85 and 0.92 suits most learners. At 0.97 your daily workload grows sharply.
  • Log lines naming cards that are not in the set are skipped and counted, not fatal.

FAQ

Are the FSRS parameters trained on my history?

No. FSRS-5 runs with its published default parameters, which already fit most learners well.

Why do intervals have no random spread?

Anki adds “fuzz” to spread reviews. This scheduler is deterministic, so the app, the API and this page always agree.

What happens when I skip days?

Overdue cards have a lower recall probability; FSRS grows their stability more if you still remember them.

Does the time of day matter?

No, only the calendar date of each review.

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://deckwrightreviewschedule.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://deckwrightreviewschedule.usefulweb.site/mcp · tool name deckwright_review_schedule
Example request
curl -s -X POST https://deckwrightreviewschedule.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{…see OpenAPI examples…}'
Feedback · ideas & bug reports welcome