How YuzuLingo compares to other tools for burned-in subtitles.
YuzuLingo stays in the browser on bilibili.com and bilibili.tv. Soft caption tracks load as Soft sub lines without a zone. Soft sub translations can machine-translate Softs when a Soft track is missing (sign-in and daily Translate time). For burned-in Chinese hardsubs, Cover hardsubs or Read hardsubs adds a zone; Interact reads the line on your device while the video plays. You do not download the video.
Bilibili-Subtitle-Extractor is Searchin’s project. The repo is not public. The description says it was built because Bilibili creators burn Chinese hardsubs into the picture instead of offering a Soft track. It uses Python frame grabbers, PaddleOCR, and a Bilibili API helper. The rows below follow that description.
View comparison
YuzuLingo works on the Bilibili video you are already watching (bilibili.com and bilibili.tv). Soft caption tracks load as Soft sub lines in the subtitle panel without a zone. When the Soft language you want is missing, Soft sub translations → Add Soft translation puts a machine Translation under Soft (same Translate sign-in and daily time). For burned-in hardsubs, Cover hardsubs or Read hardsubs adds a zone; Interact reads the line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Switch the zone to Translate for hardsub OCR translation. It runs in Firefox as well as Chrome.
Bilibili Subtitle Download is a Chrome extension from J2J.Studio. The listing also calls the icon SmartSub. On a Bilibili video you click the icon, pick a subtitle track, and download an SRT of Softs Bilibili already has. The listing says AI translation is coming soon. It does not cover words burned into the picture, and it does not run on YouTube.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no desktop app to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them, and a transcript of the lines in that session. Switch the zone to Translate to show a live translation of that captured line in the panel. Show that text always, on hover, or while you hold a hotkey.
ToriOCR is OuterSpaceHobo’s free macOS app, in the repo tori_ocr. You download a DMG. It needs macOS 15 on Apple Silicon. You draw a region over any app, and it reads Japanese, Chinese, or Korean on the device. You can look the characters up, hear them spoken, translate the text, and send a card to Anki.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
macSubtitleOCR is jeffalldridge’s Mac app, in the repo macSubtitleOCR-gui. You drop a local .mkv, .mks, .sup, .sub, or .idx file. It reads PGS and VobSub bitmap subtitle tracks with Apple’s Vision framework and writes an SRT. You tick the tracks you want, including a whole folder. Each cue shows the bitmap next to the text, and unsure cues are flagged. You can fix the line, and the SRT updates as you type. Clean Up and Translate stay on the Mac when Apple Intelligence is available, and nothing is applied until you accept it. The README asks for macOS 15 or newer, on Apple silicon or Intel. The GitHub description says macOS 14 or newer and Apple silicon. The published app is a signed universal disk image. The latest release is v1.0.0. The last commit was on 10 September 2026. MIT. The engine comes from ecdye’s macSubtitleOCR. It does not cover a web video, and it does not read text that is already burned into the picture.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
mpv2anki is alyssabedard’s script for mpv, in the repo mpv2anki. You open a local video that already has a subtitle file. Shift+d pauses and opens Anki’s Add window with the current line, a second subtitle when one is loaded, an audio clip, and a screenshot. The card is added when you confirm. Adding the card without that window is listed as planned. Audio follows the subtitle times, and it only works on a local file. Stream support is planned. For streams, the README points at Abs Player. The default screenshot is the picture without subtitles. You can switch it to include them. It has been tested mainly on macOS. Windows and Linux are in the guide. The latest release is v2025.10.26. The last commit was on 26 October 2025. MIT. It does not cover a web video while it plays, and it does not read text that is already burned in.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
mpvacious is Ajatt-Tools’ script for mpv, in the repo mpvacious. You open a local video that already has a subtitle file. A key press sends the current line to Anki, with an audio clip and a picture. You can use a second subtitle track, copy the line, and replay it. Animated snapshots are optional. If there is no subtitle line, you can set the times by hand and still make an audio and picture card. It works with GoldenDict-ng or Rikaitan for lookup. Those are separate tools. Optional Forvo audio comes from the web. If the show is hard-subbed, the README points at transformers-ocr to read the text. It runs on Linux, Windows, and macOS, and it asks for mpv 0.41 or newer. Linux is what they recommend. The latest release is v26.7.28.0. The last commit was on 14 October 2026. GPL-3.0. It does not cover a web video while it plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
hardsub is torre76’s Python script in the repo hardsub. The command is hs. It runs on Linux only. You put a local video and an SRT with the same file name in one folder, and it writes a new file with those subtitles burned into the picture and the audio kept. mencoder burns the SRT. AVI also needs mplayer and ffmpeg. MPEG-4 also needs MP4Box and mp4info. Matroska also needs mkvmerge and mkvextract. The code accepts AVI, Matroska, and files whose type reads as MPEG v4. The ISO Media signatures for other MP4 files are commented out, so those files are skipped. For MPEG-4 and Matroska, a comment in the code says audio types other than AAC are not fully handled. The README says the subtitle size runs from 1 to 4. The code’s default scale is 2.5, and its help text says 1 to 100. The installation section is still blank. The script says version 0.0.1, alpha, and GPL v.3. GitHub does not list a license file. The last commit was in November 2013. There is no GitHub release. It does not read a line that is already burned in, and it does not cover a web video while it plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
YT-Sub-OCR is krmanik’s userscript in the repo yt-sub-ocr. You need a userscript manager. The script matches youtube.com and m.youtube.com watch pages. You click Crop, draw the area, then click OCR. The video pauses, paddlejs-ocr reads that one frame in the browser, and the text shows under the player. Buttons also pause or play, and step five seconds. The crop is saved in the browser. The script loads Cropper.js from jsDelivr and paddlejs-ocr from the project’s GitHub Pages. The userscript header says version 1.0.0 and GPL-3.0. GitHub does not list a license file. The only commit was in June 2024. There is no GitHub release. It does not cover the line, it does not keep reading while the video plays, and it does not write an SRT.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no video file to upload or download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
VideoWipe is KKenny0’s tool in the repo videowipe. You set up Python 3.10 or newer, or use Docker. It is not on PyPI. You point it at a local video. It finds burned-in text, watermarks, logos, and on-screen timestamps, then inpaints those pixels and writes a new MP4 with the original audio. Detection names Chinese, English, Korean, and more. You can pass a mask, or limit the job to subtitles or to the bottom of the frame. The default clean command does not pause for review. Preview, confirm, and a local web page on 127.0.0.1 are how you choose tracks and try a short section first. Optional RapidOCR can read a crop to tell a timestamp or watermark from a subtitle. That stays on the device. Optional ProPainter needs a GPU and its own non-commercial license. The README points at YaoFANGUK’s video-subtitle-remover for a Windows one-click app. The latest release is v0.11.1. The last commit was on 12 October 2026. GPL-3.0. It does not cover a web video while it plays, and it does not write an SRT.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
hardsub-extractor is liuzhongze7’s command-line tool in the repo hardsub-extractor. You set up Python 3.12 or newer. It runs on Windows, Linux, and macOS, on the CPU, with no GPU. You point it at a local video. It measures the burned-in subtitle band, or you pass the band, and PaddleOCR PP-OCRv5 writes an SRT. The default language is Simplified Chinese plus English on the same entry. Other codes include traditional Chinese, English, Japanese, Korean, Vietnamese, Arabic, Spanish, French, German, and Russian. It can split one bilingual SRT into a Chinese file and an English file. If the file already has a text subtitle track, it tells you to pull that with ffmpeg and skip OCR. Setup fetches YaoFANGUK’s Video Subtitle Extractor, which uses VideoSubFinder to find the frames. hardsub review writes one frame per line, contact sheets, and a prompt. That pack stays on the machine. They recommend handing it to DeepSeek 4.1 Flash, which is off the device. Extract, lint, split, and proofread run with no model. They measured roughly seven minutes of extraction for a three-to-four minute video on one CPU-only desktop. The last commit was in September 2026. There is no GitHub release. This repo is MIT. It does not cover a web video while it plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. It runs in Firefox as well as Chrome. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Blur is AleksandrHovhannisyan’s extension, in the repo blur. You highlight text or media, then choose Blur from the right-click menu. The popup sets the blur strength. Text you highlight is wrapped and blurred. If the selection includes an image, a video, or an iframe, that whole element is blurred. It does not draw a box over a subtitle band on a playing video. The README says it cannot blur SVG icons, background images, text inputs, or anything you cannot highlight. A reload clears the blur. Syncing the setting to the browser profile is still an unchecked nice-to-have. It is in the Firefox add-ons store and the Chrome Web Store. The last commit was in January 2025. There is no GitHub release. MIT license.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no file to drop in and no subtitle file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Animebook is a webpage, in the repo animebook.github.io. The README says it is unmaintained and points you to asbplayer. You drop a local video and a vtt, srt, or ass file onto the page. The subtitle text sits in the browser, so a popup dictionary such as Yomichan can look a word up. You can replay a caption, copy the line, copy a screenshot, and retime the subtitles, then download them as an srt. A separate Chrome extension can add a screenshot, audio, and the subtitle line to the latest Anki card. Yomichan is what creates that card. The page can pause when a caption ends. Browsers often cannot play HEVC or AC3. The last push was about 2 years ago. MIT license.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no Apple app to set up and no subtitle file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Sodalite is superuser404notfound’s Jellyfin app, in the repo Sodalite. It runs on Apple TV, iPhone, and iPad. You watch what is already on your Jellyfin server, with Direct Play, and you can request missing titles through Seerr. It also plays live TV and music, with HDR and Dolby Atmos when the file has them. Subtitles are real tracks, drawn on the device: text formats such as SubRip, ASS, and WebVTT, plus bitmap tracks such as PGS and DVD, and sidecar files. You can show a second text track, keep forced captions on while subtitles are off, and search and download a missing subtitle from the player. It does not read burned-in text in the picture. The app’s own interface ships in 26 languages. That is their claim about the interface, not the subtitle file. Public beta is on TestFlight. Release 1.0.0. The last commit was last week. It needs tvOS 26, iOS 26, or iPadOS 26, and Jellyfin 10.9 or newer. GPL-3.0 with an App Store exception.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no media player to set up and no subtitle file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hover a word for YuzuLingo’s dictionary popup on this device. Hold a modifier and hover any page text for the same popup. Show that text always, on hover, or while you hold a hotkey.
Voracious is rsimmons’ video player, in the repo voracious. It runs on Mac, Windows, and Linux. You point it at a local media folder laid out like Kodi or Plex, with a subtitle file whose name matches the video. It can show more than one subtitle track, replay the current line, and step forward and back by subtitle. Viewing modes pause and hide or reveal the subtitles. For Japanese, it adds furigana. The hover dictionary is Japanese only. The README names EPWING files. The code also loads local Yomichan dictionary zips, so that lookup stays on the device. It is not the live Yomitan extension. Export sends the line to Anki through AnkiConnect, with the sentence, readings, audio, and an image. It does not read burned-in text. It cannot play some codecs, including H.265 and AC3. Search across the whole subtitle library is listed as coming soon. Release 0.6.0. The last commit was about 7 years ago. The download is marked alpha. MIT license.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no media player to set up and no subtitle file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Lingo Player is oaprograms’ Windows video player, in the repo lingo-player. It is built on VLC. You open a local movie that already has a subtitle file, and you can load a second subtitle track. Hover a word for a translation. The README still lists Google Translate. The script sends the word to a web API at dioco. Clicking a word saves it in the app, with four familiarity colors. You can open the saved list and a subtitle listing, and you can replay the current subtitle line. It can download a subtitle file from OpenSubtitles. The README says a click also plays the word. They say it works with any language pair. macOS is still on the planned list, along with more dictionaries and lemmatization. There is a portable Windows build. Release v0.2.0-beta. The README was updated about 3 months ago. MIT license.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no script to run and no video file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
RapidVideOCR is SWHL’s Python package, in the repo RapidVideOCR. You install it with pip. The rapid_videocr command reads a folder of RGBImages or TXTImages that VideoSubFinder already saved, and RapidOCR writes an SRT, an ASS, and a TXT. It does not open the video itself. A script in the repo can call VideoSubFinderWXW.exe first if you give it that exe path. The desktop app is a separate repo, RapidVideOCRDesktop. There is a hosted demo on Hugging Face. RapidOCR runs on the device, and its language list includes English, Spanish, Japanese, Korean, and Chinese in simplified and traditional, plus other languages on that list. Release v3.1.1. The last commit was about a year ago. Apache-2.0.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no script to run and no video file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Video Subtitler is KarinBrisker’s Python app, in the repo Video-Subtitler. You give it a local video. FFmpeg pulls out the audio, then Whisper’s base model transcribes it on your machine, on a GPU when CUDA is available and on the CPU otherwise. It writes an SRT and a VTT. If the output language differs, googletrans translates the transcript, and that call goes to Google. The README acknowledgements name Google Cloud Translation. The script uses the googletrans package. FFmpeg then burns the subtitles into a new video file. There is a command line and a Gradio demo, and the README points at a Hugging Face Space. The README says you can leave the input language unset so Whisper detects it. The transcribe call in the code does not pass that language through, and it defaults to English. The README was rewritten about 3 months ago. The Python files last changed about 3 years ago. There is no release. MIT license.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no script to run and no video file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
subtitles-ocr is glowinthedark’s toolchain, in the repo subtitles-ocr. It extracts hardcoded subtitles from a local movie into an SRT on an Apple Silicon Mac. do-all.sh crops the video with ffmpeg (you edit the crop for your file), saves one PNG per second, then runs the included macOCR binary. That OCR call is hardcoded to Chinese. The scripts turn the JSON into an SRT and can normalise and deduplicate it. Optional steps add pinyin plus simplified and traditional Hanzi, translate Chinese to English with DeepL (that call goes to DeepL and needs an API key), and merge those into one SRT. The README marks the scripts work in progress, with TODOs you edit for each video. The last commit was about 3 years ago, and there is no release. Apache-2.0.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no media player to set up and no subtitle file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hover a word for YuzuLingo’s dictionary popup, including conjugated forms for Japanese, Korean, English, and Spanish. Hold a modifier and hover any page text for the same popup. Show that text always, on hover, or while you hold a hotkey.
Immersive is Ben-Kerman’s script for mpv, in the repo immersive. You look up a word in the subtitle track with dictionaries you configure, including a Yomichan JMdict folder. It deinflects with the Migaku tables plus a Japanese deinflector, and it can copy the line. Export builds an Anki card with the definition, sentence audio, and a screenshot. Forvo pronunciation is optional and comes from the web. If the video has no subtitle line, you can set the audio times by hand and look up a word from the clipboard. It runs on Linux, Windows, and macOS. Release 1.4. The last commit was about 2 years ago. GPL-3.0.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no media player to set up and no subtitle file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hover a word for YuzuLingo’s built-in dictionary popup on this device. Hold a modifier and hover any page text for the same popup. Show that text always, on hover, or while you hold a hotkey.
Yomipv is BrenoAqua’s script for mpv, in the repo Yomipv. You open a video that already has Japanese subtitles. A word selector lets you look the word up with Yomitan, including pitch accent and frequency when those are on. One confirm creates the Anki card, with a screenshot or an animated clip and audio. You can replay the current line, pick by mora, and color words from your Anki card states. A second subtitle track defaults to English and shows on hover. AniList can update episode progress. It runs on Windows, Linux, and macOS. You also need FFmpeg, AnkiConnect, and Yomitan Api. Version v1.1.0. GPL-3.0.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no app to download and no video file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Hardcoded Subtitles Remover is Emam546’s Windows app, in the repo Subtitles-remover. You open a local video, mark the subtitle area, and set a color range. It builds a mask and inpaints those frames so the burned-in text is gone from the copy. You can cut a portion of the video and preview the cleaned frames while it runs. The work stays on your machine, with Electron for the window and OpenCV for the removal. The README says it is still in progress. Large videos can fail to display, startup can be slow, and seeking backward can miss a frame. Release v0.0.3. The last commit was about 5 months ago.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no app to set up. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Transformers OCR is Ajatt-Tools’ Linux tool, in the repo transformers_ocr. You bind a shortcut, screenshot a manga speech bubble, and it copies the Japanese text. You can also pass an image file. Hold keeps several bubbles, then one recognize copies them together. A config line can send that text to GoldenDict instead of the clipboard. The models stay on the machine, and you can force CPU. It runs on Xorg and Wayland. The sheet says CJK text in images and video frames. The README is Japanese manga OCR from a screenshot. The README says the project is deprecated and to install lancet instead. The owner archived the repo on 8 March 2026. GPL-3.0.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no media player to set up. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hover a word for YuzuLingo’s own dictionary popup on this device, including conjugated forms for Japanese, Korean, English, and Spanish. Hold a modifier and hover any page text for the same popup. Show that text always, on hover, or while you hold a hotkey.
Memento is ripose-jp’s mpv player for studying Japanese, in the repo Memento. It runs on Windows, macOS, and Linux. You play a video in the app and look up words in the subtitle track with a popup dictionary. The dictionaries use Yomitan’s dictionary files, and search still matches a word when it is conjugated. AnkiConnect can create the card. yt-dlp can stream from many sites, and mpv plugins and config files work in Memento’s own config folder. OCR with manga-ocr is optional and only when you build it. The homepage feature list does not include it. The README says the app has been overhauled since v1.7.2. The sheet groups Memento with Subadub and points at github.com/memento-dev. This page follows the player.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no notebook to run and no video file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
video-to-text-japanese is katkaypettitt’s pair of Jupyter notebooks, in the repo video-to-text-japanese. You give it a local video and it transcribes the Japanese speech with IBM Watson Speech to Text. Light cleanup adds punctuation and removes filler words. One notebook is for videos longer than about 15 minutes, and one is for shorter files. You need an IBM Cloud account, an API key, and ffmpeg. They say Watson includes 500 free minutes a month. The sheet describes a pipeline that reads video frames and extracts spoken and visual Japanese. The README does not describe OCR of the picture. The README is dated April 2021. The last commit was about 3 years ago, and there is no release. MIT license.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. It runs in Firefox as well as Chrome. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey. There is no subtitle file to start from.
Subtitle Overlay is fivestar1103’s Chrome extension. You load an SRT, SMI, VTT, or ASS file onto a web video, or search OpenSubtitles for one. Encoding detection keeps Japanese, Chinese, and Korean files intact, and those languages have font options. You can restyle the text, including a background and a background blur, shift the timing while the video plays, click a line to copy it, and restore the last subtitle for that video on this device. Smart Sync matches timing from the audio on your device. Five applied syncs are free, and a paid Pro removes that trial limit. Search, local files, styling, and manual timing stay free. The sheet describes a text mask over unselectable hardsubs. The listing describes your own subtitle file drawn on the player. Auto Captions, AI Translate, a larger library, A–B repeat, and a dictionary are listed as not available yet. The interface is localized in 9 languages. Version 1.7.6, updated 30 September 2026.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no app to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Subtitle Composer is maxrd2’s desktop editor, in the repo SubtitleComposer. Development has moved to KDE, and the GitHub repo says the mirror might not be current. It runs on Windows and Linux. You edit text subtitle files, including SRT and ASS, and you can edit two tracks side by side. It OCRs image subtitle streams, PGS and VobSub, and it can pull a subtitle track out of a video file. Speech to text uses PocketSphinx on the audio. It previews lines in its own player, on a waveform, and it can sync, spell-check, style, and script the file. The sheet describes Apple Vision and macSubtitleOCR pulling hardcoded text out of the picture. The README does not. GPL-2.0.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no app to set up. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Sentence Grinder is kualta’s project, in the repo mine. It is a Next.js app with Prisma, aimed at sentence mining with spaced repetition. The README says it is in very early stages. Every roadmap item is still open: a CJK minimum version, other languages, an infinite deck, sync across desktop, mobile, and web, a hover dictionary, a pronunciation dictionary, and community features. The sheet describes hover lookups from native video. The README does not. The owner archived the repo on 16 October 2024. There is no release. AGPL-3.0.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no script to run and no video file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
cuddly-journey is Shirajuki’s project, in the repo cuddly-journey. The README marks it WIP. The goal is an SRT from a video with hardcoded subtitles, then a dubbed audio track from that SRT. Standalone scripts do those steps: hard_subs_to_srt.py takes a video, an output SRT, and a helper SRT, using Tesseract. process_tts.py cleans an SRT. tts-edge.py makes TTS chunks, and another script turns those into an audio file. The README says the extract script only supports 1280x720 for now. A web editor, a crop box, LLM sentence correction, Docker, and the how-to are still TODO or TBA. It needs Python 3, Tesseract for your target language, and FFmpeg. The README credits video-subtitle-extractor for the VideoSubFinderCli binary. The last commit was about 2 years ago, and there is no release.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no script to run and no subtitle file to start from. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
python-srt2ass is ewwink’s Python 3 script, in the repo python-srt2ass. You give it an SRT and it writes an ASS. The default style is a black box with yellow text, meant to hide a foreign hardsub when you play that ASS over the movie. It runs on Windows, Linux, Mac, and Android, from the command line or as a Python module. You can pass more than one SRT. The last commit was about 4 years ago, and there is no release.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no app to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hold a modifier and hover any page text for YuzuLingo’s dictionary popup. Show that text always, on hover, or while you hold a hotkey.
Manatan is KolbyML’s app, in the repo Manatan. You download it for Windows, Linux, or macOS, or use the Android app. iOS is in public beta. It opens a local page at 127.0.0.1:4567. You add Mihon, Aniyomi, or Aidoku sources and watch anime or read manga inside the app. Manga OCR turns hovered text into selectable text. Anime uses subtitle parsing and a popup dictionary while the video plays. One click makes an Anki card from an anime sentence, with sentence audio. Word audio is included. Local OCR is on Android, iOS, and desktop. You can also read local manga (folders, CBZ, ZIP, EPUB, JPEG XL), local mkv files, and EPUBs, and sync progress across devices. They say it supports every language. Browser and YouTube mining is still on the roadmap. Latest release: New Light 5.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no server to set up and no video file to upload. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
SubtitleExtractor is Dim145’s self-hosted web app, in the repo SubtitleExtractor. You run it with Docker (Postgres, MinIO, a Go API, and a React site) and upload an mp4 or mkv. A Python worker OCRs the burned-in subtitles with RapidOCR, PP-OCRv5, or PaddleOCR-VL and you download SRT or ASS. The site includes an editor with a video preview, a cue table, and a waveform. You can draw up to two subtitle areas. Extraction can also run in the browser with WebCodecs and onnxruntime-web. The macOS worker runs on the host. The NVIDIA worker image is built, and the README says that path is unverified. A French text normalizer is included. Optional hooks write an SRT sidecar, watch a folder, take a Sonarr or Radarr import, and refresh Plex, Jellyfin, or Bazarr. Release v0.8.0. AGPL-3.0.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no Anki desktop to set up. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Anki-OCR is the add-on maintained by infinity7 and StckOverflow, in the repo Anki-OCR. The repo is not public. The description says it recognizes text from video screenshots and hardsubbed image cards in Anki. The setup list names Anki Desktop, the add-on, Tesseract 5 or the Mac OCR binaries, and ShareX or the Snipping Tool. The rows below follow that description. ShareX and the Snipping Tool are how you take the screenshot. The description does not say the add-on covers a video while it plays, or that it creates the card.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no media player to set up and no separate OCR server. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
mpv-ocr is rootsim’s script for mpv. The repo is not public. The description says it OCRs hardsubbed Japanese and CJK video and sends the text to Yomitan. The setup list names mpv, Tesseract or Manga-OCR, a local Python server, and AnkiConnect. The rows below follow that description. AnkiConnect is in the setup list. The description does not say the script writes the card.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no project to build. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Subtitle OCR Console is kirksaunders’s command-line tool in the repo subtitle-ocr-console. You build it with .NET 6 and Rust. It turns a PGS subtitle file into an SRT with the included English model, and it can pull the pictures out of that file. CUDA is optional. The README has not chosen a license and limits use to clone, build, and run. The last commit was about eleven months ago, and there is no release. It does not cover a web video while it plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no desktop app to download and no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
VideoSubFinder is skosnits’s program on SourceForge. It finds frames with hardcoded text in a local video and saves the timing, then makes images with the background cleared so another program, such as FineReader, Subtitle Edit, or Google Drive, can read the text. It runs on Windows and Linux. The last update on the page is 1 May 2023. It does not cover a web video while it plays, and it does not write the subtitle text itself.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no desktop app to download and no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
VideOCR is timminator’s app in the repo VideOCR, a fork of devmaxxing/videocr-PaddleOCR. You import a local video, draw a crop, and it writes an SRT. The default OCR is PaddleOCR on the device. Google Lens is optional and needs the internet. It runs on Windows and Linux, and the command-line build can run in Docker. They claim 200+ languages. Missing-space cleanup is only for English, Spanish, Portuguese, German, Italian, and French. Release v1.6.0. It does not cover a web video while it plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no Python project to set up and no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Hardsub-Extract-OCR is Furretar’s Windows setup in the repo Hardsub-Extract-OCR. You need Python 3.11 and VideoSubFinder. It cuts the burned-in line out of a local video, and Google Cloud Vision, through Chrome Lens Py, writes an SRT. The README says that file is for MPVacious and subs2srs, and the title says 99 percent accuracy. That is their claim. The README points at RapidVideOCR if you want the OCR on the device. The last commit was about three months ago, and there is no release. It does not cover a web video while it plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no Python project to set up and no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
HardSubExtract is cavalia88’s command-line tool in the repo HardSubExtract. You draw a box on a local video with the Video Frame Scroller, or pass the box as percentages, and PaddleOCR writes an SRT. It can limit the run to a start and stop time, and it shows the box on sample frames before the full run. The README calls this a CPU implementation. It also points at other PaddleOCR language codes. The last update was about two years ago, and there is no release. It does not cover a web video while it plays.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey. It runs in Firefox as well as Chrome, and you install it from the browser store.
AnimeKai Subtitle Extractor is miomit’s Chrome extension in the repo animekai-subtitle-extractor. On an AnimeKai page the popup lists subtitle files the player already loaded, such as a VTT, so you can open them. The manifest version is 0.0.0. The last commit was about ten months ago, and there is no release. It does not cover words burned into the picture, and it does not read them.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. Turn on Interact to read each burned-in line in the zone on your device. A line keeps the language you checked, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey. It runs in Firefox as well as Chrome, and you install it from the browser store.
SubtitleEasy is veraposeidon’s Chrome extension in the repo SubtitleEasy. You download a zip and load it in developer mode. It shows two subtitle languages at once on Apple Developer WWDC sessions and deeplearning.ai. Release v1.2.0. The last release was about three years ago. It does not cover words burned into the picture.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no Python script to set up and no subtitle file to edit. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Subcleaner is KBlixt’s Python script in the repo subcleaner. It finds ad blocks in an SRT with a language profile, deletes them, and re-indexes the file. It can walk a library, and Bazarr can run it after a download. Profiles included for English, Spanish, Portuguese, Dutch, Indonesian, and Swedish. Other languages need a profile you write. There is no release. It does not cover a line on a video, and it does not read one.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no media player to set up and no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hover a word for YuzuLingo’s built-in dictionary popup on this device. Hold a modifier and hover any page text for the same popup. Show that text always, on hover, or while you hold a hotkey.
SubMiner is ksyasuda’s overlay for mpv, in the repo SubMiner. You install mpv, then SubMiner. It puts its own Yomitan over the subtitle track so you can look words up, and one press sends the sentence, an audio clip, and a screenshot to Anki. It can color words by frequency and JLPT level, and it keeps a stats page for watch time on your machine. With yt-dlp it can play a YouTube URL. It can also download subtitles from Jimaku, connect to Jellyfin and AniList, and make Japanese subtitles from the audio with whisper.cpp. Mining needs AnkiConnect. Version 0.20.1. It does not cover words burned into the picture.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no Python project to set up, and no video file to upload or download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
video-subtitle-erasure is mistbit’s Python project in the repo video-subtitle-erasure. It needs Python 3.11 and a checkout of the sibling project subtitle-ocr. You pass a local MP4, or upload one to a workbench on your machine, and it writes a new file with the hardcoded line wiped out and the audio kept. You can draw the area, or let it find the area. It can search better settings on a short clip before the full video. There is no release. It does not cover a web video while it plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, and the zones come back on that website. There is no desktop app to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Subtitle Hider is Bennycopter’s Windows program in the repo subtitle-hider. This is not the browser extension that uses the same name. You download the exe and double-click it. It puts one box on top of any window. The box can blur, or sit on black or white, and a click shows what is underneath. Release v1.0.1. The last update was about two years ago. It does not read the line.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no Docker or Tdarr to set up, and no video file to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Tdarr Subtitle OCR is thewolfman56’s Docker sidecar in the repo tdarr-subtitle-ocr. Tdarr pulls an image subtitle out of a library file, and this service writes an SRT. It can use NVIDIA CUDA, Intel OpenVINO, or Subtitle Edit. You set a bearer token and shared folders. The default image includes English Tesseract data only. More languages mean extra Tesseract data. Version 0.1.0. It does not cover a line on a web video while it plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no media player to set up and no video file to download. Turn on Interact to read each burned-in line in the zone on your device. A line keeps the language you checked, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hover a word for YuzuLingo’s built-in dictionary popup on this device. Hold a modifier and hover any page text for the same popup. Show that text always, on hover, or while you hold a hotkey.
mpv-subtitleminer is friedrich-de’s toolkit in the repo mpv-subtitleminer. You install mpv, drop the release into mpv’s config, and open a video that already has a subtitle file. A local Rust server sends those lines to a page in your browser, where you look words up with Yomitan and send a sentence, a screenshot, and audio to Anki. It can show a second subtitle file, replay a sentence, clean the text with a regex, and hide lines by ASS style or name. Version 0.1.9. The README says this is an early release. It does not cover words burned into the picture.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube and other web players. You can draw more than one zone, and use blur or a solid cover. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hover a word for YuzuLingo’s built-in dictionary popup on this device. Hold a modifier and hover any page text for the same popup. Show that text always, on hover, or while you hold a hotkey. There is no separate OCR server. It runs in Firefox as well as Chrome.
YouTube Sub Blur is kenzofnu’s Chrome extension in the repo Youtube-Sub-Blur. It puts one blur box over hardsubs on YouTube, and the box works with no extra setup. Review mode rewinds a stretch with the subs showing, then again with them covered. Optional OCR and Anki need a local Windows server, Python, AnkiConnect, yt-dlp, and ffmpeg. Japanese OCR uses Google Lens first, with MeikiOCR as the fallback. A card can get a screenshot and sentence audio, and you look the text up with Yomitan. The last commit is about seven months ago, and there is no release.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not download the video. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Video Subtitle Extractor is YaoFANGUK’s app in the repo video-subtitle-extractor, also called VSE. You set up Python 3.12, PaddlePaddle, and a virtual environment, then open a local video in the window or from the command line. You draw the subtitle area, and it writes an SRT or TXT. OCR stays on the device and does not call Baidu or Alibaba. It runs on Windows, Linux, and macOS. They claim 87 languages. The latest release is 2.2.0. You can pair it with their separate video-subtitle-remover. It does not cover the line while a web video plays.
View comparison
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no desktop app to download. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hold a modifier and hover any page text for YuzuLingo’s dictionary popup. Show that text always, on hover, or while you hold a hotkey.
KanjiTomo is a Windows program you download from MediaFire and run with Java. Other operating systems are not supported. You point the mouse at Japanese characters in any image on screen, from a file, a program, or a web page, and it looks them up in a dictionary at the same time. Horizontal and vertical text both work, and it can save those words to a list. The latest release is 1.0.4 from August 2020. The OCR code is sakarika’s library kanjitomo-ocr. It does not cover a subtitle line.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey. It runs in Firefox as well as Chrome.
No CC is a Chrome extension from si4k.online. On YouTube it turns the caption track off and keeps it off, on videos, Shorts, and hover previews. A popup toggle remembers that choice, and the CC button label becomes NO-CC. It does not cover words burned into the picture, and it does not run on other sites.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not download the video, and you do not run a separate OCR server. Turn on Interact to read the burned-in line while it plays, on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Hold a modifier and hover any page text for YuzuLingo’s dictionary popup. Show that text always, on hover, or while you hold a hotkey. It runs in Firefox as well as Chrome.
SoftSubs is jrachele’s Chrome extension in the repo soft-subs. You load it unpacked and run a local PaddlePaddle server on Python 3.9. When you pause, it OCRs the hard subs into selectable text for a screen reader, Yomichan, or the clipboard. The last commit is about three years ago, and there is no release. It does not cover the line.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not download the video. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Subtitle Edit is the desktop subtitle editor in the repo SubtitleEdit/subtitleedit. It runs on Windows, macOS, and Linux. You open a subtitle file and a local video. It can OCR burned-in subs and image-based subs into text, translate, run speech to text and text to speech, and burn subtitles into a video. It also fixes timing, checks Netflix rules, and edits ASS styles. Core editing stays on the device. It does not cover burned-in subtitles on a web player.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not download the video. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them. Show that text always, on hover, or while you hold a hotkey.
Distill is Agions’ desktop app in the repo Distill. You import a local video, draw or auto-find the hardsub area, and export SRT, VTT, or TXT. Offline OCR is Tesseract or ONNX. Cloud mode is Gemini or OpenAI Vision, and a cloud pass can proofread the text. It does not cover burned-in subtitles on a web player.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not prepare an image or a video file. Turn on Interact to read each burned-in line in the zone on your device. A line keeps the language you checked, with readings such as furigana, pinyin, romanization, or IPA when that language has them, and a transcript of those lines in the session. Show that text always, on hover, or while you hold a hotkey.
EasyOCR is JaidedAI’s Python library on GitHub. You install it with pip and point it at a still image: a file, a screenshot, or a URL. It returns the text and where it sits in the picture. They say it supports 80+ languages, and you can pass more than one language in the same image. It does not cover burned-in subtitles on a web player.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not download the video. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them, and a transcript of the lines in that session. Show that text always, on hover, or while you hold a hotkey.
substudy is emk’s command-line tool in the repo subtitles-rs. You need ffmpeg and a local video plus subtitle files. It can build a bilingual SRT, a review page, and Anki cards with a picture and audio. Transcribe and translate send the file to OpenAI and cost money. The latest release on the repo is 0.6.10. It does not cover burned-in subtitles on a web player.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not download the video. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them, and a transcript of the lines in that session. Show that text always, on hover, or while you hold a hotkey.
VidSubX is voun7’s program on GitHub for Windows and Linux. You point it at a local video and it writes an external subtitle file from the burned-in text. It can find the subtitle area, run a batch, and hide the rest of the frame so you only see that area. An Nvidia GPU can speed the extraction. The subtitle file can be translated afterward with a script or SubtitleEdit.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not upload the video, and you do not download it. Turn on Interact to read the burned-in line on your device, with readings such as furigana, pinyin, romanization, or IPA when that language has them, and a transcript of the lines in that session. Show that text always, on hover, or while you hold a hotkey.
Extract-Subtitles-by-OCR is JollyToday’s repo on GitHub. The repo says it is the product write-up for Weydub, the international name for GhostCut, not a tool you run from the code. You upload a video, mark the subtitle area, wait, and download an SRT. They also translate that file. They say the service covers 30+ languages and uses Gemini or GPT to proofread the extracted text.
View comparison
YuzuLingo covers burned-in subtitles on YouTube, Bilibili, and other open web players. You can draw more than one zone, and those zones come back on that site. Turn on Interact to read the burned-in line, with readings such as furigana, pinyin, romanization, or IPA when that language has them, and a transcript of the lines in that session. Show that text always, on hover, or while you hold a hotkey. It runs in Firefox as well as Chrome.
Blur Sensitive Content is kazi331’s Chrome extension in the repo blur-sensitive-content-from-webpage. You hover an element and click to blur it, for hiding sensitive content while you capture or share your screen. A slider sets the blur. Click again to unblur, or clear them all. You load it unpacked, in developer mode. The blurs are not saved, so a reload clears them. It does not draw a zone on a video.
View comparison
YuzuLingo covers burned-in subtitles on YouTube, Bilibili, and other open web players. You can draw more than one zone, and set how strong the blur is. Turn on Interact to read the burned-in line, with readings such as furigana, pinyin, romanization, or IPA when that language has them, and a transcript of the lines in that session. Show that text always, on hover, or while you hold a hotkey. It runs in Firefox as well as Chrome.
Subtitle Masker is a Chrome extension. It puts one blur mask on the subtitles in a video player, and the mask follows the video into fullscreen. A reviewer says the blur level cannot be changed, and that leaving fullscreen can break the mask. It does not read the line.
View comparison
YuzuLingo covers burned-in subtitles on YouTube, Bilibili, and other open web players. You can draw more than one zone, and those zones come back on that site. Turn on Interact to read the burned-in line, with readings such as furigana, pinyin, romanization, or IPA when that language has them, and a transcript of the lines in that session. Show that text always, on hover, or while you hold a hotkey. It runs in Firefox as well as Chrome.
Mask & Blur Pro is a Chrome extension by Hasin Hayder. You select text and replace it with a character, or click an element to blur it, for screenshots and screen sharing. It is in the Chrome Web Store. It does not draw a zone on a video. Reviewers say a mask does not stay after a reload, that there is no way to remove a blur, and that settings are not saved per website.
View comparison
YuzuLingo covers burned-in subtitles on YouTube, Bilibili, and other open web players. You can draw more than one zone, and each zone can blur or sit as a solid cover. Language learners can turn on Interact and look words up on hover, instead of only blurring the line. Show that text on hover, with a hotkey, or leave it on. It runs in Firefox as well as Chrome.
BlurShot is KD-MM2’s Chrome extension on GitHub. You turn on selection mode, hover an element, and click to blur it. It is for hiding sensitive text in demos and screenshots. You load it unpacked, in developer mode. It does not draw a zone on a video, and it does not look words up.
View comparison
YuzuLingo covers burned-in subtitles on YouTube, Bilibili, and other open web players. You can draw more than one zone, and each zone can blur or sit as a solid cover. Language learners can turn on Interact and look words up on hover, instead of only blurring the line. Show that text on hover, with a hotkey, or leave it on. It runs in Firefox as well as Chrome.
Subtitle Hider is KamiGim’s Chrome and Firefox extension on GitHub. It puts one blur overlay on the page, and you drag it over the subtitles. You load it from a folder in developer mode. It does not look words up, and it does not add a solid cover.
View comparison
YuzuLingo covers burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. You do not download the video.
Scrubtitles is Keaneo’s Python script on GitHub. You download a local file, edit the script, and it inpaints the text out of that file. The author says it removes most of the subtitles, with some distortion. The video script writes a new file from frames, so the soundtrack is not in the result.
View comparison
YuzuLingo stays in the browser. Install the extension, cover burned-in subtitles, and look words up with YuzuLingo’s own dictionary popup on the recognized line. Hold a modifier and hover any page text for the same popup. Dictionaries use Yomitan-format zips on this device. There is no desktop app to download.
YomiNinja is a desktop app. It reads text in any window, including games and manga, and looks words up with Yomitan or 10ten.
View comparison