Skip to main content

Anki Miner

PyPI version Python 3.11+ License: GPL v3 GitHub downloads GitHub stars Discord community

English · 日本語 · Русский · Français · Español · Deutsch · Português (Brasil) · Bahasa Indonesia · Tiếng Việt · 简体中文 · 繁體中文 · Italiano · العربية · 粵語 · Slovenščina · 한국어 · Português (Portugal) · Nederlands · ไทย · עברית · فارسی · Català · Norsk bokmål · Svenska · Dansk · Polski · Українська · Hrvatski · Lietuvių · Suomi · Magyar · Ελληνικά · Română · Türkçe

Turn native content in Japanese, Chinese, Korean, and twenty-nine more languages into Anki vocabulary cards.

Also on Android - Anki Miner for Android.

Please leave a ⭐ star if Anki Miner helped you - it helps others find it :).

Mining Demo

Anki Miner Showcase

⬇️ Full demo with sound (MP4)

Example cards

ホント いちゃいちゃ 代
⬇️ MP4 (sound) ⬇️ MP4 (sound) ⬇️ MP4 (sound)

Installation

Requirements

  • Anki with the AnkiConnect add-on (code 2055492159)
  • ffmpeg + libmpv (video preview only) - needed only when installing via pip/pipx or source.

Grab the download for your platform from the latest release:

Platform Download
Windows AnkiMiner-*-Setup.exe
macOS (Apple Silicon) AnkiMiner-*-macOS-arm64.dmg
macOS (Intel) AnkiMiner-*-macOS-x86_64.dmg ¹
Linux (Debian/Ubuntu) anki-miner_*_amd64.deb
Linux (other) AnkiMiner-*-Linux-x86_64.AppImage

¹ Excludes AVIF screenshots and silence removal for generated subtitles.

First-run notes (unsigned builds)

  • macOS: open the .dmg, drag AnkiMiner onto Applications, then launch it. The first launch is blocked because the app is not notarized: dismiss the dialog, open the app again, and choose Open Anyway (also under System Settings -> Privacy & Security). Once only.
  • Linux AppImage: make it executable before running it - chmod +x AnkiMiner-*.AppImage, or Properties -> Allow executing in your file manager.
  • Windows SmartScreen: More info -> Run anyway.
  • Windows Defender false positive: restore from Protection history or report to Microsoft.
Install from PyPI (Python 3.11+)
pipx install anki-miner   # or: pip install anki-miner
anki_miner_gui

Japanese, Indonesian and Hebrew need nothing extra. For another mining language, add its engine:

pipx install "anki-miner[languages]"   # all; or one of [zh], [ko], [yue], [en], [ca], [de], [pt], [fr], [es], [it], [nl], [nb], [ro], [el], [fi], [hu], [hr], [sv], [pl], [lt], [da], [ru], [uk], [sl], [tr], [th], [vi]

Arabic and Persian have no extra. Their data, and the spaCy models of the European languages, download in-app from Settings -> Mining Language, where the downloads above fetch everything.

Install from source
git clone https://github.com/0xzerolight/anki_miner.git
cd anki_miner
pip install -e .
anki_miner_gui

For full development setup, see CONTRIBUTING.md.

Tabs

  • Video - mine a single video/subtitle pair, a batch folder, YouTube or Bilibili URLs, or a whole series into one frequency-ranked deck.
  • Audiobooks - mine audiobooks, podcasts, radio, songs (audio + subtitle/transcript pairs).
  • Reading - mine manga (mokuro), novels (.epub, .txt; single book or a whole folder), standalone subtitle files, or pasted text.
  • Analytics - mining history, difficulty rankings, milestones.
  • Utilities - generate subtitles (local Whisper), retime subtitles (ffsubsync/alass), condense media to dialogue-only audio, download video/audio/subtitles from any site yt-dlp supports, copy the worth-learning part of a premade deck into a new one, backfill fields on existing cards, OCR manga page images into .mokuro files (mokuro), and time an audiobook to its book's text (Audiobook Sync).
  • Settings - everything configurable.

Other Features

  • Mining languages - Japanese, Chinese, Korean, English, Catalan, German, Portuguese, French, Spanish, Italian, Dutch, Norwegian Bokmål, Romanian, Greek, Finnish, Hungarian, Croatian, Swedish, Polish, Lithuanian, Danish, Turkish, Indonesian, Russian, Arabic, Thai, Persian, Slovenian, Ukrainian, Vietnamese, Cantonese, and Hebrew, switched in Settings. Languages other than Japanese download their engine in-app; Indonesian and Hebrew need none.
  • Word Curator - review every candidate word before cards are made, with its scene, manga page, and dictionary entry side by side.
  • Undo a run - delete the notes a run just created, straight from its results dialog.
  • Extensive filtering: i+1, frequency rank range, blacklist, regex, wordsets, and more.
  • Offline Yomitan dictionary import - definitions, pitch accent, frequency - chained by priority.
  • Multiple frequency lists chained by priority.
  • Word audio on cards from local audio packs, JapanesePod101, Google TTS, or Microsoft Edge TTS.
  • Sentence audio on Reading cards from Google Translate TTS, or Naver Papago for Japanese and Korean (off by default).
  • Per-dictionary glossary styling, Yomitan-style.
  • Embedded libmpv video preview - play a word's scene while curating, or nudge subtitle timing with live playback.
  • Animated screenshots (see example cards above).
  • Settings profiles - save named configurations and switch between them from the header.
  • Restyle Mined Cards - re-apply your current card styling to cards you already made (Utilities → Card Backfill).
