Guru
Blog / Anki on iOS

I Imported 5 Real Anki Decks into an iPhone App. Here's Exactly What Survived

TL;DR On 2026-09-07 I imported five popular shared Anki decks into Guru on an iPhone and checked them card by card: Zanki Physiology & Pathology (125 MB, 16,966 cards, about 15 seconds), USMLE Step 2 (68 MB, 5,647 cards, 23 note types, 14 cloze variants), MileDown's MCAT (238 MB, 2,888 cards), a JLPT N1–N5 deck with 10,107 audio files (121 MB, 10,147 cards, 89 seconds) and First Aid 2017 Pharmacology (1,232 cards). Cloze hints, colored emphasis, images, furigana and audio all rendered. The test also caught a real bug: when a parent deck holds cards of its own, the whole sub-deck tree was imported twice, so USMLE Step 2 showed 11,199 cards instead of 5,647. That fix ships in Guru 1.5.1. Screenshots for every deck are below.
Illustration: five file boxes in a row, a magnifying glass over an iPhone showing an image card, and a stopwatch on a test bench
Five real decks, one phone, a stopwatch, and a magnifying glass on every card.

Why I ran this test

"Will my deck survive the import?" is the question behind almost every message we get from Anki users. A card count that matches desktop Anki is not enough: a cloze deck can import with the right number of cards and still show raw {{c1::…}} markup, missing hints, blank images or dead audio buttons. So instead of trusting the parser, I took real shared decks that medical, MCAT and Japanese learners actually use, imported each one on iPhone, started a review session and photographed the first 6–10 cards front and back.

Setup: Guru 1.5.1 (build 76), iPhone 16 Pro Max, iOS 18. Each .apkg was opened straight from Files, which triggers the same import wizard you get from AirDrop or the share sheet. Timings are wall-clock from tapping Import to the deck appearing in Library.

The five decks

DeckFileCards in AnkiCards after importImport timeRendering check (6–10 cards)
First Aid 2017 Pharmacology5.5 MB1,2321,232~10 sCloze hints, italic Extra field
USMLE Step 2 (23 note types, 14 cloze types)68 MB5,6475,647 (11,199 before the fix)~10 sCloze, colored emphasis, images, Extra
MileDown's MCAT Decks238 MB2,8882,888~5 sColored cloze, diagrams; external links show as grey text
Zanki Physiology & Pathology125 MB16,96616,966 (20,792 before the fix)~15 sCloze, underline, images
JLPT "eggrolls" N1–N5121 MB, 10,107 audio files10,14710,14789 sFurigana, example sentences, audio button

A sixth file, a 263-card AnKing MCAT sample, was used only as a control for re-importing the same package twice; I did not go through it card by card.

Scatter chart: import time against media file count for five decks; four cluster near zero media at 5–15 seconds, JLPT with 10,107 files at 89 seconds
Import time tracks media files, not cards. The 16,966-card Zanki deck took 15 seconds; the 10,147-card JLPT deck took 89 because of its 10,107 audio files.

What I looked at on every card

  1. The card count in Library matches the count desktop Anki shows for the same deck.
  2. Cloze deletions show […] or the hint text on the front, and the answer highlighted on the back, one card per cloze number.
  3. Bold, underline and colored text (AnKing-style emphasis) survive.
  4. Images inside the package load, including the ones referenced from the Extra field.
  5. Audio fields become a playable button; furigana (ruby text) stays attached to the kanji.
  6. Template-level additions, such as the header some decks print above every card, still appear.

USMLE Step 2

The hardest deck in the set: 23 note types and 14 different cloze templates in one package. Every variant I opened rendered as a normal cloze card, with red and blue emphasis intact and the Extra field below the answer. The retina photos in the endocarditis card are loaded from the package's media folder, not from the internet.

Twenty screenshots of USMLE Step 2 cloze cards reviewed in Guru on iPhone, front and back, including colored emphasis and two retina photographs
USMLE Step 2: ten cards, front and back. Cloze hints, colored emphasis and packaged images render.

Zanki Physiology & Pathology

The largest deck by card count. Import took about 15 seconds for 16,966 cards. Underlined terms and images came through. One thing I noticed here, and again in USMLE Step 2: cards from the same note (c1, c2, c3 of one cloze note) appeared back to back in a session. Desktop Anki buries siblings by default; the build I tested did not. More on that below.

Sixteen screenshots of Zanki Physiology and Pathology cards in Guru on iPhone, front and back
Zanki: eight cards, front and back. Note the nucleosome siblings appearing consecutively.
Guru pre-study screen for the Zanki deck showing 20,792 new cards and a fixed 60-minute estimate before the fix
The pre-study screen before the fix: 20,792 cards (should be 16,966) and a "~60 min" estimate that did not depend on the deck.

MileDown's MCAT Decks

