Burn-in is the right call when:
- You're uploading to TikTok, Instagram Reels, YouTube Shorts, or LinkedIn video. Most short-form social platforms strip subtitle streams during their re-encode pass. If the subtitles aren't burned in, they vanish.
- The subtitles are styled with custom fonts, colors, or positioning that the player can't render. Burn-in renders the styling permanently.
- You're sending the video to someone who needs a single-file solution with zero configuration.
- You're publishing on platforms that auto-play muted by default and you need the subtitles to appear without the viewer doing anything.
The cost: no language switching, no toggle off, larger files in some codecs because text edges create high-frequency detail that compression handles less efficiently.
Soft subs are the right call when:
- You're uploading to YouTube long-form, Vimeo, or any platform with a subtitle UI. YouTube reads soft subs and displays them through its own caption system, which lets viewers customize size, color, and language.
- You need multiple languages. A single MP4 can carry English, Spanish, French, and Japanese subtitle tracks at the same time. Burn-in forces one rendered version.
- Accessibility compliance matters. Soft subs satisfy WCAG and most regional accessibility standards because viewers can customize the display.
- The video might be re-edited later. Soft subs are still text. You can extract the SRT, edit timing, and re-mux. Burn-in is permanent.
| Container | Soft sub codec | Notes |
|---|
| MP4, MOV, M4V | mov_text | Apple-style timed text. Works on Apple devices, web players, most TV apps. |
| MKV | SRT, ASS, SSA | MKV is the most flexible container. ASS supports karaoke and styling. |
| WebM | WebVTT | The web's native subtitle format. Works in HTML5 video. |
| AVI, FLV, WMV | Limited | Better to burn in for these legacy containers. |
If you're outputting to a container not in this table, burn-in is usually safer.
- Have your video and a
.srt file with matching timing.
- Open our MP4 converter and upload the video.
- Click Advanced Options.
- Under Subtitles, attach the SRT file and select Soft (mux as separate stream).
- Convert. The output MP4 contains a
mov_text subtitle track.
- In QuickTime, VLC, or any modern player, the subtitle toggle now works.
For burn-in, leave the default (hard) and convert. The text renders into every frame using the SRT's timing.
Mistake 1: Burning subs into a 4K video for YouTube. YouTube re-encodes anyway, and its caption system is better than your burned-in text. Use soft subs and let YouTube handle them.
Mistake 2: Soft subs for Instagram Reels. Instagram strips subtitle streams. Always burn for short-form social.
Mistake 3: Trusting auto-generated captions. YouTube and TikTok auto-captions are good but not great. Especially for technical content, names, and accented English. Generate captions, then upload an edited SRT instead of trusting the auto version.
Mistake 4: Wrong character encoding. SRT files saved as Windows-1252 instead of UTF-8 break on every non-ASCII character. Save as UTF-8 always.
Technically yes, but it confuses every player. Pick one approach per output file.
SRT is plain text with timestamps. ASS supports styling (font, color, position, animation). For burn-in with custom styling, ASS is the only path. For soft subs, both work, but only MKV preserves ASS styling reliably.
No to soft subs, no to burned-in unless they're large enough to read on a phone. Stick with high-contrast burn-in at 36-48px font size for WhatsApp.
Soft subs can be extracted with ffmpeg -i input.mp4 -map 0:s:0 output.srt. Burned-in subs require OCR, which is error-prone. Our SRT extraction tool handles soft sub extraction in one click.
Use soft subs whenever the platform supports them — better accessibility, smaller files, easier to update. Burn in only when targeting platforms that strip subtitle streams or when you need styling the player won't render. Our video converter handles both with one click in Advanced Options.