← How-to guides

How to extract subtitles from a video.

Two cases: the video has soft subtitle tracks embedded, or the captions are burned into the pixels. Each needs a different tool.

Extracting subtitles from a video falls into two cases. If the video has soft subtitle tracks (common in MKV, sometimes in MP4 with mov_text or CEA-608), you can pull the text track losslessly with ffmpeg or MKVToolNix. If the captions are burned into the video pixels, you need OCR or AI re-transcription — SoCaptions handles the latter by transcribing the audio track from scratch.

Step by step

  1. 01
    Check whether subtitles are soft or burned in
    Run `ffmpeg -i video.mkv` (no output flag). The console will list streams. If you see `Stream #0:2: Subtitle: subrip` or similar, the file has soft subs. If only Video and Audio streams, the captions are either burned in or missing.
  2. 02
    If soft subs: extract with ffmpeg
    `ffmpeg -i video.mkv -map 0:s:0 subtitles.srt`. The 0:s:0 selects the first subtitle stream. Repeat with 0:s:1 for the second language, and so on.
  3. 03
    If burned-in: re-transcribe with SoCaptions
    Drop the video into SoCaptions. Whisper transcribes the audio in 10–60 seconds and produces a fresh SRT. Accuracy is 92–97% on clean audio.
  4. 04
    Optional: OCR the burned-in pixels
    Tools like Subtitle Edit (free) and SubtitleEdit-Pro can OCR captions directly from video frames. Useful when audio quality is poor but the captions are clear visually.
Pros
  • Soft subtitle extraction is lossless and instant
  • AI re-transcription works on any video with audio
  • Multiple language tracks extractable separately from MKV
  • OCR works even when audio is corrupted
Cons
  • OCR accuracy varies with caption typography
  • AI re-transcription depends on audio quality, not video
  • Burned-in captions can't be losslessly recovered
  • Some MP4s strip soft subs during platform upload

FAQ

How do I extract subtitles from an MKV file?+

Use ffmpeg: `ffmpeg -i video.mkv -map 0:s:0 subtitles.srt`. Or use MKVToolNix for a GUI workflow that lists all subtitle tracks.

Can I extract subtitles from an MP4?+

Sometimes. MP4 supports soft subs via mov_text and CEA-608/708. Run `ffmpeg -i video.mp4` to check stream listing. If no subtitle stream appears, the captions are either burned in or absent.

How do I extract burned-in captions?+

Either re-transcribe with AI (audio-based, what SoCaptions does) or OCR the video frames (Subtitle Edit). AI re-transcription is faster and more accurate when the audio is clean.

Why don't TikTok / Reels / Shorts videos have extractable subtitles?+

These platforms burn in their own captions or render them in the player UI. Downloaded MP4s typically have no soft subtitle track — re-transcribe to recover the text.

More guides
Try SoCaptions free.
5 minutes free, no card required.
Open editor