The heaviest file at 238 MB, almost all of it images. It imported in about 5 seconds because the card count is small. Colored cloze deletions and the diagrams render. The one imperfection: MileDown's cards contain external hyperlinks, and those show as grey text rather than tappable links. The text is there; the link target is not.

Sixteen screenshots of MileDown MCAT cards in Guru on iPhone with colored cloze deletions and diagrams
MileDown MCAT: eight cards, front and back. Colored cloze and diagrams render; external links appear as plain grey text.

JLPT "eggrolls" N1–N5

The slowest import, and the reason is media count rather than card count: 10,107 audio files have to be unpacked and indexed. 89 seconds for 10,147 cards. On the cards, furigana sits above the kanji, example sentences keep their line breaks, and each audio field becomes a purple play button.

Twelve screenshots of JLPT vocabulary cards in Guru on iPhone showing furigana, example sentences and audio play buttons
JLPT eggrolls: six cards, front and back. Furigana and audio buttons render.

First Aid 2017 Pharmacology

A small, classic cloze deck. Cloze hints and the italic Extra field rendered as expected. Its only problem is cosmetic: the deck's original name, aervien + tracymcgrady1991 step 1 pharm (FA 2017), is what shows in Library, and it truncates on the first screen. Renaming after import fixes it.

Sixteen screenshots of First Aid 2017 Pharmacology cloze cards in Guru on iPhone
First Aid 2017 Pharmacology: eight cards, front and back.

The bug the test found: doubled sub-deck trees

USMLE Step 2 imported as 11,199 cards. Desktop Anki says 5,647. Zanki came in at 20,792 instead of 16,966. MileDown and JLPT were exact.

The difference between the decks that doubled and the ones that did not is the deck tree. USMLE Step 2's parent deck holds cards of its own and also has 15 sub-decks. The importer listed every deck that directly contains cards, then enumerated notes for each of them including their children, so the sub-decks' notes were collected once under the parent and once under themselves. Zanki has a few intermediate decks with their own cards, which explains its 22% surplus; MileDown's and JLPT's parent decks are empty, so nothing was counted twice. Modeling "number of card-holding ancestors per card" predicted 11,194 / 20,790 / 2,888 / 10,147, matching what I measured.

Guru Library on iPhone before the fix, listing USMLE Step 2 with 11,199 cards and Zanki with 20,792 cards
Before the fix: USMLE Step 2 at 11,199 cards, Zanki at 20,792.
Guru Library on iPhone after the fix, listing USMLE Step 2 with 5,647 cards and Zanki with 16,966 cards
After the fix, clean reinstall: 5,647 and 16,966, matching desktop Anki.

The fix keeps each note only in the deepest deck that claims it. Our local corpus test of 17 real decks, which previously only asserted "at least 100 cards", now asserts exact counts and passes 24/24. The change is in Guru 1.5.1, which is in App Store review as I write this. If you imported a nested deck on an earlier build and see roughly double the expected count, delete the deck and import the file again after updating; existing libraries are not rewritten automatically.

Three things I did not like

Run the same check on your own deck

  1. In desktop Anki: File → Export → Anki Deck Package (.apkg). Tick Include scheduling information if you want your intervals to carry over, and Include media for images and audio.
  2. AirDrop the file to the iPhone or save it to iCloud Drive, then tap it in Files and choose Guru. (Step-by-step with screenshots.)
  3. Compare the card count in Library with the count in desktop Anki. If your deck has sub-decks and the number is roughly double, you are on a build before 1.5.1.
  4. Start a session and check one cloze card, one image card and one audio card before deleting the file.

Importing and daily review are free; the free tier allows five top-level decks, and a whole sub-deck tree counts as one. Every deck exports back to a standard .apkg.

FAQ

Does the import keep my review history and intervals? It keeps the scheduling state (due dates, stability and difficulty) when the package was exported with "Include scheduling information". A package exported without it imports as all-new cards.

Does it handle AnKing? The USMLE Step 2 deck in this test uses AnKing-style note types with 14 cloze variants and colored emphasis, and all of them rendered. A full AnKing Step deck is a bigger file with more media, so expect an import closer to a minute than to 10 seconds. AnkiHub updates do not flow into Guru automatically; you re-import a fresh export. See AnKing and Zanki on iPhone.

Why did the audio deck take 89 seconds when Zanki took 15? Import time scales with the number of media files, not cards. JLPT eggrolls has 10,107 audio files; Zanki has far fewer, larger images.

Are these screenshots from a real device? They are from the iOS Simulator (iPhone 16 Pro Max) running the same build that ships in the App Store; the import engine and renderer are identical on device. Import times on a physical iPhone 15/16 are in the same range.

Do external links in cards work? Not yet. Links inside card text show as grey text rather than tappable links, as in the MileDown cards above.

Try it with your own deck

Guru imports .apkg and .colpkg with cloze, media, sub-decks and scheduling intact. Importing and daily review are free.

Get Guru

← All posts