AnkiWeb
- Rating
- 0 (π 0 Β· π 0)
- Updated
- 2026-01-07
- Anki versions
- <=25.09.2
- Description language
- en
AnkiWeb addon 413327949
Relocates existing duplicate or conflicting cards to the imported .apkg deck, matching exact GUIDs and preserving scheduling.
Open on AnkiWeb GitHub Ask about alternatives
stale
| Min Anki | Max Anki | Updated |
|---|---|---|
| 25.09.2 | β | 2026-01-07 |
Loadingβ¦
Syncs Notion toggle blocks with Anki cards both ways, mirroring pages as decks, updating in place, pushing edits, and cleaning orphans.
Copies notes into multiple decks based on tag hierarchy, creating subdecks for each tag path while leaving originals untouched and preserving all fields, tags, and note types.
Converts selected tags into decks through a guided wizard that resolves conflicts, previews moves, supports naming strategies, and intelligently routes refreshed cards to relocated folders.
Fetches Cambridge definitions, CEFR levels, UK pronunciation, audio, and examples for bulk words across 30 bilingual or monolingual dictionaries, creating separate cards with duplicate handling.
Finds duplicate notes by a chosen field, keeping the first and deleting exact matches after review, but requires a backup because deletion cannot be undone.
Imports and exports filtered decks for sharing, with options to include suspended cards, append new/due, rename decks, detect duplicates, and configure globally or per deck.
This is a personal project released "as-is" for educational and learning purposes. I built this addon to solve a specific personal use case: moving existing cards to a new deck when importing. I am sharing the code for anyone interested in how it works or who wants to fork it, but I do not expect to maintain it actively.
Hopefully the devs could add this as a Built-in feature.
Please read this before looking at the code:
This addon relies heavily on Monkey Patching internal Anki methods that are not part of the public API. Specifically, it overrides:
RustBackend.import_anki_package_raw (to intercept Protobuf messages).MutationObserver on Anki's Svelte components.RustBackend causes side effects in other parts of Anki (e.g., syncing, exporting, or daily review).If you are reviewing the code, here is the flow:
import_anki_package_raw. It lets the original method run, intercepts the ImportResponse (Protobuf), calculates which cards need moving, and modifies the deck IDs directly in the database logic.MutationObserver to detect when the DOM is ready and injects the "Relocate" checkbox and the final status counter directly into the HTML.This project was developed with the assistance of Artificial Intelligence (LLMs). The AI was utilized for:
While AI assisted with the code generation, all logic was verified and tested manually for this specific use case.
os.path, so it should be cross-platform, but untested).Since this was a personal fix:
Use at your own risk.
AGPL v3