How to Migrate from Anki to SmartRecall Without Losing Your Review History

May 14, 2026

Last month, a med student emailed me: "I have 8,000 Anki cards for Step 1. I want to try SmartRecall's FSRS scheduler, but I'm terrified of losing three months of review data." I get it. You've invested hundreds of hours building muscle memory with those intervals. The idea of starting from zero is paralyzing.

Good news: you don't have to. SmartRecall's Anki importer preserves 95% of what matters—your review history, scheduling intervals, tags, and deck structure. The other 5% are edge cases I'll flag so you know what to expect.

TL;DR
Export your Anki decks as .apkg files with scheduling info included. Import them into SmartRecall via Settings → Import → Anki. Review history, intervals, and tags transfer automatically. Cloze deletions, image occlusions, and custom note types need manual cleanup. Budget 15-30 minutes for a 5,000-card deck.

Why people migrate from Anki

Anki is the gold standard for a reason—it's free, open-source, and battle-tested by millions of users. But after two years of user interviews, I've heard the same friction points:

  • SM-2 is showing its age. Anki's default algorithm was published in 1988. FSRS (the algorithm SmartRecall uses) cuts review load by 20-30% for the same retention rate because it models forgetting curves per-card, not per-deck.
  • Mobile sync is clunky. AnkiWeb works, but the iOS app costs $25 and syncing across devices requires manual discipline.
  • No built-in analytics. You need add-ons to see heatmaps, forecast workload, or identify leeches. SmartRecall surfaces this on the dashboard by default.

If you're happy with Anki, stay. If you're curious whether a modern SRS can save you 30 minutes a day, this guide will get you there without data loss.

What gets preserved in the migration

SmartRecall's importer reads Anki's .apkg format directly. Here's what transfers cleanly:

Review history and intervals

Every card's review log—timestamps, ease ratings (Again/Hard/Good/Easy), interval lengths—imports intact. If a card was due in 45 days under SM-2, SmartRecall's FSRS scheduler inherits that history and recalculates the next interval based on your actual performance curve.

In practice: a card you've seen 12 times in Anki will show 12 reviews in SmartRecall's history tab. The new algorithm kicks in on review 13.

Tags and deck hierarchy

Tags import as-is. If you tagged cards with #cardiology, #high-yield, or #zanki-step1, those tags appear in SmartRecall's tag browser. Deck structure (parent decks, subdecks) maps to SmartRecall's folder system.

One quirk: Anki allows nested tags (cardiology::arrhythmias). SmartRecall flattens these to cardiology-arrhythmias to keep the tag picker fast. Functionally identical, just a different separator.

Basic and reverse card types

Standard front/back cards and reverse cards (back/front) import without modification. If you used Anki's "Basic (and reversed card)" note type, you'll get two cards per note in SmartRecall, same as before.

Media files

Images, audio clips, and LaTeX equations embedded in cards transfer automatically. SmartRecall extracts them from the .apkg archive and re-links them. I've tested this with decks containing 2GB of anatomy diagrams—no issues.

What doesn't transfer (and workarounds)

Cloze deletions with multiple contexts

Anki's cloze note type generates multiple cards from one note. Example:

\{\{c1::Paris\}\} is the capital of \{\{c2::France\}\}.

This creates two cards. SmartRecall imports both cards, but if you edit the note text in SmartRecall, you're editing two independent cards—not a shared note.

Workaround: If you have fewer than 500 cloze notes, leave them as-is. If you have thousands (common in med school decks like Anking), consider converting high-priority clozes to basic cards before export. Use Anki's browser to filter by note type, then bulk-convert using the "Change Note Type" option.

Image occlusions

Anki's image occlusion add-on stores mask coordinates in a custom field format. SmartRecall doesn't parse this—yet. Image occlusion cards import as static images with the masks baked in (so they still work), but you can't edit the mask positions.

Workaround: For decks where you actively add new occlusions (anatomy atlases, histology slides), keep those in Anki until SmartRecall ships native image occlusion (Q3 2026 roadmap). For static decks you only review, import them—they'll function fine.

Custom note types and templates

If you built custom card templates with JavaScript, conditional fields, or complex CSS, those won't render identically. SmartRecall uses a sandboxed Markdown renderer for security, so arbitrary scripts don't execute.

Workaround: Export a sample deck with 10-20 cards of each custom type. Import it into SmartRecall and check rendering. If formatting breaks, you can either simplify the template in Anki before full export, or manually fix cards post-import using SmartRecall's bulk editor.

Add-on data

Anki add-ons store data in separate SQLite tables. Heatmaps, custom schedulers, and leech thresholds don't transfer. SmartRecall has built-in equivalents for most popular add-ons (heatmap, FSRS scheduler, leech detection), but you'll need to reconfigure settings.

Step-by-step migration process

1. Back up your Anki collection

Before touching anything, go to Anki → File → Create Backup. This creates a timestamped .colpkg file in your Anki folder. If something goes wrong, you can restore from here.

2. Export decks with scheduling information

In Anki's main window:

  1. Click on the deck you want to export (or select multiple decks by Ctrl/Cmd-clicking).
  2. File → Export.
  3. Export format: Anki Deck Package (*.apkg).
  4. Check "Include scheduling information"—this is critical. Without it, you lose review history.
  5. Uncheck "Include media" only if your deck has no images/audio and you want a smaller file. Otherwise, leave it checked.
  6. Save the .apkg file somewhere you can find it (Desktop or Downloads).

Repeat for each deck. If you have 20+ decks, export the parent deck—Anki will bundle all subdecks into one .apkg.

3. Import into SmartRecall

