Anki Flashcards

Create flashcard decks, study with the SM-2 spaced repetition algorithm and track your retention over time.

Ready-to-use decks

Choose a sample deck or create your own.

My decks

Select a deck to study.

📖 Select a deck in the My Decks tab and click Study now.


Export current deck

Save the selected deck as JSON (preserves SM-2 progress) or TSV (compatible with Anki Desktop).


Import deck

Import a previously exported JSON file or a TSV (Anki-compatible). New decks are added without overwriting existing ones.


Export ALL decks

Full backup — saves all your decks and progress in a single JSON file.

📊 Decks overview

📚 Add or select a deck to see your stats here.

📈 Active deck progress

No deck selected.

⌨️ Keyboard shortcuts

Space / EnterFlip card
0 – 5Grade: 0=Forgot … 5=Perfect
← →Previous / next deck

What is spaced repetition?

Spaced repetition is a learning technique based on cognitive science: instead of studying the same material every day, you review cards at increasing intervals — right before you’re about to forget them. This dramatically reduces the total study time needed while achieving far higher long-term retention than traditional cramming.

Studies consistently show that spaced repetition produces retention rates above 90% with a fraction of the review time compared to massed practice.


The SM-2 Algorithm

This tool implements SM-2 (SuperMemo 2), the algorithm behind the original Anki Desktop application. Every card has two key parameters:

  • Ease Factor (EF): starts at 2.5. Reflects how easy the card is for you. Higher EF → longer next interval.
  • Interval: days until next review. Starts at 1 day, then grows based on your grades.

Grading scale (0–5)

GradeMeaning
0Complete blackout — no memory at all
1Incorrect, but the answer felt familiar
2Incorrect, but the answer was easy to recall upon seeing
3Correct, but required significant effort
4Correct, with slight hesitation
5Perfect recall — instant and effortless

How the next interval is calculated

