How to Add Subtitles to MP4: 3 Methods That Work

How to Add Subtitles to MP4: 3 Methods That Work
Adding subtitles to an MP4 sounds simple until you realize there's a step most guides skip: you need a subtitle file before you can attach anything to your video. Most tutorials assume you already have a .srt file sitting on your desktop. If you don't, you'll hit a wall halfway through the process. This guide covers 3 methods to add subtitles to an MP4, plus the fastest way to get your subtitle file if you're starting from scratch.
To add subtitles to an MP4, upload your video to a free online tool like Kapwing or Clideo, attach your .srt subtitle file, and download the finished video. If you don't have an SRT file yet, transcribe your MP4 audio and export it as SRT using a tool like PixScript. The whole process takes under 5 minutes.
How to Add Subtitles to an MP4 Online (Fastest Method)
The quickest path for most people: upload to a free web tool, add your SRT file, export. No software to install, no account needed for basic use.
Step by step with Kapwing or Clideo:
- Go to Kapwing (kapwing.com/subtitles) or Clideo (clideo.com/add-subtitles-to-mp4)
- Upload your MP4 file (free plans generally accept files up to 500 MB)
- Upload your .srt file or type subtitle text manually in the editor
- Preview playback to check timing, then drag individual subtitle lines to fix any sync issues
- Export and download your MP4 with subtitles baked in
The timing step is where most people spend the most time. If your subtitles run 2 seconds ahead of the dialogue, select all lines and shift them back together using the timeline offset — most online editors have this as a bulk action.
A note on watermarks: Kapwing's free tier removes the watermark when you sign in with a Google account. Clideo's free tier keeps the watermark on exports regardless. For clips under 10 minutes with no watermark and no account needed, ezgif.com is a reliable option.
Adding subtitles to MP4 files involves two distinct approaches. Hard-burned subtitles (also called "open captions") get rendered directly into the video frames during export. They appear on every device and every player, with no way to turn them off. This format suits social media uploads: Facebook, Instagram, and TikTok all display videos without sound by default, and hard-burned subtitles guarantee the text shows regardless of viewer settings. Soft subtitles (sometimes called "closed captions" or "sidecar" files) travel alongside the video as a separate .srt or .vtt file. The player handles the rendering, letting viewers toggle them on or off. YouTube and Vimeo both support sidecar subtitle files uploaded separately, which means you don't need to burn anything into the video itself for those platforms. For local MP4 files shared as downloads, hard-burning is the safer choice since the recipient's player may not pick up a separate subtitle file automatically.
How to Add Subtitles to an MP4 with VLC
VLC is free, works on Mac and Windows, and can burn subtitle files directly into a new MP4 export. The output is functional for most use cases, though you don't get font controls or positioning options.
Step 1: Open VLC and go to Media > Convert/Save (Ctrl+R on Windows, Cmd+R on Mac).
Step 2: Click Add and select your MP4 file. Check "Show More Options," then in the Edit Options box add: :sub-file=/full/path/to/your/subtitles.srt
Step 3: Click Convert/Save. Pick Video H.264 + MP3 (MP4) as the profile, choose a destination filename, and click Start.
VLC re-encodes the video during this process, so expect it to take a minute or two for longer files. If the export finishes but subtitles don't appear in the output, check that your SRT file path has no spaces (or wrap it in quotes in the options field). VLC is sensitive to path formatting.
For basic social clips where you just need subtitles to show, VLC works fine. If you want to control font size, color, or vertical position, use an online tool or HandBrake instead.
How to Add Subtitles to an MP4 with HandBrake
HandBrake is a free open-source encoder with better subtitle handling than VLC. It's the better choice when you're re-encoding a file anyway or need millisecond-level timing control.
- Download HandBrake from handbrake.fr (free, no ads, Windows/Mac/Linux)
- Open your MP4 file in HandBrake
- Click the Subtitles tab in the right panel
- Click Add External Subtitles and select your .srt file
- Check "Burned In" to hard-bake the subtitles into the video frames
- Set your encoder to H.264, quality RF 22 (a solid starting point for social exports)
- Click Start Encode
HandBrake gives you an offset field (in milliseconds) to fix sync problems before encoding. You can also leave "Burned In" unchecked to keep the subtitles as a soft track, though not all players surface soft tracks on MP4 containers reliably. If you're exporting for YouTube, skip the burn and upload the SRT file separately in YouTube Studio instead.
How to Get Your SRT File Before You Start
All three methods above need a subtitle file. If you don't have one, here are your options.
Option 1: Transcribe your MP4 with PixScript
Upload your MP4 to PixScript's dashboard and it'll transcribe the audio with timestamps. From there, export the transcript as an SRT file. The SRT comes pre-formatted with the correct timecodes, ready to feed straight into Kapwing, VLC, or HandBrake without editing. PixScript's free tier covers videos up to 5 minutes long; the Pro plan ($9/month) handles clips up to 30 minutes. See the full walkthrough in how to create an SRT file from video.
Option 2: Download existing captions from YouTube
If your video is already on YouTube, you can download the auto-generated captions as an SRT. Open YouTube Studio, go to Subtitles, and download the SRT from the three-dot menu next to the auto-captions. Accuracy runs 85-95% for clear English audio, though brand names and technical terms often need a correction pass before you burn them in.
Option 3: Write the SRT file manually
For short videos under 5 minutes, writing by hand takes 20-40 minutes and gives you precise control. Open any text editor and follow the SRT format: sequence number on the first line, timecode (HH:MM:SS,mmm --> HH:MM:SS,mmm) on the second line, subtitle text on the third line, then a blank line before the next entry. The SRT vs. VTT subtitle format guide explains the structure if you haven't worked with subtitle files before. Save the file with a .srt extension and UTF-8 encoding.
When to Hard-Burn vs. Use a Sidecar File
Whether you burn subtitles into the MP4 or keep them as a separate file depends on where the video is going.
Hard-burn the subtitles when:
- Uploading to Facebook, Instagram, TikTok, or LinkedIn (autoplay is muted, subtitles must always show)
- Sharing the MP4 as a file download, since you can't guarantee the viewer's player will find a separate .srt
- Creating training videos or course content where subtitles must display for every viewer
Use a sidecar SRT file when:
- Uploading to YouTube or Vimeo (both support uploading a separate caption file, and soft captions are indexed for search)
- Publishing to a platform with native subtitle support and multi-language options
- You want viewers to choose their subtitle language, since you can upload multiple SRT files in different languages for the same video
The free video transcription article covers more on SRT workflows if you're building a full captioning pipeline across multiple videos.
Frequently Asked Questions
Can I add subtitles to an MP4 without downloading any software?
Yes. Free online tools like Kapwing, Clideo, and ezgif let you upload your MP4, attach an SRT file, and download the result in your browser with no installation required. Kapwing removes its watermark when you sign in with a Google account. ezgif handles clips under 10 minutes for free with no account and no watermark. For longer videos with full subtitle editing controls, Kapwing's free signed-in tier is the most capable option.
Do I need an SRT file, or can I type subtitles directly into the tool?
Both options exist. Most online tools let you type subtitles manually and set timing by dragging in the editor. An SRT file is faster for longer videos since the timestamps are already built in. You can generate an SRT automatically by uploading your MP4 to PixScript, getting a timestamped transcript, and exporting it as .srt in one click.
Does burning subtitles into an MP4 reduce video quality?
Slightly, because both VLC and HandBrake re-encode the video when burning subtitles in. The quality loss is usually unnoticeable at standard settings. In HandBrake, set the constant quality slider to RF 20 or lower to minimize it. Online tools also re-encode but generally output at a quality suitable for social uploads. If preserving original video quality matters, upload the MP4 untouched and attach a sidecar SRT file instead.
How do I add subtitles to an MP4 for YouTube?
For YouTube, upload your MP4 normally, then open YouTube Studio, click the video, go to Subtitles, and upload your .srt file as a separate caption track. YouTube renders the captions as a soft track viewers can toggle on or off. This also makes the video's dialogue searchable by the transcript text. If you need the SRT file first, transcribe your video with PixScript and export it.
If you've got your MP4 and just need the subtitle file, upload it to PixScript at pixscript.com. It'll transcribe the audio, add timestamps, and let you export as SRT or VTT in under a minute. Once you have the SRT, drop it into any of the tools above.