Remove Embedded Subtitles From Video

Upload a video and remux it locally to drop every embedded subtitle track while keeping the original audio and video quality.

Try:
Subtitle-free video

Remove embedded subtitle tracks without re-encoding

Many videos ship with one or more soft subtitle streams baked into the container — closed captions, forced foreign-language subtitles, SDH tracks, or leftover tracks from a download. This tool remuxes the file locally and drops every embedded subtitle/caption stream while copying the video and audio through untouched, so there is no quality loss and no waiting on a re-encode.

Everything runs in your browser with ffmpeg (WebAssembly). The video never leaves your device — nothing is uploaded.

Worked example

Upload a movie.mkv that carries an English SDH subtitle track and two forced foreign subtitle tracks. Leave Output container on keep and run it. The tool executes the equivalent of:

ffmpeg -i movie.mkv -map 0 -map -0:s -sn -c copy movie-no-subs.mkv

The result is a .mkv with the same video and audio bitstreams and zero subtitle streams. Switch Output container to mp4 to get movie-no-subs.mp4 instead (as long as the remaining streams are MP4-compatible), or mkv to force Matroska.

How it works

-map 0 selects every stream in the input, then -map -0:s negatively unmaps the subtitle streams, and -sn disables subtitle recording as a safeguard. -c copy stream-copies the survivors, so attachments (embedded fonts) and data streams are preserved — only subtitles are removed, bit-for-bit lossless for what remains.

Does this remove hardcoded (burned-in) subtitles?

No. Hardcoded subtitles are painted directly onto the video pixels, so they are part of the image and cannot be removed by remuxing. This tool only removes soft subtitle streams — separate tracks stored alongside the video in the container. Removing burned-in text requires frame-by-frame inpainting, which is out of scope here.

Will the video or audio quality change?

No. The tool uses -c copy, which copies the video and audio streams byte-for-byte without decoding or re-encoding. Only the subtitle streams are dropped, so the picture and sound are identical to the source.

Which formats are supported?

Any container ffmpeg can read and remux — MP4, MKV, MOV, WebM, AVI, and more. Keep the input container with keep, or force mp4 / mkv. Note that MP4 only accepts MP4-compatible codecs, so if your source uses a codec MP4 can't hold, choose keep or mkv instead.

Is my video uploaded anywhere?

No. Processing happens entirely in your browser via ffmpeg compiled to WebAssembly. The file is read locally and the subtitle-free copy is produced on your device — nothing is sent to a server.

Limits

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool video-remove-embedded-subs 'url=https://example.com/input' 'container=keep'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/video-remove-embedded-subs/?url=https://example.com/input&container=keep

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.