A Firefox (and Chrome) browser extension for creating Anki flashcards from Japanese audio while watching videos.
Record a short clip of a spoken Japanese sentence, get an automatic transcription and English translation, edit either field, queue the card — with the audio attached — then export everything as a single .apkg file to import into Anki.
Demo (v0.1.5):
immerAnki_demo_5.mp4
- Records audio directly from your browser tab (no separate app needed)
- Captures a screenshot of the current tab when recording starts
- Transcribes Japanese speech using Whisper running locally in the browser — no API key, no cost
- Translates to English via MyMemory (free, no key required)
- Editable transcription and translation fields before saving
- Queues cards locally across browser sessions; exports them as a standard
.apkgfile - No AnkiConnect, no Anki plugin, no Anki needs to be open while you work
- Works in Firefox and Chrome
npm installnpm run buildThis produces a dist/ folder containing the compiled extension.
- Open
about:debuggingin Firefox - Click This Firefox
- Click Load Temporary Add-on…
- Select
dist/manifest.json
The extension is now active. A small immerAnki panel will appear in the bottom-right corner of every page.
- Navigate to any page with a video (e.g. YouTube)
- Click Record in the panel
- Firefox will show a screen-share picker — select your current tab and enable Share tab audio (only needed once per session)
- Play the sentence you want to capture, then click Stop
- A screenshot is captured automatically when you start recording; you can see a preview in the panel and remove it if desired
- Wait a few seconds for transcription (the Whisper model downloads ~290 MB on first run and is then cached permanently)
- Edit the Japanese and English fields if needed
- Type a deck name (e.g.
Japanese::Immersion) and click Queue Card - Repeat for as many sentences as you like
- When ready, click Export N cards in the panel header
- Open Anki and go to File → Import — select the downloaded
.apkgfile
npm run build # one-off production build (both main + content script)
npm run watch # watch mode for both builds (use with Option B below)
npm run lint # web-ext lint against the dist/ folderStart both build watchers:
npm run watchThen in Firefox:
- Go to
about:debugging→ This Firefox → Load Temporary Add-on… - Select
dist/manifest.json
The extension stays loaded until Firefox is closed. After each rebuild, click Reload next to the extension in about:debugging to pick up the changes.