Copy selected note IDs as a search string, and compare your notes with a friend's to instantly see what you're missing — built for medical students who share large decks (AnKing / Zanki / AMBOSS / Ankizin / Ankiphil style).
Für deutsche Med-Studenten: Schickt euch gegenseitig Karten-Auswahlen als
nid:-Suchstring und vergleicht per Klick, welche Notizen euch fehlen, welche ihr zusätzlich habt und welche gemeinsam sind — inkl. Suspension-Status und Aufschlüsselung nach Fach. Funktioniert, wenn ihr dasselbe geteilte Deck (z. B. Ankizin über AnkiCollab) nutzt.
- Copy Note IDs — right-click selected notes in the Browser → copy them as a
search string (
nid:1,2,3) to the clipboard. Configurable keyboard shortcut (defaultCtrl+Alt+C). - Copy Note IDs (excluding suspended) — a second context-menu entry that leaves out fully-suspended notes (a note is kept while it still has at least one active card), so you share only what you're actively studying. Optional separate shortcut.
- Compare with a friend — paste your IDs and your friend's IDs; get a
scorecard with all set regions:
- Missing (friend has, you don't), split into present in your collection (e.g. suspended) vs not in your collection at all
- Extra (you have, friend doesn't)
- Shared (both have)
- Suspension-aware — for each locally-owned region, see how many notes you
have suspended and jump straight to them (
is:suspended …). - Coverage breakdown — break any region down by deck or tag, sorted by count, with one click to show each group in the Browser.
- Polished UI — modern, theme-safe cards and badges that adapt to Anki's light and dark modes. German and English interface (follows Anki's language).
DE: Über Werkzeuge → Fällige Geschwister finden … öffnest du einen Dialog, der neue (blaue) Karten findet, deren Geschwisterkarten (andere Karten derselben Notiz, z. B. andere Clozes) du schon stabil gelernt hast — so gehen sie nicht im Berg neuer Karten unter.
EN: Via Tools → Find due siblings … you open a dialog that finds new (blue) cards whose sibling cards (other cards of the same note, e.g. other clozes) you have already learned to a stable state — so they don't drown in your pile of new cards.
Actions: Show in browser opens the matching cards straight in the Browser. Start as study deck builds a rescheduling filtered deck so you can start reviewing immediately.
Settings (remembered between sessions):
- Deck — restrict the search to a specific deck (or leave empty for all decks).
- Hide cards whose siblings are struggling — exclude notes whose siblings are still in the learning phase, are leeches, or have too many lapses (default: on).
- Advanced → Interval threshold — minimum interval (days) for a sibling to count as "learned" (default: 21 days).
- Advanced → Max. lapses — maximum allowed lapses for the sibling (default: 1).
- Manual (.ankiaddon): download
Anki_ID_Copy.ankiaddonfrom the Releases page and double-click it (or drag it onto Anki). - From source: the add-on is this repository folder. Pushing to
maintriggers a GitHub Actions build that producesAnki_ID_Copy.ankiaddonas an artifact; tagged releases attach it automatically.
- Open the Browser (
b). - Copy: select notes → right-click → Anki ID Copy → Copy Note IDs as Search String (or press the shortcut). Send the copied text to your friend.
- Compare: right-click → Compare Note IDs with Friend (or Tools → Anki ID Copy: Compare Note IDs). Your selection is pre-filled on the left; paste your friend's IDs on the right → Compare.
- In the result scorecard, use Show in browser, Copy, Show suspended, or Break down on any region.
Open Tools → Add-ons → Anki ID Copy → Config. See config.md for details.
| Key | Default | Meaning |
|---|---|---|
copy_shortcut |
Ctrl+Alt+C |
Browser shortcut for the copy action (empty disables it). Ctrl+Shift+C is reserved by Anki for Insert Cloze. |
copy_unsuspended_shortcut |
"" |
Optional shortcut for Copy Note IDs (excluding suspended) (empty = none). Don't reuse copy_shortcut's value. |
search_format |
compact |
compact → nid:1,2,3, or → nid:1 OR nid:2. |
due_siblings |
(object) | Last-used settings for the Due Siblings dialog (deck, min_ivl, max_lapses, exclude_struggling). See config.md. |
Anki 2.1.50+, both Qt5 and Qt6 builds (Qt symbols are imported via aqt.qt).
python -m unittest discover -s tests # run the unit tests for the pure logic
python -m py_compile __init__.py nid_tools.py due_siblings_logic.py due_siblings.pyThe pure, Anki-independent logic (ID parsing, search-string building, set diff,
grouping, due-sibling queries) lives in nid_tools.py and
due_siblings_logic.py and is unit-tested in
tests/. The Anki/Qt glue lives in __init__.py and
due_siblings.py. See CONTRIBUTING.md for
the full layout and how to build the .ankiaddon.
Comparison matches on Anki note IDs (nid). These are preserved from the
source when a deck is distributed as one artifact (a shared AnkiCollab
subscription, an AnkiHub deck, or the same downloaded .apkg), so everyone who
got the deck the same way shares identical IDs and the comparison is exact. If
two people obtained "the same" deck through different channels, their IDs may
not line up.
MIT © 2026 tamenmd