Extract Hardsub From Video May 2026

Extracting hardsubs is a "Use at your own risk" endeavor that has shifted from "Impossible" to "Tedious."

If you need the subtitles for translation or archival purposes:

The technology is there, but it is not a magic button. It is a powerful tool that still requires a human touch at the end.


If you’re comfortable with command-line tools, you can build your own extractor:

# Step 1: Extract frames every second
ffmpeg -i video.mkv -vf fps=1 frame_%04d.png

We’ve all been there. You have the perfect video file—great quality, perfect resolution—but the subtitles are "hardcoded" (burned in). Maybe they are in a language you don't understand, or worse, they are the only copy of a translation you need, but you can't extract them like a standard .srt file.

For years, hardcoded subtitles were considered "write-only" data. Once they were rendered onto the video pixels, the text data was gone. But thanks to modern computer vision and OCR (Optical Character Recognition), we can now stage a digital heist to steal that text back. extract hardsub from video

Here is a deep dive into how to extract hardcoded subtitles using Python, OpenCV, and the videocr library.

ffmpeg -i input.mp4 -vf "crop=iw:100:0:ih-100" -vsync 0 -frame_pts true sub_frames/frame_%06d.png

Adjust crop values to match subtitle position.

Extracting hardcoded subtitles (hardsubs) requires Optical Character Recognition (OCR) software because these subtitles are part of the video frames and cannot be toggled like softsubs. Recommended Tools for Hardsub Extraction

VideOCR: An open-source tool with a simple graphical interface that uses PaddleOCR to recognize text in over 80 languages. It offers both CPU and GPU versions for faster processing.

VideoSubFinder: A specialized Windows tool that automatically detects and crops video frames where subtitles appear. It is often used in combination with OCR software like ABBYY FineReader to convert those image grabs into a single SRT file. Extracting hardsubs is a "Use at your own

RapidVideOCR: A newer open-source tool designed for speed and accuracy, combining frame extraction with OCR to generate clean .srt or .ass files.

SubExtractor: A web-based AI tool where you can upload a video, select the subtitle area, and let the AI extract and format the text automatically.

FFmpeg (Advanced): For command-line users, FFmpeg includes a -hardsubx filter that can be enabled to extract burned-in text by specifying OCR modes and subtitle colors. Standard Extraction Process

Define Subtitle Region: Most tools allow you to draw a crop box around the specific area where subtitles appear to prevent the OCR from trying to read other on-screen graphics.

Frame Extraction: The software scans the video at a set frame rate (e.g., 3 frames per second) to identify unique subtitle frames. The technology is there, but it is not a magic button

OCR Processing: The tool converts the detected text in those frames into editable text.

Formatting & Review: The text is exported as an SRT or TXT file. You may need to manually correct inaccuracies caused by low contrast or complex backgrounds.

These tutorials demonstrate how to set up and use popular OCR tools like VideOCR and VideoSubFinder to extract hardcoded subtitles:


If the background behind the text changes constantly (e.g., underwater scenes, snow), standard OCR fails. Use motion masking: