How to add an SRT to an MP4 and burn it in
- Drag your video (MP4, MOV or WebM, up to 30 minutes) and your .srt or .vtt file onto the box above together, or pick both in the file dialog. Transcription is skipped, so the editor opens as soon as the video is read.
- On the Style tab, Classic is already selected: white text with a dark outline, the look most people expect from subtitles. Change the font, size, colors or the Position slider if you like, and watch the preview.
- Open the Export tab, check the Quality menu (Original keeps your source resolution), and press Render video. When it finishes, press Download MP4.
If you drop only the video, the tool transcribes it instead. That's fine too: press Import SRT on the Captions tab to swap in your own file.
What happens to your subtitle file
The tool reads the timing and text from each block and shows every line on the Captions tab, where you can still fix a typo or
change a start time before you render. A few things change on the way in. Formatting tags such as <i> are removed, and a
block written on two lines is joined into one, then wrapped again to fit the width of your video. So a file made for 16:9 still fits a
vertical clip.
Your file has timings for whole lines, not single words. Classic doesn't highlight words, so that doesn't matter there. Karaoke, Boxed and Bold pop do, and for those the tool spreads each line's time across its words by their length, which is close but not exact. For precise word-by-word highlighting, let the tool transcribe the video instead; our guide to karaoke-style captions explains the difference.
Hardcode subtitles or keep them soft?
Soft subtitles are a separate file the viewer can turn on and off. Burned-in (hardcoded) subtitles are drawn into the frames, so they show on every player and every feed, and nobody can switch them off. The trade-offs are covered in open vs closed captions.
Burn them in for TikTok, Reels, Shorts and muted autoplay ads. Keep them soft for YouTube and course platforms, where you can replace the file without re-exporting. Or do both: the Export tab has the SRT as well as the MP4.
Burn in captions without uploading the video
A tool that renders on a server has to receive the whole file before it can add subtitles to an MP4, and for a long 4K video that upload is the slow part. Here the rendering happens on your machine. Your browser decodes the video, draws the subtitles on each frame and encodes the result with WebCodecs, in recent Chrome, Edge, Safari, Firefox, Opera and Brave. You get an MP4, or a WebM in a browser whose encoder can't write MP4. Keep the tab open while it runs. And because you brought your own subtitles, no transcription runs, so the audio isn't sent either.
The catch is speed. Your computer does the encoding, so a 20-minute 4K file on an older laptop takes a while. Pick 720p in the Quality menu if you need it faster.
Free desktop options: HandBrake and FFmpeg
Sometimes a desktop tool is the better choice. For files over 30 minutes, a folder of episodes, or when you need a specific codec and bitrate, use one of these. Both are free and open source.
HandBrake
Open the video, go to the Subtitles tab, click Tracks and add your external SRT. Tick Burn In on that track, then start the encode. HandBrake's subtitle docs note that you can burn only one subtitle track into a file. Its queue is handy for a batch of episodes.
FFmpeg
One line, run from the folder with your files:
ffmpeg -i input.mp4 -vf subtitles=subs.srt -c:a copy output.mp4
The subtitles filter draws the file onto the video,
and -c:a copy keeps the audio as it is. The filter needs an FFmpeg build with libass; if FFmpeg says it can't find the filter, that's the reason. To change the
look, add a force_style option, such as subtitles=subs.srt:force_style='Fontsize=24'. It's the fastest route for
batch jobs, since a short shell loop can process a whole folder, but you style blind: no preview until the file is done.
If you want to see the result as you style it, or fix a few lines first, the browser tool is quicker. If you have no subtitles yet, make them with the SRT generator or go straight to auto captions, which transcribes and styles in one pass.