Burned-in subtitles are pixels, so every route to an Anki card goes through OCR (optical character recognition, which turns an image of text into real text). You have two practical options. You can turn a whole episode into an .srt file and feed it to subs2srs or asbplayer, or you can capture only the lines you want, one sentence at a time.
Why hardcoded subtitles break the usual tools
A lot of mainland Chinese video has Chinese subtitles, 字幕 (zìmù), baked into the image. That covers dramas, donghua, short dramas, 短剧 (duǎnjù): short-form video drama and studio uploads on YouTube and Bilibili. There is no text track to switch off and nothing to select.
The usual mining tools all expect text. subs2srs cuts audio clips and screenshots using subtitle timestamps, so it needs a subtitle file such as .srt, .ass/.ssa, .idx/.sub, .lrc or .trs. Its docs are Windows-oriented. asbplayer is a browser extension and web player. It loads your own subtitle files or the text subtitles from a streaming site, and it makes Anki cards through AnkiConnect, but it does no OCR on burned-in subtitles. Language Reactor also works on text subtitle tracks, so it has nothing to read here either.
So the real problem is getting text, and ideally timing, out of pixels. That is an OCR job.
Two routes: whole episode or one sentence at a time
Route A runs OCR over the entire episode and gives you a timed subtitle file. Route B captures just the lines you care about while you watch. The table shows how they differ.
| Route A: OCR the episode to .srt, then subs2srs or asbplayer | Route B: capture the lines you want as you watch | |
|---|---|---|
| What you start with | A video file you downloaded | Whatever is playing on screen |
| What you get | A full timed .srt you can reuse | Only the sentences you chose |
| Setup effort | Heavy | Little |
| Platform | Tools are mostly Windows | Depends on the tool you pick |
| Where OCR errors hurt | One bad timestamp means wrong audio on that card | You fix errors while you look at the line |
| Fits | Re-watching a whole show you own as a file, or bulk decks | Streaming, and i+1 mining where you keep 5 to 10 lines an episode |
Most learners mine a handful of lines per episode, so Route B fits that habit better. This is the route Zhenzhu, our app, takes. Route A pays off when you want every line, for example to build a listening deck from one season.
Route A: OCR a whole episode into an .srt
This route is free or cheap and gives you everything in the episode. Its cost is setup time, plus a Windows machine for most of the tools. Here is the usual workflow.
- Get the video as a file that you are allowed to use.
- Scan for subtitle frames. VideoSubFinder is a free program that detects the frames with subtitles and saves an image of each one with its timecode. You crop the scan to the band where the subtitles sit.
- Run OCR on those images. Hardsub-Extract-OCR by Furretar pairs VideoSubFinder with Google Cloud Vision (via Chrome Lens). It is Windows only and needs Python 3.11. RapidVideOCR is another open-source tool that extracts hard subtitles and generates an .srt. On a Mac, GeekLink is a directly downloaded app that OCRs burned-in CJK subtitles to a timed SRT. Its site says "Extracting subtitles is free, with 60 minutes of OCR export every month".
- Proofread the .srt. OCR confuses similar characters, and it picks up on-screen titles and logos as if they were dialogue.
- Make cards. Feed the .srt and the video into subs2srs on Windows. It gives you a .tsv file plus a media folder with audio clips and snapshots, ready for Anki import. Or load the .srt into asbplayer and mine line by line with AnkiConnect.
Before you start, check whether the work is already done. Furretar also maintains a Mandarin-Subtitles-Archive on GitHub with subtitle files that someone has already extracted. A few minutes of searching can save you an evening of cropping and proofreading.
Route B: capture one sentence at a time
The workflow is the same whatever tool you use. Pause on the line, capture the subtitle region as a screenshot and run OCR on it, and keep the audio of that line if you can. Then check the OCR text against the picture, pick the target word, add the meaning and send the card to Anki.
You can do a manual version with tools already on your Mac. macOS Live Text can copy text from a paused frame or a screenshot. You paste the text into a dictionary and record the audio separately.
It works, but it takes five or more steps per card. You also lose the audio unless you record it yourself, and a card without audio is a weaker card for a listening skill. The next section shows how a dedicated tool shortens this.
Doing Route B in Zhenzhu (our app)
Zhenzhu is the Mac app we build, and it requires macOS 15 or later. It is made by one developer, Minh. This section shows how it handles the exact problem above. It reads the subtitles on your device from the frames of a short recording.
- With nothing selected, open
Mine Sentence…from the menu bar. - Choose
Record a clip. The app describes it as "Record up to 15 seconds with audio. Subtitles are read for you." - Pick the area to record:
Selected Area,App WindoworFull Screen. - Record while the line plays. Press Space or Return to finish, or Esc to cancel.
- Zhenzhu reads the subtitles from the frames and lists them under
Subtitle lines. Tick every line that belongs to the sentence. They are joined in order, which helps because one sentence is often split across two subtitles. - Other on-screen text, such as titles, buttons and numbers, is folded away under
Show other text on screen. - Fix any OCR mistake directly in the editable sentence. There is a way back to the text as it was captured.
- Trim the audio range so the clip holds only that sentence.
- Click words to choose the target word, then check the meaning.
- Click
Save to Flashcardsfor the built-in FSRS review, orSave to Ankito send it through the AnkiConnect add-on (Anki needs to be open).
The card keeps the clip audio and a screenshot. If you do not need audio, Snip a subtitle keeps a picture of the moment instead. For the Anki side of the setup, see our Anki on Mac workflow guide.
The app is a free download with no account. The Free plan has no time limit and gives you unlimited lookups and reviews, plus 15 new cards and 20 OCR reads a month, and a clip recording counts as one read. Zhenzhu Pro is a one-time $29 purchase with all future updates, not a subscription.
A worked example: from a two-line subtitle to one card
Imagine a scene where the subtitle shows two lines. Line 1 is 我知道你还在生气 (wǒ zhīdào nǐ hái zài shēngqì), and line 2 is 但我不是故意的 (dàn wǒ bú shì gùyì de). These sentences were written for this guide and are not from a show.
You tick both lines and the joined sentence becomes 我知道你还在生气,但我不是故意的。 It means "I know you're still angry, but I didn't do it on purpose."
Now run the i+1 check. If you know everything except 故意 (gùyì): deliberately, on purpose (HSK 4), this is a perfect card. The target word is 故意. Here is how the card could look.
我知道你还在生气,但我不是故意的。
(audio plays on the front)
故意 gùyì: deliberately; on purpose
"I know you're still angry, but I didn't do it on purpose."
Compare a line like 他犹豫了半天,最后还是答应了。 (tā yóuyù le bàntiān, zuìhòu háishi dāying le). It means "He hesitated for ages, but in the end he agreed." It contains 犹豫 (yóuyù): to hesitate (HSK 5), and 答应 (dāying): to agree, to promise (HSK 3.0 Level 4). If both words are new to you, that is i+2. Skip the line or come back to it later.
Which lines to mine (checklist)
Capturing is easy, so the risk is capturing too much. Use this checklist before you save a card. The i+1 sentence mining guide explains the idea behind it in more detail.
- The line has exactly one new word (i+1).
- It is a complete sentence. Tick two subtitle lines if you need to.
- You can hear it clearly, with no music over it and no overlapping speakers.
- It is useful outside the show, so skip name-heavy plot lines.
- It is short. Under about 15 characters is ideal for beginner to intermediate learners.
- You keep 5 to 10 lines per episode, not 50.
- You mine from the same show for a while, so the vocabulary repeats.
The last point is easy to overlook. When you stay with one show, the same words and the same voices come back, so each new card is easier to understand and to remember.
Common OCR problems and fixes
OCR on video is rarely perfect, whichever route you chose. These are the problems you will meet most often.
| Problem | Why | Fix |
|---|---|---|
| Stylized or outlined fonts | OCR misreads the strokes | Capture a larger area and correct the text by eye |
| Similar characters: 己 (jǐ, "self") and 已 (yǐ, "already"); 未 (wèi, "not yet") and 末 (mò, "end"); 人 (rén, "person") and 入 (rù, "to enter") | The differences are small | Compare the OCR text with the screenshot |
| Bullet comments (弹幕, dànmù) or on-screen titles mixed in | They add extra text | Turn bullet comments off and crop to the subtitle band |
| English and Chinese subtitles stacked | Both lines get read | Crop, or untick the English line |
| Fast cuts split a sentence | It appears as two subtitles | Join both lines |
| Traditional characters in Taiwan or Hong Kong shows | OCR reads them fine, but your deck may mix scripts | Decide once which script your deck uses |
Whatever the problem, the picture is your reference. If the text and the screenshot disagree, trust the screenshot and fix the text before the card goes into your deck.
How this guide was made
Research and drafting were AI-assisted.
Tool facts were checked on 8 October 2026 against each project's own page, Chinese against CC-CEDICT and the HSK 3.0 list, and Zhenzhu details against the app's source.
Read Chinese on your Mac without friction
Selection lookup, on-device OCR, pinyin tone marks, HSK context, and 1-click Anki export. Try Zhenzhu Free today on macOS 15+.