Add subtitles to a video without re-encoding
You have a film or a recording and a separate subtitle file — an .srt from a translator, a WebVTT file from a course platform, or a styled .ass file. This free tool will add the subtitles to the video as proper subtitle tracks, the kind viewers switch on and off from their player’s menu. Nothing is burned into the picture and the video is not re-encoded, so quality stays identical and the job takes seconds rather than minutes.
Add several languages at once, give each track a language code and title, and mark one as default or forced. Choose MKV for the widest player support or MP4 when you need an MP4. Everything runs in your browser — the video is never uploaded.
How to use the Add Subtitles to Video
- Drop your video (MP4, MOV, MKV or WebM) on the first box.
- Drop one or more subtitle files on the second box. The language is guessed from names like
movie.hi.srt. - Check each track’s language and title, and tick “Default” for the one that should appear automatically.
- Play the preview to check the timing; use “Shift added subtitles” if they are early or late.
- Pick MKV or MP4 and press “Add subtitles”. When the check passes, download the new video.
Add Subtitles to Video features
Lossless and fast
Video and audio packets are copied byte for byte with Mediabunny (MPL-2.0). A two-hour film finishes as fast as your disk can read it.
Real, switchable tracks
Each file becomes its own subtitle track with an ISO 639-2 language code, a title and default and forced flags.
Formats players understand
MKV gets standard SRT (S_TEXT/UTF8) and ASS (S_TEXT/ASS) tracks; MP4 gets mov_text, written the same way FFmpeg writes it.
ASS styles preserved
In MKV an ASS file keeps its script header and styles, so signs, colours and positions show in VLC, MPV and other libass players.
Existing tracks kept
Text subtitle tracks already in the video are read and carried over automatically, so adding a language never loses another.
Checked after writing
The new file is read back and its subtitle tracks and cue counts are listed before you download.
Soft subtitles or hard subtitles?
Soft subtitles (what this tool makes) are separate text tracks inside the file. Viewers can turn them off, pick a language and change the font size in their player, and you can extract or fix them later. Hard subtitles are drawn into every frame; they always show, work on every device and website, but need a full re-encode. For Instagram, WhatsApp or a TV that ignores subtitle tracks, use Burn Subtitles instead.
MKV or MP4 — which plays subtitles where?
| MKV | MP4 | |
|---|---|---|
| Subtitle format written | SRT text and ASS | mov_text (3GPP timed text) |
| VLC, MPV, MPC-HC, PotPlayer, Kodi, Plex, Jellyfin | Yes, with a track menu | Yes |
| QuickTime, iPhone and iPad | MKV doesn’t play there | Yes |
| Styling | ASS styles kept | Italic, bold, underline only |
| Default / forced flags | Both | Default only |
| Web browsers | Embedded subtitles not shown | Embedded subtitles not shown |
Subtitles on a website
Chrome, Edge, Firefox and Safari play the video but ignore subtitle tracks stored inside MP4 or MKV files. For an HTML5 player keep the subtitles as a separate WebVTT file and add <track kind="subtitles" src="captions.vtt" srclang="en" label="English" default> inside the <video> element — this page’s preview works exactly that way. Convert an SRT with SRT to VTT.
Add Subtitles to Video FAQ
How do I add an SRT file to an MP4?
Drop the MP4 and the SRT here, choose MP4 as the output and press “Add subtitles”. The SRT becomes a mov_text subtitle track that QuickTime, iPhone, VLC and most players can switch on. For players that prefer MKV, choose MKV.
Will adding subtitles reduce video quality?
No. The video and audio are copied without re-encoding, so every frame is bit-for-bit identical to the original. Only the container is rewritten.
Why don’t I see the subtitles when I play the file in my browser?
Browsers don’t display subtitle tracks embedded in video files. Open the file in VLC, MPV, QuickTime (MP4), Plex or your TV’s player and choose the subtitle track. On websites use a separate .vtt file.
Can I add subtitles in several languages?
Yes. Drop several files at once; each becomes its own track with its own language, title and flags. Tracks already in the video are kept too.
What does “forced” mean?
Forced subtitles are meant to show even when subtitles are switched off — usually translations of signs or of a few lines in another language. MKV stores the flag; MP4 has no standard equivalent.
My subtitles are out of sync. Can I fix that?
Use “Shift added subtitles” to move every cue earlier (negative) or later (positive) in tenths of a second, then check it in the preview before adding.