I(n)={1if n=16if n=2I(n1)×EFif n3I(n) = \begin{cases} 1 & \text{if } n = 1 \\ 6 & \text{if } n = 2 \\ I(n-1) \times EF & \text{if } n \geq 3 \end{cases}

Any grade below 3 resets the card to the beginning (interval = 1 day, repetitions = 0).

Ease Factor update

EF=max ⁣(1.3,  EF+0.1(5g)(0.08+(5g)0.02))EF' = \max\!\left(1.3,\; EF + 0.1 - (5 - g)(0.08 + (5 - g) \cdot 0.02)\right)

Where gg is your grade (0–5). Lower grades decrease EF, making future intervals shorter.


Response Time Integration

Beyond the grade, this tool also measures retrieval latency — the time from when the card front appears until you flip it. This time is incorporated into the SM-2 update to capture not just whether you remembered, but how quickly.

Speed tiers

Response timeModifierBadge
< 3 seconds+0.10 EF⚡ Fast
3 – 8 seconds0.00✅ Normal
8 – 20 seconds−0.10 EF🐢 Slow
> 20 seconds−0.20 EF🔴 Very slow

Full formula with speed modifier

EF=max ⁣(1.3,  EF+0.1(5g)(0.08+(5g)0.02)+Δspeed(t))EF' = \max\!\left(1.3,\; EF + 0.1 - (5-g)(0.08 + (5-g)\cdot 0.02) + \Delta_{speed}(t)\right)

Numeric example — grade 4, response time 2.5 s:

EF=max(1.3,  2.50+0.1(1)(0.08+0.02)+0.10)=2.60EF' = \max(1.3,\; 2.50 + 0.1 - (1)(0.08 + 0.02) + 0.10) = 2.60

Exponential weighted moving average (EWM)

Response time is smoothed per card using EWM with α=0.3\alpha = 0.3:

tˉn=0.7tˉn1+0.3tn\bar{t}_n = 0.7 \cdot \bar{t}_{n-1} + 0.3 \cdot t_n

This prevents a single unusually fast or slow response from distorting the card’s historical average.


Scheduling Algorithm

Cards in the Scheduled Review queue are sorted as follows:

  1. New cards (never reviewed) appear first — FIFO order by creation date
  2. Due cards (interval expired) are sorted by how overdue they are — most overdue first

This ensures you always prioritize the cards you’re most at risk of forgetting.


Statistics & Charts

Deck-level stats

Each deck displays six live stats:

StatDescription
DueCards whose review interval has expired today
NewCards never reviewed
LearningCards reviewed at least once, interval ≤ 21 days
MatureCards with interval > 21 days
Retention% of reviews with grade ≥ 3
⏱ Avg. timeExponentially weighted average retrieval time

Session stats

After each session the tool shows:

  • Total cards reviewed
  • Session average retrieval time
  • Current deck retention (scheduled mode only)

Charts

The Active Deck Progress panel renders three charts inline:

  1. Interval distribution — bar chart showing how cards are distributed across interval buckets (New, 1–3d, 4–7d, 8–21d, 22–60d, >60d)
  2. Response time — distribution across speed tiers (Fast / Normal / Slow / Very slow)
  3. Ease Factor — distribution of EF values across the deck

These charts are also included in the PDF Report generated from the Import/Export tab.


How to Use

Tab 1 — My Decks

  • Ready-to-use decks: add any of the 4 preset decks (Basic Math, Spanish Vocabulary, Human Anatomy, Programming Concepts) in one click.
  • My decks: shows all your decks with retention % and due card count.
  • Click any deck to select it as the active deck.
  • + New empty deck: opens a modal to name your deck. Includes an AI prompt template.

Tab 2 — Study

  1. Select a deck and the Study tab shows the setup screen.
  2. Choose mode:
    • Scheduled review — only due cards; SM-2 progress is saved.
    • Free practice — any card in the deck; no SM-2 update.
  3. Filter by tag to study a subset of cards.
  4. Set the number of cards and whether to shuffle.
  5. Click ▶ Start session.
  6. Read the front, press Space/Enter (or click Flip) to reveal the back.
  7. Grade yourself 0–5. The speed badge appears after flipping.
  8. At the end, export your deck or start a new session.

Action buttons during study:

ButtonAction
↩ UndoReverts the last grade (SM-2 + study log restored)
☁ BurySkips the card until tomorrow without changing SM-2
🚫 SuspendRemoves the card from all queues indefinitely
✏️ EditEdit front and back inline without leaving the session

Tab 3 — Editor

  • Add cards with front, back and tags.
  • Search cards by text.
  • View per-card stats: interval, repetitions, EF, lapses and average response time.
  • Badges show 🩸 Leech, 🚫 Suspended, and ☁ Buried status.
  • Click ⚙️ Settings (next to Rename) to configure per-deck options.
  • Delete individual cards or the entire deck.

Deck Settings

FieldDefaultDescription
New cards per day20Max cards with 0 repetitions per scheduled session
Leech threshold4Number of incorrect answers to flag a card as 🩸 Leech

Tab 4 — Import / Export

ActionFormatDetails
Export deckJSONPreserves all SM-2 data
Export deckTSVAnki Desktop compatible
Export deckHTML/PDFOpens print dialog with charts
Export allJSONFull backup of all decks
ImportJSON or TSVAdds new decks without overwriting existing ones

Streak & Study History

After studying, the result panel shows a streak (consecutive days with at least one review) and a 28-day heatmap showing review frequency by day. Useful for tracking consistency.

Review Forecast

The 📅 Review forecast chart shows how many cards become due over the next 14 days based on current SM-2 intervals. Use it to plan longer or lighter sessions.

Cloze Cards

Use {{answer}} inside a card’s text to create fill-in-the-blank cards:

  • Front: The capital of France is {{Paris}} → displays The capital of France is [...]
  • Back: highlights the answer in green — Paris

Multiple {{...}} in the same card are all masked at once.


Generating Decks with AI

Open the + New empty deck modal, expand the 🤖 Generate cards with AI section, and copy the prompt. Paste it into ChatGPT, Claude or Gemini. Save the response as deck.tsv and import it in the Import/Export tab.

The prompt instructs the LLM to produce a properly formatted TSV file with #separator:tab and #html:false headers — fully compatible with Anki Desktop and this tool.


TSV File Format

#separator:tab
#html:false
Front text	Back text	tag1 tag2
What is REST?	Architectural style for HTTP APIs using GET/POST/PUT/DELETE	web api
  • Separator: tab character (\t)
  • First line: #separator:tab
  • Second line: #html:false
  • Columns: Front \t Back \t Tags (tags are space-separated)
  • Compatible with Anki Desktop’s File → Import dialog

Tips

  • Keyboard shortcuts: Space/Enter to flip, 0–5 to grade, ← → to switch decks.
  • Daily habit: even 5–10 minutes of scheduled review is far more effective than long occasional sessions.
  • Grade honestly: overrating yourself (always pressing 5) will inflate intervals and hurt long-term retention.
  • Free practice before an exam: use free practice mode to review any card without affecting your SM-2 schedule.
  • Leeches are signals: if a card becomes a leech (🩸), rethink the question — it’s probably too vague or covers more than one concept.
  • New cards per day: keep this at 10–20 to avoid overwhelming future review queues.
  • Shared data: the PT (Portuguese) and EN versions of this tool share the same localStorage data — your decks appear in both.

Frequently Asked Questions

Does this tool work offline? Yes. All logic runs in the browser. Your deck data is stored in localStorage — no server required.

Will my decks be lost if I clear browser storage? Yes. Export a JSON backup regularly via the Import/Export tab to avoid data loss.

Can I import decks from Anki Desktop? Yes — use Anki Desktop’s File → Export → Notes in Plain Text (.txt) with the tab separator option. Import the resulting file here.

What is a “mature” card? A card whose interval is greater than 21 days. Mature cards indicate solid long-term learning.

What is the maximum interval? There is no hard cap. After many successful reviews a card can reach intervals of 6 months, 1 year or more.

Why does grading 5 sometimes increase EF by less than expected? The speed modifier applies on top of the grade modifier. A grade-5 with a very slow response (>20 s) will have its EF reduced by 0.20, partially offsetting the grade bonus.

Is the data stored on a server? No. Everything stays in your browser’s localStorage. Nothing is transmitted externally.