Hardcoded subtitles can't be extracted as text files — they're burned into the video image. To translate them, you need OCR to read the on-screen text first, then AI translation to convert it to your target language. GeekLink handles both steps locally on Mac: extract hardcoded subtitles via OCR, translate with Claude or GPT-4o, and export as SRT or burn new subtitles back into the video.
How does translating hardcoded subtitles actually work?
Translating hardcoded subtitles is a two-stage process: OCR reads the burned-in text into an editable subtitle file, then AI translation converts that text to your target language. Because the subtitles live as pixels in the video image rather than as a separate text track, OCR is what turns them back into editable text — and only then can a translation model work on them.
Once you have that editable text, the second stage is the same as translating any subtitle file: set the source and target language, pick an AI model, and review the result. The rest of this guide walks through both stages end to end — OCR extraction, AI translation, and exporting the result as an SRT file or burning it back into the video.
What types of videos have hardcoded subtitles?
Most Chinese short dramas, Japanese anime downloads, and social media clips use hardcoded subtitles that cannot be toggled off. If you watch foreign-language content, you've likely encountered this problem.
Chinese short dramas and web series
Content from Douyin, Bilibili, iQIYI, and WeTV almost always uses hardcoded Chinese subtitles. When creators export from CapCut or Jianying, the subtitles get burned directly into the video. Downloaded episodes from Chinese streaming platforms also typically embed subtitles into the video frames rather than providing separate SRT files.
Japanese anime
Fansub releases, Crunchyroll offline downloads, and bilingual anime releases frequently have hardcoded subtitles. Many anime files circulating online have Japanese or English text permanently baked into the video — especially older releases and fan-translated versions.
Korean dramas and variety shows
Downloads from Viki, KOCOWA, and Korean broadcasting networks often include hardcoded Korean subtitles. Korean variety shows are particularly heavy on burned-in text — they use on-screen captions extensively for reactions, name tags, and narration.
Social media clips
Instagram Reels, YouTube Shorts, TikTok videos, and clips edited in CapCut or similar tools almost always burn subtitles directly into the video. These platforms prioritize visual text over separate subtitle tracks. When you download these clips, the captions come as pixels, not as editable text.
Older movies and TV shows
DVD rips, VHS transfers, and older digital releases frequently have SDH (Subtitles for the Deaf and Hard of Hearing) or foreign-language subtitles permanently rendered into the video. These predate the widespread adoption of separate subtitle tracks.
How to translate hardcoded subtitles step by step
This walkthrough uses GeekLink on macOS. The entire OCR and editing process runs locally — your video never leaves your machine. Only the extracted subtitle text (plain text, a few KB) is sent to the translation API.
Step 1: Import your video
Drag and drop the video file into GeekLink. Supported formats include MP4, MOV, MKV, AVI, WebM, and FLV. There is no file size limit. For batch translation workflows (e.g., translating an entire season of a Chinese drama), import all episodes at once.
Step 2: Select OCR mode and pick subtitle color
Choose OCR as the extraction method (not speech recognition — OCR reads the visual text, not the audio). Then select the subtitle text color. GeekLink uses color matching to isolate subtitle text from background elements, which improves accuracy — especially when the video has watermarks, logos, or decorative text in different colors.
Step 3: Choose the subtitle region
Define where subtitles appear in the frame. For most dramas and movies, subtitles sit in the bottom 20-30% of the screen. For variety shows with captions in multiple positions, you may need the full frame. Restricting the region eliminates false positives from on-screen graphics, channel logos, and watermarks — this alone can take precision from 85% to 95%.
Step 4: Run OCR extraction
GeekLink processes the video frame by frame: sampling at adaptive intervals, detecting text regions, recognizing characters, deduplicating consecutive identical lines, and assigning start/end timestamps. The result is an editable subtitle file with clean, timed text — ready for translation.
Processing runs entirely on your Mac's CPU/GPU. A 20-minute drama episode typically produces results in 2-5 minutes depending on subtitle density and hardware.
Step 5: Translate with AI
Open the AI translation panel. Select your source language (e.g., Chinese) and target language (e.g., English). Choose your preferred AI model — Claude 3.5 Haiku, GPT-4o, or GPT-4o mini. GeekLink sends subtitle text with surrounding context lines so the model can produce coherent, context-aware translations rather than translating each line in isolation.
Only the subtitle text is sent to the translation API. Your video and audio files remain on your Mac.
Step 6: Review and edit translated subtitles
Open the built-in subtitle editor to review the translation. Common adjustments:
- Name translations — Character names, place names, and proper nouns may need manual correction. AI models sometimes transliterate when they should keep the original, or vice versa.
- Cultural references — Idioms, slang, and culture-specific expressions may need localization rather than literal translation.
- Line breaks — Long translated lines may need splitting for readability at the target font size.
- Timing adjustments — If the original OCR timing was slightly off, fix it now before exporting.
Step 7: Export as SRT or burn translated subtitles into the video
You have two export options:
- SRT/ASS/VTT file — Export the translated subtitles as a separate file for use in any video player or editing software.
- Burn-in — Render the translated subtitles directly onto the video as new hardcoded subtitles. Customize font, size, color, position, and outline. This is ideal for sharing on social media or with viewers who don't know how to load external subtitle files.
The complete workflow — OCR extraction, AI translation, editing, and burn-in — runs in a single application without switching between tools.
Which AI translation model should you choose?
GeekLink supports multiple AI models for subtitle translation. Each has different strengths depending on your content type and budget.
Claude 3.5 Haiku
Fast and cost-effective. Good for straightforward content like vlogs, tutorials, and casual conversation. Handles CJK languages well for everyday dialogue. The lowest cost per subtitle line among the three options.
GPT-4o
The highest quality option for nuanced or literary content. Best for dramas with complex dialogue, poetry, historical references, or content where tone and register matter. Slower and more expensive per line, but produces noticeably better results on difficult material.
GPT-4o mini
A balanced middle ground — faster than GPT-4o, better quality than Haiku for most content. A good default choice when you're unsure which model to pick.
GeekLink supports Claude 3.5 Haiku, GPT-4o, and GPT-4o mini for subtitle translation — choose based on your quality needs and budget. All models run through API with your own key. Your video never leaves your Mac — only the extracted subtitle text (typically a few KB) is sent for translation.
How to maximize translation accuracy for extracted subtitles
Translation quality depends on OCR quality. A misread character in the source text cascades into a wrong translation. These steps help you get the best results.
1. Clean OCR results before translating
Always review OCR output before translating — fixing one misread character saves a cascade of translation errors. Common OCR confusions to watch for:
- Chinese:
已↔己,未↔末,土↔士 - Japanese:
ー(katakana prolonged sound) ↔一(kanji "one") - English:
rn→m,l→I,0→O
Here is why this matters in practice. Suppose OCR reads the Chinese line 他已经走了 ("he has already left") but misreads 已 as the visually near-identical 己, producing 他己经走了. The AI translator now sees a string that isn't a clean sentence — depending on the model, it may output "he is leaving," "he himself left," or drop the word entirely. One wrong stroke in the source flipped the tense and meaning of the whole line, and no amount of translation-side review would catch it — because the English looks grammatically fine. That is the cascade: a source error becomes invisible once it's translated.
Spend 2-3 minutes scanning the OCR output for obvious errors before hitting translate. This is faster than fixing mistranslations afterward, and it catches errors that would otherwise survive into the final subtitle file.
2. Set source and target language explicitly
Don't rely on auto-detection. If you're translating Chinese subtitles to English, tell the model exactly that. Explicit language settings prevent the model from guessing wrong — especially with mixed-script content (e.g., Japanese text that contains both kanji and English words).
3. Use context-aware translation
GeekLink sends surrounding subtitle lines as context to the AI model, not just one line at a time. This produces more coherent translations — the model understands who is speaking, maintains consistent terminology, and handles pronouns correctly across sentences.
4. Review edge cases manually
After translation, check these known trouble spots:
- Character names — AI may translate names literally or inconsistently. Pick one romanization and use find-and-replace to standardize.
- Onomatopoeia — Japanese manga/anime sound effects (e.g.
ドキドキ,ガタガタ) may be transliterated rather than translated. - Honorifics — Whether to keep -san, -senpai, -nim or translate them depends on your audience. Be consistent.
- Numbers and units — Chinese
万(ten thousand) and Korean억(hundred million) should be converted to Western notation for English audiences.
Can you translate hardcoded subtitles in batch?
Yes. Import multiple videos, run OCR on all of them, translate all extracted subtitles, and export — all in one automated pipeline.
For series content (drama seasons, lecture series, YouTube playlists), batch processing can extract and translate 20-50 episodes without manual intervention. Import all episodes, configure OCR and translation settings once, and let GeekLink process them sequentially while you do something else.
The batch workflow:
- Import all video files at once (drag entire folder)
- Configure OCR settings — subtitle region, text color, language
- Run OCR extraction on all videos
- Set translation target language and AI model
- Run batch translation
- Review results (optional — skip for high-volume, lower-priority content)
- Export all as SRT files or burn subtitles into all videos
Each video's progress is tracked independently. If one video fails (e.g., unusual subtitle styling that OCR can't handle), it doesn't block the rest of the batch.
What happens to the original burned-in subtitles?
This is the part that trips up most people translating hardcoded subtitles for the first time. OCR extracts the text from the original subtitles, but it does not erase them from the video image — the original burned-in text stays visible. So if you translate and then burn your new subtitles in at the same position, you end up with two overlapping layers of text fighting for the same space.
Truly removing the original subtitles requires video inpainting — painting over the text and reconstructing the background behind it frame by frame. That is a separate, computationally heavy process, and on moving backgrounds it often leaves visible smearing. For most translation work, it's not worth it. Instead, use one of three practical approaches:
1. Position your translation above or below the original
The simplest fix. Place your translated subtitles in a different vertical position than the original — for example, if the original Chinese sits at the very bottom, put your English line just above it. This produces a bilingual look (original + translation), which many viewers of dramas and anime actually prefer for language learning.
2. Cover the original with an opaque bar
Burn your translated subtitles onto a solid or semi-opaque background bar sized to cover the original text underneath. The bar hides the original while keeping your new subtitles clean and readable. This works well when the original subtitles sit in a consistent position (a fixed bottom band), which is the case for most dramas and movies.
3. Crop the original out
If the original subtitles sit in a margin below the main action (common in vertically-shot short dramas where there's letterboxing), you can crop that strip off entirely, then add your translated subtitles in the cropped frame. Cropping only works when the original text sits outside the important visual area — never crop into the actual scene.
Which approach to pick depends on the source. Fixed-position bottom subtitles on a drama → opaque bar or reposition. Subtitles scattered across the frame in a variety show → repositioning is hard, so a bilingual layout or accepting some overlap is usually the realistic call.
Frequently Asked Questions
Can I translate hardcoded subtitles without extracting them first?
No. Hardcoded subtitles are pixels in the video image, not text data. You must first use OCR to extract the text into an editable format, then translate that text. There is no shortcut — any tool that claims to "translate hardcoded subtitles directly" is running OCR behind the scenes. GeekLink combines both steps in a single workflow so you don't need to switch between tools.
How long does it take to extract and translate a 20-minute video?
On an Apple Silicon Mac (M1 or later): OCR extraction takes 2-5 minutes for a 20-minute video with approximately 100-150 subtitle lines. AI translation adds 1-2 minutes depending on the model and number of lines. Total: roughly 3-7 minutes end-to-end. Batch processing runs in the background — you can queue an entire season and let it process while you do other work.
Does this work with vertical Chinese text?
GeekLink's OCR handles both horizontal and vertical Chinese text. Vertical text is common in older Chinese films, some Taiwanese content, and certain Japanese media. The OCR engine detects text orientation automatically — you don't need to configure it manually.
Can I burn the translated subtitles back into the video?
Yes. After translating, you can either export as an SRT file (for use in video players) or burn the translated text directly onto the video as new hardcoded subtitles. You can customize font, size, color, outline, and position. The original burned-in subtitles remain visible unless you position the new text to cover them.
Is my video uploaded to the cloud during this process?
No. OCR extraction and subtitle editing run entirely on your Mac — your video file never leaves your device. Only the extracted subtitle text (plain text, typically a few kilobytes) is sent to the AI translation API. This means your video content stays private, which matters for copyrighted material, unreleased content, and corporate videos under NDA.
What if the OCR misreads some characters?
Review OCR output in the built-in editor before translating. Common confusions include visually similar characters (Chinese: 已/己, 未/末; English: rn/m, 0/O). Fix these before translation — one wrong character in the source creates a wrong translation in the output. GeekLink's editor lets you play back the video at each subtitle's timestamp to verify the OCR read correctly.
Related Articles
Disclosure: This guide is written by the GeekLink team. GeekLink is a macOS subtitle tool that includes OCR extraction and AI translation. Processing benchmarks are based on internal testing on Apple Silicon Macs across videos in Chinese, Japanese, Korean, and English. Your results may vary depending on source video quality, subtitle styling, and hardware.