Log into SmartRecall (smartrecall.ai). Go to Settings → Import → Anki.

  1. Click "Choose File" and select your .apkg.
  2. SmartRecall scans the file and shows a preview: number of cards, media files, tags detected.
  3. Choose a destination folder (or create a new one). This is where the deck will live in your SmartRecall library.
  4. Click "Import."

Progress bar appears. For a 5,000-card deck with 500MB of images, expect 2-3 minutes. SmartRecall processes cards in batches to avoid timeouts.

4. Verify the import

Once complete, navigate to the imported deck. Spot-check:

  • Open 5-10 random cards. Do images load? Is formatting intact?
  • Check the "History" tab on a card you've reviewed many times in Anki. You should see past review dates and ratings.
  • Filter by a tag you used frequently. Does the card count match what you had in Anki?

If something looks off, don't panic. SmartRecall keeps the original .apkg file for 30 days. You can re-import or contact support ([email protected]) with the deck name.

5. Adjust FSRS settings (optional)

SmartRecall's FSRS scheduler has sane defaults (target retention: 90%, max interval: 365 days). But if you were using custom Anki settings—like a 95% retention target for high-stakes exams—you can tweak this in Settings → Scheduler.

FSRS recalculates intervals based on your review history, so you might see some cards reschedule immediately. This is normal. The algorithm is optimizing for your actual forgetting curve, not Anki's generic ease factors.

Handling the 5% edge cases

Suspended cards

Anki's suspended cards import as "paused" in SmartRecall. They won't appear in reviews until you unpause them. To bulk-unpause: select the deck, click the three-dot menu, and choose "Resume All."

Filtered decks

Anki's filtered decks (custom study, cram mode) don't have a direct equivalent. SmartRecall uses dynamic filters instead. After import, recreate your filtered deck by going to the main library, clicking "Filter," and setting criteria (e.g., "due today + tagged #high-yield").

Sibling card burial

If you enabled "bury related cards" in Anki, SmartRecall respects this on import. Sibling cards (from the same note) won't show up in the same review session. You can toggle this per-deck in Settings → Deck Options → Sibling Handling.

Occasionally, Anki decks have cards that reference images no longer in the media folder (usually from deleted add-ons or corrupted syncs). SmartRecall flags these during import with a warning: "3 cards have missing media." You can filter for these using the "broken-media" tag and either fix the links or delete the cards.

Post-migration workflow tips

Give FSRS two weeks to calibrate

FSRS learns your forgetting curve from review data. For the first 10-14 days, intervals might feel slightly off—some cards come back too soon, others too late. This is the algorithm gathering signal. After 50-100 reviews per deck, intervals stabilize and become more accurate than SM-2.

If a card feels persistently mistimed, use the "Hard" or "Easy" button to give feedback. FSRS adjusts faster than Anki's ease factor system.

Use SmartRecall's leech detection

Anki marks leeches after 8 lapses by default. SmartRecall's leech detector is more nuanced—it flags cards where your retention rate is below 50% and you've reviewed them at least 5 times. These show up in the "Leeches" smart folder.

For leeches, I recommend:

  1. Rewrite the card to be more atomic (one concept per card).
  2. Add a mnemonic or visual cue.
  3. If it's truly unlearnable, suspend it and move on. Not every fact is worth drilling.

Sync across devices

Unlike Anki, SmartRecall syncs automatically. Review 20 cards on your phone during lunch, and the desktop app reflects those reviews instantly. No manual "sync" button.

One caveat: offline mode is read-only. You can review cards without internet, but changes upload once you reconnect. Anki's offline-first architecture is more robust here—SmartRecall prioritizes sync simplicity over offline editing.

When to stay in Anki

Migration isn't always the right move. Stick with Anki if:

  • You rely heavily on community-shared decks that get frequent updates (like Anking for USMLE). Importing updates into SmartRecall requires re-exporting from Anki each time.
  • You've built a complex add-on workflow (custom schedulers, note type generators, bulk editing scripts). SmartRecall's API is still maturing.
  • You're philosophically opposed to closed-source software. Anki is GPL-licensed; SmartRecall is proprietary (though we publish our FSRS implementation as open-source).

For everyone else—especially if you're starting a new deck or frustrated with Anki's UX—migration is low-risk and reversible. You can always export from SmartRecall back to .apkg if you change your mind.

Real-world migration times

From user reports:

  • 1,000-card deck, no media: 3-5 minutes (export + import + verification).
  • 5,000-card deck, 200MB images: 15-20 minutes.
  • 20,000-card deck (full Anking), 2GB media: 45-60 minutes. Do this on a weekend.

The bottleneck is usually media file processing. If you have a massive deck, consider splitting it into smaller subdecks before export to parallelize imports.

Final thoughts

I migrated my own Japanese vocabulary deck (6,400 cards, 18 months of reviews) from Anki to SmartRecall in March 2025. The process took 22 minutes. I lost zero review history. FSRS cut my daily review load from 85 cards to 62 cards within three weeks, with retention holding steady at 91%.

The hardest part wasn't the technical migration—it was trusting a new algorithm with data I'd spent a year building. If you're feeling that hesitation, start small. Export one low-stakes deck (maybe a hobby project or a single textbook chapter), import it, and review for a week. See if FSRS feels better than SM-2. If it does, migrate the rest.

And if you hit a snag—broken media, weird formatting, cards that won't import—email me at [email protected]. I read every message, and edge cases help me improve the importer for the next person.

Your review history is too valuable to lose. This guide exists so you don't have to choose between keeping your data and trying a better tool.

Alex Chen

Alex Chen