Video Tools

Video Subtitle Extractor

Inspect a video file for subtitle tracks and get a straight answer about what a browser can and cannot extract.

Free · no account Runs in your browser Video

Convert with this tool

Drag & Drop File Here

or choose a file from your device — it is processed in this tab and never uploaded

Accepted: MP4, MOV, MKV, WebM containers

    Ready.

    Files stay on your device. There is no upload, no queue and no watermark, so a conversion works even with the network switched off after the page has loaded.

    Supported formats & processing

    Accepted inputMP4, MOV, MKV, WebM containers
    Produced outputA detection report — no subtitle file is produced, by design
    ProcessingWeb Audio API + canvas + native JavaScript encoders
    Upload requiredNo — the file is read locally and never transmitted

    How to use this tool

    1. Add the video fileUp to four megabytes of the header are scanned.
    2. Read the detection reportCandidate subtitle markers found in the header region are listed.
    3. Check the container and codec rowsThey tell you whether the file even has room for subtitle streams.
    4. Use the desktop command if you need the subtitlesThe exact FFmpeg command is printed on this page.
    5. Or transcribe the audio insteadExtract the audio to MP3 and run it through a transcription service.

    About this tool

    This page exists because the honest answer is more useful than a button that pretends. Browsers expose subtitle tracks to JavaScript only through the video element's textTracks collection, and only for tracks that are actively loaded — and they never expose the raw tx3g, S_TEXT/UTF8 or ASS payloads that a real extractor needs.

    So instead of generating an empty .srt file, this tool reads the container header, looks for the byte signatures of known subtitle formats, and reports what it found along with the exact command you can run on your own machine to get the subtitles out properly.

    Features

    • Reads the container header for known subtitle byte signatures
    • Reports container and codec so you know what is possible
    • No fake output — the limitation is stated plainly
    • Includes the exact desktop FFmpeg command for real extraction
    • Suggests the audio transcription route as a practical alternative
    • Runs locally, so nothing is uploaded

    Browser limits on this page

    Subtitle extraction from a video container

    Subtitle tracks live in the container, but browsers do not expose their payloads to JavaScript, and there is no API to demux tx3g, S_TEXT or ASS streams. The tool therefore reports the subtitle markers it can see rather than writing a fake .srt file.

    Desktop FFmpeg does this properly: ffmpeg -i input.mkv -map 0:s:0 output.srt

    Frequently asked questions

    Why can the browser not extract subtitles?

    Subtitle tracks live inside the container as separate streams, and the browser's media stack does not expose them to JavaScript. The textTracks API only lists tracks that are already being played and never gives access to the raw bytes. Demuxing the container is required, which means a full parser.

    What is the desktop command?

    ffmpeg -i input.mkv -map 0:s:0 output.srt extracts the first subtitle stream as SubRip text. Add -c:s srt to force conversion if the source is ASS or SSA.

    Can I get subtitles another way?

    Yes. Extract the audio with the video to MP3 tool and run it through a speech-to-text service, or use the original subtitle file if you have it — it is almost always better than anything reconstructed from the video.

    What do the detected markers mean?

    They are byte-string matches for known subtitle identifiers such as tx3g, S_TEXT/UTF8 or ASS. A match is evidence that a subtitle stream may exist, not proof that it is usable.