How Loudwalk imports Anki (.apkg & .colpkg), keeps FSRS-6, and exports back to Anki
If you have spent years building an Anki collection with tens of thousands of reviews, you should never trust it to an app that resets your intervals or locks your data in. Here is exactly how Loudwalk reads, schedules, and exports your collection — and how you can verify it yourself.
Key takeaways
- Full fidelity import: Loudwalk reads .colpkg and .apkg files including notes, custom notetypes/HTML/CSS, cloze, image occlusion (with rotated masks), media, deck presets, and your complete review history (revlog).
- Verified FSRS-6 parity: Loudwalk’s scheduler is a Swift port of MIT-licensed py-fsrs 6.3.1 inside Anki’s v3 scheduler rules, tested before every release against 750 answer transitions, 2,862 fuzz draws, and 8 queue snapshots recorded from Anki 26.08.1.
- Lossless round-trip export: On Mac, Backup & sync → Going back to Anki writes a .colpkg or .apkg with all your Loudwalk reviews and updated FSRS memory states laid over your original file, verified against Anki’s own Check Database.
Disclosure: This guide is published by Loudwalk (iOS 26 or later and Apple silicon Mac · macOS 26 or later). Free and built-in Anki methods are covered first with links to Anki’s official manuals. Loudwalk is independent of Anki and is not affiliated with Ankitects.
What comes across when you import an Anki file
When you import an Anki Collection Package (.colpkg) or Deck Package (.apkg) — whether exported with Anki’s modern default format or with “Support older Anki versions” ticked — Loudwalk imports:
- Every deck, note, and card, preserving due dates, intervals, lapses, and current learning steps (a card on its second learning step in Anki arrives on its second step, not reset to the first).
- Every historical review row (
revlog) you have ever done, so your FSRS stability, difficulty, streak, and retention statistics are continuous from day one. - Your deck presets: custom FSRS-6 weights/parameters, desired retention, learning and relearning steps, and daily new/review limits.
- Your notetypes and media: custom HTML and CSS templates, cloze deletions, Anki’s native Image Occlusion (including rotated masks), pictures, and
[sound:]audio files.
How FSRS-6 parity is verified against Anki 26.08.1
Saying “supports FSRS” is easy; matching Anki’s actual v3 scheduler behavior across learning steps, day boundaries, fuzz, and load balancing is where most implementations drift.
Loudwalk’s scheduler is held to answers recorded directly from a real Anki 26.08.1 installation:
- 750 answer transitions across new, learning, review, and relearning cards
- 2,862 fuzz draws (using the same MIT-licensed
randRNG family so interval fuzz lands on the exact same day) - 8 full queue snapshots testing day rollovers and daily limits
Every single transition must replay identically in Loudwalk’s test suite before a release can be built. Both the recorded fixture and the Python script that generated it from Anki are published openly so you can inspect or re-run them yourself: /anki-golden.json and /anki-golden.py.
How iCloud Drive sync and local backups work
| Layer | How Loudwalk stores it | What happens on conflict or offline use |
|---|---|---|
| Review log | Append-only .jsonl file per device in your own iCloud Drive | Merged by set union — reviewing offline on iPhone and Mac cannot lose a review |
| Daily backups | 30 rolling daily snapshots on disk | Readable locally anytime without a Loudwalk server or account |
| Open exports | .colpkg, .apkg, JSON, and CSV | Exportable for free forever, even if you never subscribe to the voice tutor |
Going back to Anki: the round-trip export
Loudwalk does not lock you in. On the Mac app, Backup & sync → Going back to Anki writes a .colpkg or an .apkg containing:
- All of your cards, notes, media, tags, and flags
- Every review you completed in Loudwalk (both spoken on a walk and tapped on screen) alongside the historical reviews you originally imported
- Each card’s updated due date, interval, and FSRS-6 memory state (stability and difficulty)
Because the exporter lays Loudwalk’s work over a copy of the Anki file you imported, deck presets, tags, and flags come back as they left, and any card you never reviewed in Loudwalk comes back byte-for-byte identical. We verify this round-trip against Anki itself using /anki-export-check.py, which builds a collection in Anki, runs reviews through Loudwalk, imports the exported package back into Anki, and verifies every card’s deck, due date, FSRS memory state, review rows, and Anki’s own Check Database.
Frequently asked questions
Does Loudwalk modify my existing Anki installation or database?
Never. Loudwalk reads the exported .colpkg or .apkg file you give it once and never touches Anki’s live application support folder. Your original Anki collection stays completely untouched.
Should I export a .colpkg or an .apkg when going back to Anki?
A .colpkg replaces your entire collection in Anki cleanly and identically. An .apkg is merged by Anki, and Anki’s merge behavior ignores cards it already has unless you delete those decks in Anki before importing the .apkg.
Does Loudwalk use any AGPL code from Anki?
No. Loudwalk contains zero Anki source code and nothing under the AGPL. Its FSRS-6 memory model is a Swift port of MIT-licensed py-fsrs 6.3.1, its RNG uses MIT-licensed Rust rand crates so fuzz lands on the same day, and Anki’s v3 queue rules were implemented from observed behavior and verified against golden fixtures.
TRY IT ON YOUR OWN DECKS
Your cards already exist. Take them outside.
Free on-screen review forever · 7-day (150-card) voice trial, no payment card · iPhone and Mac.