What you get out of SRT to MP4
An SRT file is a plain text list of numbered lines, each with a start time, an end time and the words to show. A video player can lay it over the picture while it plays, but only if the player knows to look for it, and the moment you send the video on its own the subtitles stay behind. Converting SRT to MP4 fixes that by painting each line into the frames it belongs to, so the words travel with the video wherever it goes.
That is what the editor on this page does. The result is a new MP4 with the subtitles burned in, at the same resolution, frame rate and orientation as your source, named after the original with -subtitled added. It is not a soft subtitle track that viewers can switch off. If that is what you need, the four ways to add an SRT to a video compares sidecar files, platform uploads and muxed tracks, and the HandBrake walk-through covers adding a switchable track to an MP4.
Turning an SRT and a video into one MP4
- Open the editor on this page and switch off "Write the subtitles automatically with AI", so it doesn't start transcribing the moment the video loads.
- Choose the video file. MP4, MOV, M4V, WebM and MKV all open; the picture appears with an empty line list.
- Click Import SRT / VTT in the toolbar and pick your .srt file. If the editor already holds lines, for example a draft it restored for this video, it asks before replacing them.
- Read the notice above the editor. It says how many subtitles came in and how many blocks it skipped as unreadable.
- Play the opening, a stretch in the middle and the last minute, and watch whether each line appears as the words are spoken.
- Open Style, pick a preset and adjust size and position until the text sits clear of anything important in the frame.
- Click Render video, look over the "Ready to render" summary, start the render, and click Download video when it finishes.
Steps 5 and 6 are where an SRT to MP4 conversion succeeds or fails. A converter that skips them simply hard-codes whatever mistakes the file already had.
Why the video comes first
The editor is built around the picture. The toolbar with Import SRT / VTT only appears once a video is loaded, and every check it makes, from which line is showing at the playhead to whether one line runs into the next, is measured against that video. So the order is always video, then subtitle file. If you reopen a video you worked on before, the editor restores your saved draft for it; importing the SRT again at that point replaces the draft after you confirm, and Undo brings it back if you change your mind.
Four things to check in the SRT before you render
- Text encoding
- The file is read as UTF-8. An SRT saved in an older regional code page, which is common for files made years ago in Windows tools, shows accented letters and non-Latin scripts as junk symbols. Open it in a text editor, save it again as UTF-8 and re-import. Garbled subtitle characters explains the cause in more detail.
- The same cut
- Subtitles timed for a trailer, a longer edit or a version with an extra intro are right up to the first difference and wrong after it. Make sure the SRT was made for this exact file.
- Playback speed
- SRT stores clock times, not frame numbers, so your MP4's frame rate doesn't matter by itself. Trouble starts when the file was timed for a copy that runs at a slightly different speed, as happens between some 25 fps and 23.976 fps releases of the same film: the gap starts small and grows steadily. "Shift all by" corrects a constant offset only; a growing gap needs retiming, and the guide to shifting subtitle timing helps you tell the two apart.
- Formatting
- Italics, font colours and position codes such as {\an8} are stripped on import. The look comes from the Style panel and applies to every line, so per-line italics or a single line moved to the top won't survive.
What happens to each block on import
The parser is forgiving about the small things SRT files get wrong. It ignores the sequence numbers entirely, so missing, duplicated or out-of-order numbers don't matter, and it sorts the lines by start time. It accepts a dot instead of a comma before the milliseconds, ignores anything after the end time on the timing line, and keeps line breaks inside a subtitle.
A block is skipped, and counted in the notice, when it has no timing line in its first two lines, when a timestamp can't be read (00:75:10,000 fails, for instance, since minutes and seconds above 59 are rejected), or when nothing is left once tags are removed. One fault is not skipped: if two subtitles have no blank line between them, they arrive as a single line whose text contains the second one's number and timestamp. Scan the list for a stray arrow and split or retype that line.
Overlapping lines are imported as they are and marked with a warning so you can decide which one should give way. Checking an SRT file for errors goes through every warning the editor raises.
Limits worth knowing before you start
- The subtitles end up in the picture only. The editor doesn't write a soft subtitle track into the MP4; for that, use FFmpeg or HandBrake, or keep the SRT next to the video.
- The video has to be one of the five formats above. The editor doesn't open AVI; convert it to MP4 first, for example with HandBrake.
- Rendering needs Chrome or Edge 94+, Safari 16.4+ or Firefox 130+ on a computer. On a phone you can still import, fix and export the SRT, then render on a desktop.
- The render is a re-encode at a generous bitrate, so the loss is small but not zero. HDR footage comes out in SDR.
- Big files need free disk space or memory on your device, because the render happens there and there is no server to fall back on.
Three SRT to MP4 jobs
Import it, play the first and last minute to confirm the timing holds, switch to the Classic preset and render. The translated text is used exactly as delivered, so proofread names before you burn them in.
The italic tags disappear on import. If the distinction matters, mark those lines another way, such as the speaker's name or a leading dash, before rendering.
Type -2 into "Shift all by", apply it, spot-check a few lines across the video, then render.
If you don't have an SRT yet
No file to import? The AI subtitle generator writes one from the speech in your video and lets you download it as SRT, and the editor's own AI option does the same inside this page before you render. To get the subtitles in another language, translated subtitles works from the video's audio, because an existing SRT can't be translated here. For writing one by hand, see how to create an SRT file.
About the subtitle editor on this page
- Opens
- MP4, MOV, M4V, WebM, MKV videos your browser can decode
- Subtitles from
- AI (from the speech, optionally translated into one of 21 languages), an SRT or VTT file, or typing them in
- You download
- An MP4 with the subtitles drawn into the picture at the original resolution and frame rate, plus SRT and VTT files
- Cost
- Editing, styling, rendering and SRT/VTT export are free, with no account and no watermark. AI subtitles cost 1 credit per minute (5-credit minimum per video); signing in with Google gives 100 free credits and accounts get 10 free credits a day
- Privacy
- The video never leaves your device and is rendered in your browser. Only for AI subtitles is the audio sent, over HTTPS, and it is deleted within 30 minutes of delivery
- Rendering needs
- Chrome or Edge 94+, Safari 16.4+, or Firefox 130+ on a computer. Editing and SRT/VTT export work in any current browser
More: srt and vtt workflows
- Add an SRT to a Video: Four Ways Compared
- VTT to MP4: Burn WebVTT Captions Into a Video
- SRT Editor Online: Edit Subtitles While the Video Plays
- VTT to SRT: Convert WebVTT Captions and Check the Timing
- Shift Subtitle Timing by a Fixed Amount
- Check an SRT File for Errors
- Create an SRT File From Scratch
- Edit YouTube Auto Captions on Your Own Video
Subtitle tools
- Add Subtitles to a Video
- Burn Subtitles Into a Video
- Video Caption Generator With Styled, Burned-In Captions
- Online Subtitle Editor
- Add Captions to a TikTok Video
- Add Subtitles to Instagram Reels
- Add Subtitles to a YouTube Video
- Add Hindi Subtitles to a Video
- All subtitle tools
- AI subtitle generator (SRT and VTT files)
Frequently asked questions
Can I combine an SRT and an MP4 without re-encoding the video?
Not by burning them together: drawing text into the frames always means encoding the picture again. Adding the SRT as a soft track with FFmpeg copies the video untouched, but many phones and apps ignore that track.
Why are some of my SRT lines missing after the import?
The notice says how many blocks were skipped. A block is dropped when its timing line is missing or malformed, or when it has no text left after tags are removed; fix those lines in a text editor and import again.
Does the SRT need the same file name as the video?
No. You pick the SRT with Import SRT / VTT, so the names don't have to match. Matching names only matter for desktop players that load a sidecar file automatically.
My video already has old subtitles burned in. Can I cover them?
Turn on "Hide subtitles already in the video" to blur a band across the frame, and your new lines are drawn on top. It blurs that strip rather than removing the old text, and anything else inside the band is blurred too.
Will the subtitled MP4 be bigger than my original file?
Often, yes. The bitrate is set generously, normally above the source's own, to keep the re-encode close to the original, so the new file can be larger.