Anki add-on: Lexical Coverage (Spanish only)

Lexical Coverage Analyzer An Anki add-on that estimates your Spanish vocabulary level by analyzing the words on your cards and comparing them against a frequency-ranked word list. It reports your estimated CEFR level (A1–C2), corpus coverage percentage, and a breakdown of your known vocabulary by band. Requirements Anki 2.1.50 or later Internet connection on first run (to install dependencies) The add-on will automatically install the following Python packages on first run: spaCy — for lemmatization of card text matplotlib — for the coverage chart es_core_news_sm — spaCy's small Spanish language model (~12MB download) Installation Download the lexical_coverage folder Place it in your Anki add-ons folder: Mac: ~/Library/Application Support/Anki2/addons21/ Windows: %APPDATA%\Anki2\addons21\ Linux: ~/.local/share/Anki2/addons21/ Restart Anki On first launch, Anki will install the required dependencies — this may take 30–60 seconds depending on your internet connection Setup — Tagging Your Cards The analyzer works by analyzing all cards with a specific tag. Before using it, make sure all your Spanish cards are tagged consistently. We recommend using a single tag like Spanish for all your Spanish vocabulary cards. To tag cards in bulk: Open the Anki Card Browser ( Browse in the main window) Select the cards you want to tag Right-click → Add Tags and enter your tag (e.g. Spanish ) Usage Open Anki and go to Tools → Lexical Coverage Analyzer Enter the tag you used for your Spanish cards (e.g. Spanish ) Click Analyze Results will appear after a few seconds Understanding Your Results Estimated CEFR Level Your overall vocabulary level based on how much of the most frequent Spanish words you know. Levels range from A1 (beginner) to C2 (near-native). | Level | Words covered | Coverage threshold | |---|---|---| | A1 | Top 1,000 | 90% | | A2 | Top 2,000 | 92% | | B1 | Top 3,000 | 94% | | B2 | Top 5,000 | 96% | | C1 | Top 8,000 | 98% | | C2 | Top 25,000 | 99% | Corpus Coverage % The percentage of words in real Spanish text that you would recognize. Based on subtitle corpus frequency data: | Coverage | What it means | |---|---| | ~90% | You understand most casual text but frequently hit unknown words | | ~95% | Comfortable reading with occasional lookups (B2 territory) | | ~98% | Near-fluent reading comprehension (C1+) | | ~99% | You almost never encounter unknown words | CEFR Band Chart A bar chart showing your coverage percentage for each CEFR band. Green bars indicate bands you have reached; red bars indicate bands you haven't reached yet. The dashed line on each bar shows the target threshold for that level. Word Lists Expandable lists showing your known words sorted by CEFR band, plus words beyond C2 and words not found in the frequency list. Click any section header to expand it. Output Files The add-on writes two files to the lexical_coverage/ folder after each analysis: unknown_words.txt — a full list of words from your cards that weren't found in the frequency list. Use this to spot misspellings in your cards or identify vocabulary gaps. Limitations Card quality matters — misspellings and typos in your cards will appear as unknown words. Use unknown_words.txt to identify and fix these. Proper nouns — names of people, places, and fictional characters will always appear as unknown words since they're not in the frequency list. This is expected. Non-Spanish words — if your cards contain English translations or other languages, those words will appear as unknown. First field only — the analyzer reads only the first field of each card (conventionally the front). Cards with non-standard note types may not be analyzed correctly. Analysis time — analyzing a large deck (2,000+ cards) may take several seconds. Anki's UI may be unresponsive during this time. Frequency List The add-on uses a lemmatized Spanish frequency list derived from the Hermit Dave FrequencyWords project (Creative Commons licensed), covering the 50,000 most common Spanish words from subtitle corpora. The list has been lemmatized using spaCy's large Spanish model ( es_core_news_lg ) to ensure consistent matching against your card text. Reporting Issues If you notice words being incorrectly lemmatized or other unexpected behavior, please open an issue on the project repository. Including a sample from your unknown_words.txt is helpful for diagnosing lemmatization problems.

GitHub repository: atiredvegan/lexicalcoverage
Repository description: Lexical coverage analyzer for Anki cards 
Languages: Python