Flashcard maker with spaced repetition (SM-2) and CSV import

Make two-sided flashcards in decks and review each one when it is due, scheduled by the SM-2 algorithm, with keyboard shortcuts and CSV import and export.

SM-2 spaced repetition: intervals and the easiness factor

SM-2 grades each answer from 0 to 5. A card you recall comes back after 1 day, then 6 days, then the previous interval times its easiness factor (EF, 2.5 to start); a grade below 3 sends it back to 1 day.

The formula

  • Intervals: I(1) = 1 day, I(2) = 6 days, then I(n) = I(n−1) × EF, rounded up to the next day.
  • Easiness factor: EF' = EF + (0.1 − (5 − q) × (0.08 + (5 − q) × 0.02)), never below 1.3. A 5 raises it by 0.10, a 4 leaves it unchanged, a 3 lowers it by 0.14.
  • Grade below 3: the card restarts at I(1) without changing its EF.
  • Grade below 4: the card comes back at the end of the session until it gets a 4 or 5; these re-drills do not change its schedule.

Example

A new card graded 5: EF 2.6, back in 1 day. Graded 5: EF 2.7, in 6 days. Graded 4: EF 2.7, in 6 × 2.7 = 16.2, so 17 days. Graded 3: EF 2.56, in 17 × 2.56 = 43.52, so 44 days. Graded 2 at the next review: back in 1 day, EF still 2.56.

Choices and limits

The publication does not say whether the interval uses the factor before or after the grade; this tool updates the EF first, then computes the interval. Due dates are local dates on your device. Cards stay in this browser; CSV export works as a backup, and import accepts commas, semicolons or tabs. The formula is fixed: no model is fitted to your history.

Sources and dates: P. Wozniak, SuperMemo 2: Algorithm (1990) (checked on 29/10/2026)

Frequently Asked Questions

How does the SM-2 algorithm work?

Each answer gets a grade from 0 to 5. A card you recall comes back after 1 day, then 6 days, then the previous interval multiplied by its easiness factor, which starts at 2.5 and never drops below 1.3. A grade below 3 sends it back to 1 day.

Which grade should I give a card?

5 for a perfect answer, 4 if it came after some hesitation, 3 if you recalled it with serious difficulty, 0 to 2 if it was wrong. A 4 keeps the easiness factor unchanged and a 3 lowers it by 0.14.

How do I import flashcards from a spreadsheet?

Save a CSV file with the front in the first column and the back in the second. The separator (comma, semicolon or tab) is detected, and a file exported by this tool keeps the intervals already earned.

Is this tool really free?

Yes, all tools on Kristools are 100% free and accessible without registration.

Is my data protected?

Yes. All processing is performed directly and securely inside your browser. No personal data is sent to our servers.