MP4 is the box, the codec is what's inside
An .mp4 file is a container: a wrapper holding a video stream, usually an audio stream, and sometimes extras such as chapter markers or a switchable subtitle track. The picture inside is compressed with a codec, and two MP4s that look identical in a folder can hold quite different things. A clip exported "for compatibility" from an editing app is usually H.264 with AAC sound. A recent Android phone recording may be HEVC, also called H.265. Some screen recorders, streaming downloads and newer cameras use AV1, and a few tools put VP9 in an MP4. What a video codec is explains how these differ.
This matters here because the editor doesn't ask your operating system to play the file when it renders. It reads the MP4 inside the page and passes each compressed frame to your browser's built-in decoder. If the browser has a decoder for that codec, the file renders. If it doesn't, renaming or re-downloading the file won't change anything.
Which MP4 files the editor can render
- H.264 (AVC)
- Decoded by every browser that can render, so this is the safe case and by far the most common one.
- HEVC (H.265)
- Depends on the browser and the machine. Safari on a Mac decodes it as a rule; Chrome and Edge do when the operating system and graphics hardware provide HEVC decoding; Firefox's support is narrower.
- AV1
- Decoded by current Chrome, Edge and Firefox. Safari handles it only on Apple hardware that has an AV1 decoder.
- VP9 in an MP4
- Unusual, but Chrome, Edge and Firefox decode it.
- M4V
- Apple's variant of MP4 opens the same way, as long as it isn't a copy-protected purchase from Apple's store, which no browser can decode.
The check happens the moment you choose a file. When the browser has no decoder for the picture, the bar above the preview reads "Can't render this file", a message names the codec (for example "This browser can't decode HEVC video. Try converting it to MP4 (H.264) first."), and Render video stays unavailable.
Adding subtitles to an MP4, step by step
- Open the editor on this page and click Choose video, or drop the .mp4 onto the box.
- Before the file loads, decide on "Write the subtitles automatically with AI": on for a transcribed draft, off if you'll import an SRT or VTT or type the lines yourself.
- Watch the bar above the preview. Once "Reading video…" changes to the resolution and frame rate, the MP4 has been read and can be rendered.
- Correct the wording in the line list and the timing on the timeline, checking each change on the preview.
- Pick a preset in Style, then adjust the size and position for this particular frame.
- Click Render video. The "Ready to render" summary lists the output codec, the estimated file size and what will happen to the sound; start the render from there.
- Keep the tab open until it finishes, then click Download video.
What the new MP4 contains
The download is a separate MP4 named after your file with -subtitled added, at the same resolution, frame rate and orientation as the original. Rotation is applied rather than copied as a flag: a phone clip stored sideways with a "rotate" instruction comes out upright, so no player can misread it.
Because the subtitles become part of every frame, the picture is encoded again. H.264 is used whenever your browser can encode it at the video's size, which is the normal outcome for everyday HD clips. For frame sizes the H.264 encoder can't handle, the editor switches to HEVC, VP9 or AV1 and says so in the summary, since some older players won't open those.
The bitrate is usually set above the source's own, within a floor and a ceiling for the resolution, so generation loss stays small. The flip side is size: a tightly compressed phone MP4 can come out noticeably larger than it went in. If the file size matters more than the last bit of detail, compress the finished file afterwards in HandBrake or a similar tool. Burning without losing quality goes deeper into that trade-off. HDR clips are rendered in standard dynamic range, and the summary warns you before you start.
The sound is copied, not re-encoded
MP4 can hold nearly every common audio format, so with an MP4 source the sound track is almost always passed through untouched: the same AAC, MP3 or AC-3 data that was in your file. The summary shows this as, for example, "AAC — copied without re-encoding", and the finished screen confirms the original audio was kept. Only sound in a form MP4 can't store gets converted, to AAC at 192 kbps, or to Opus where the browser has no AAC encoder. If the browser can neither copy nor convert it, rendering is blocked with an explanation instead of quietly producing a silent video. An MP4 with no sound at all renders without any.
Soft subtitle tracks already in the MP4
Some MP4s carry a subtitle track of their own, the kind a player lets you switch on from a menu. The editor doesn't read these tracks, and they aren't carried into the download, which contains video, sound and the subtitles you burned in. To reuse that text, extract it first. With FFmpeg, ffmpeg -i film.mp4 -map 0:s:0 film.srt writes the first subtitle track to an SRT file; then choose the video in the editor and use Import SRT / VTT.
If FFmpeg lists no subtitle stream, the words you can see were probably drawn into the picture already. "Hide subtitles already in the video" can blur that strip before you add new lines, though it blurs rather than erases. And if what you actually want is the reverse, a switchable track added to an MP4 without re-encoding, that's a job for FFmpeg or HandBrake rather than this editor; embedding subtitles in a video compares the routes.
When an MP4 won't play along
- "Can't render this file" on an HEVC clip: try Safari on a Mac, or Chrome or Edge on a computer with HEVC hardware decoding. Press Export SRT before you switch, because drafts are saved per browser and won't follow you. Converting the clip to H.264 in HandBrake also works; HEVC compatibility explains why support varies so much.
- The summary says the video will use a codec other than H.264: the render still works. If the file must play on old hardware, scale it down to 1080p in another tool before subtitling.
- The file ends in .mp4 but won't load at all: some downloads are mislabelled or damaged. When a video file isn't supported shows how to find out what a file really contains.
- The render stops for lack of space: long or 4K renders stream to the browser's storage on your disk. Free some room or split the video; subtitling 4K video covers big frames in more detail.
Three MP4s, three outcomes
Renders in any supported browser. AI subtitles cost 5 credits (0.5¢) because of the five-credit minimum, and the AAC sound is copied exactly as it was.
If the editor reports that it can't decode HEVC, export the lines you've made, open the same file in Safari or in Chrome on a machine with HEVC decoding, and import them there.
The track isn't read, so extract it with FFmpeg, import the SRT, tidy the line breaks and render. Had you used AI instead, 25 minutes would have cost 25 credits (2.5¢).
If the MP4 only needs to become a document rather than a subtitled video, MP4 to text gives you the transcript, and the AI subtitle generator returns an SRT or VTT without rendering anything. Already holding a subtitle file for the clip? SRT to MP4 covers that import in detail.
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: video formats
Subtitle tools
- Add Subtitles to a Video
- Burn Subtitles Into a Video
- Video Caption Generator With Styled, Burned-In Captions
- Online Subtitle Editor
- SRT to MP4: Put Your Subtitle File Into the Video
- VTT to MP4: Burn WebVTT Captions Into a Video
- 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
Why does the editor say it can't decode my MP4?
The picture inside uses a codec your browser has no decoder for, most often HEVC. Open it in Safari on a Mac or in Chrome or Edge on a computer with HEVC hardware decoding, or convert it to H.264 first.
Will the subtitled MP4 keep the original sound?
Yes. When MP4 can hold the source audio, which for an MP4 source is nearly always, the track is copied without being re-encoded. The render summary tells you before you start.
Is the downloaded file still H.264?
Whenever your browser can encode H.264 at the video's size. Otherwise it uses HEVC, VP9 or AV1, and the summary names the codec so you can check it suits your player.
Does the editor use the subtitle track inside my MP4?
No. Embedded tracks are neither read nor copied to the download. Extract the track to an SRT with FFmpeg and bring it in with Import SRT / VTT.
Can I open M4V files as well?
Yes, M4V opens like any MP4. The exception is copy-protected video bought from Apple's store, which browsers can't decode.