Built-in themes (29)
  • Ayu - Light, Mirage, Dark
  • Catppuccin - Latte (light); Frappé, Macchiato, Mocha (dark)
  • Dracula - Dracula, Alucard
  • Everforest - Light, Dark
  • GitHub - Light; Dark, Dark Dimmed
  • Gruvbox - Light Medium, Dark Medium
  • Kanagawa - Lotus (light), Wave (dark)
  • Rosé Pine - Dawn (light); Main, Moon (dark)
  • Solarized - Light, Dark
  • Standalone - Light, Dark, Sakura, Nord, One Dark, Tokyo Night

Theme licenses: LICENSE-THEMES.md. Want another theme added? Suggest in a GitHub Issue.

How It Works
  1. Read the subtitles and split the text into individual words.
  2. Filter to content words you don't already know - optionally reviewing the list yourself in the Word Curator.
  3. Grab a screenshot and audio clip from the video for each line.
  4. Look up definitions in your configured offline dictionaries.
  5. Send the finished cards to Anki.

Dictionaries and frequency lists for every mining language, with download links: RESOURCES.md. The Setup Wizard offers the right set for your mining language.

JMnedict License

Uses bundled name wordsets derived from JMnedict (JMdict/EDICT project, EDRDG, CC BY-SA 4.0).

Troubleshooting

Issue Solution
"Cannot connect to Anki" Start Anki and ensure AnkiConnect is installed.
"Deck not found" Pick an existing deck in Settings -> Cards & Anki. Decks are not created for you; make it in Anki first if you need a new one.
"Note type not found" Configure your note type's field names in Settings -> Cards & Anki.
"ffmpeg not found" Install ffmpeg and add it to PATH.
No definitions found Add a Yomitan dictionary in Settings -> Dictionaries -> Add dictionary…
Windows installer will not open / SmartScreen warning See First-run notes: select More info -> Run anyway; restore Defender false positives from Protection history.
Fresh install has no definitions Run Tools -> Setup Wizard or Tools -> Download Recommended Resources. For manual import, keep the Yomitan ZIP intact (do not unzip it).
Add Dictionary stalls or fails Note the last visible stage and attach logs (see "Where are the logs?" below). Include the dictionary ZIP name, source, and size in the report.
Where are the logs? Use Help -> Open Log Folder, or open %USERPROFILE%\.anki_miner\anki_miner.log on Windows or ~/.anki_miner/anki_miner.log on macOS/Linux. Rotated logs use the .1 through .5 suffixes. Send anki_miner.crash too if it is there (a crash that took the app down writes its stack to that file, not to the log), and anki_miner.child.log, which holds a helper process's output.
Reporting a bug Help -> Export Diagnostics… writes a ZIP to a location you choose, holding the logs (anki_miner.log and its rotations, anki_miner.crash, anki_miner.child.log), your settings.json, your config and UI-state files, queue snapshots and download manifests, and generated reports of the machine and app state (environment.txt, health.txt, resources.txt, stores.txt, disk.txt, screens.txt). Review it before uploading because it contains file paths and file names from your computer. Nothing is uploaded automatically.
More diagnostic logging Set ANKI_MINER_LOG_LEVEL=DEBUG before starting Anki Miner to capture third-party yt-dlp, urllib3, and fugashi details. The default is WARNING; Anki Miner logs remain at DEBUG.
Audio is wrong language The tool picks the mining language's audio track, else the first one. Choose it yourself with Audio track… (Video -> Single).
Subtitles out of sync Use the subtitle offset control in the GUI (range ±300 seconds).

Contributing

Contributions of any kind are welcome. If you want to support the project, please share it with others who may benefit from it.

Bug reports and feature requests -> Issues. General questions and discussion -> Discussions or Discord.

Special Thanks

Sincere thanks to people who made exceptional contributions to the project:

  • ★ StyraxBenzoin - Brilliant feature suggestions, new release testing, community building.
  • ★ rob-olvr - Excellent feature suggestions, community building and moderation on Discord.

See CONTRIBUTORS.md for everyone who has made any kind of contribution to the project.

License

GNU General Public License v3.0. See LICENSE.

Metadata

Release files for anki-miner 3.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for anki-miner 3.9.0
File Size Uploaded
anki_miner-3.9.0.tar.gz 16.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for anki-miner 3.9.0
File Interpreter ABI Platform
anki_miner-3.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 34.1 MB

Release files / anki_miner-3.9.0.tar.gz

Download URL anki_miner-3.9.0.tar.gz
Size 16.8 MB
Tags Source
SHA-256 checksum
How to use checksums
f4daa112b30736da01ac64f20d4719a6927a29c0a2e067b0fb22ef6e42b06b3f
BLAKE2b-256 checksum
How to use checksums
9fda55246036aff6be565d7bf9ba02d02d66768f4e84398ba3f345a21080f814
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / anki_miner-3.9.0-py3-none-any.whl

Download URL anki_miner-3.9.0-py3-none-any.whl
Size 17.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
72375d11304d184c2da734a34318feacb15589e3d7214f8cf80138eb79b6fc6e
BLAKE2b-256 checksum
How to use checksums
574b1bb48c83ab24db1323a2116f358ac0d3ecf164f53184c7386bfa9ff248d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.9.0 This release

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.14.0

2 release files

2.13.0

2 release files

2.12.0

2 release files

2.11.0

2 release files

2.10.0

2 release files

2.9.3

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.8

2 release files

2.7.7

2 release files

2.7.6

2 release files

2.7.5

2 release files

2.7.4

2 release files

2.7.3

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.7

2 release files

2.6.6

2 release files

2.6.5

2 release files

2.6.4

2 release files

2.6.3

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.7

2 release files

2.4.6

2 release files

2.4.5

2 release files

2.4.4

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.0.4

2 release files

2.0.2

2 release files

2.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page