Master new languages with this CLI tool, designed to help you record vocabulary and create Anki flashcards without the need to manually input translations or example sentences.
- Record vocabulary words with ease
- Automatic translation and usage examples via OpenAI GPT
- Definition mode: use same-language pairs (e.g., french:french) to get concise definitions instead of translations
- Anki integration for seamless language learning
- Supports multiple languages
- Python 3.10+
- Compatible with Windows, Linux, and macOS
python3 -m pip install vocabmaster
uv tool install vocabmaster
Vocabmaster requires an OpenAI API key to function. You can obtain a key by signing up for an account at OpenAI's website.
Once you have your API key, set it as an environment variable:
-
On macOS and Linux:
export OPENAI_API_KEY="your-api-key-here"
To avoid having to type it everyday, you can create a file with the key:
echo "your-api-key" > ~/.openai-api-key.txt
Note: Remember to replace
"your-api-key"with your actual API key.And then, you can add this to your shell configuration file (
.bashrc,.zshrc, etc.):export OPENAI_API_KEY="$(cat ~/.openai-api-key.txt)"
-
On Windows:
setx OPENAI_API_KEY your_key
To enable shell completion for bash or zsh, source the completion file (see the completion folder) related to your shell by adding the following line to your .bashrc or .zshrc file:
source /path/to/vocabmaster/completion/_complete_vocabmaster.bash
source /path/to/vocabmaster/completion/_complete_vocabmaster.zsh
Remember to replace /path/to/vocabmaster with the actual path where the completion file is located.
vocabmaster pairs add
VocabMaster supports same-language pairs for getting definitions instead of translations. This is useful when you want to learn more advanced vocabulary in a language you're already studying.
For example, to create a French vocabulary list with definitions in French:
vocabmaster pairs add
# When prompted, enter: french (language to learn) and french (mother tongue)
When using same-language pairs:
- The LLM provides concise definitions (2-3 words) instead of translations
- Example sentences are in the target language
- Anki decks are named "{Language} definitions" instead of "{Language} vocabulary"
vocabmaster add la casa
vocabmaster pairs list
vocabmaster pairs set-default
vocabmaster pairs remove
vocabmaster pairs rename
vocabmaster pairs inspect --pair english:french
inspect shows file locations, translation counts, and the estimated input-token cost (input tokens only) for a specific pair.
vocabmaster translate
Generate a deck for a specific pair with:
vocabmaster anki --pair spanish:english
vocabmaster config dir --show
vocabmaster config dir ~/Documents/vocabmaster
Use --show to print your current storage directory. Vocabulary CSV and Anki decks default to ~/.vocabmaster, but you can relocate them anywhere. The configuration file itself always stays under ~/.config/vocabmaster/config.json.
vocabmaster <command> --help
To import the vocabulary deck into Anki, follow the steps below:
- Launch Anki.
- Click on the
Import Filebutton. This will open a file picker dialog. - In the file picker, locate and select the
anki_deck_language1-language2.csvfile. - Ensure the
Existing notesfield is set to Update. This will prevent the creation of duplicate cards if the same note already exists in your deck.
VocabMaster is released under the Apache Licence version 2.



