Video tool
Burn Subtitles Into Video
Drop a video and an SRT/VTT file. We render the captions directly onto every frame so they show up everywhere, even where soft subtitles get stripped.
1. Video file
2. Subtitle file
How it works
- 1
Drop your video
MP4, MOV, WebM, MKV, AVI, or M4V. The file stays on your device.
- 2
Drop your subtitle file
.srt, .vtt, .ass, or .ssa. Each line gets rendered at its own timestamp.
- 3
Pick the look
Subtitle size (Small / Medium / Large) and an optional resolution downscale. Burn-in always re-encodes, so a downscale is essentially free.
- 4
Burn in your browser
We use FFmpeg.wasm with libass to render every caption directly into the video frames. Output is MP4 (H.264 + AAC, faststart enabled).
- 5
Download the subtitled video
Captions are now part of the picture — they show up on every player, every platform, even where soft subtitles get stripped.
Why use Burn subtitles into video?
Private — your video and your subtitle file never leave your browser. Useful when the captions contain personal names, internal context, or pre-release content.
Universal playback — soft subtitles (.srt alongside the video) get stripped or ignored on Twitter, Instagram, TikTok, and many web players. Burned-in captions show up everywhere because they're part of the picture.
No watermarks, no upload size limit beyond your browser's memory, no sign-up.
Common use cases
- Burn translated captions into a marketing clip before posting to Instagram or TikTok
- Hard-code English subtitles into a foreign-language interview before sharing internally
- Add accessibility captions to a tutorial video that'll auto-play muted on social
- Embed song lyrics into a music video clip
- Bake a transcript into a recorded talk so it can be re-shared without losing the captions
- Add open captions to an accessibility-required deliverable for a client
About MP4 and MP4
There are two kinds of subtitles. **Soft subtitles** sit alongside the video as a separate text file (or stream) and the player composites them at playback time — flexible, but they get lost the moment the video crosses a player that doesn't read them. **Hard subtitles** (also called burned-in or open captions) are rendered directly into the picture during encoding, so they're indistinguishable from the rest of the video. NoCloud Media uses FFmpeg's libass renderer via the `subtitles=` filter, which supports SRT, WebVTT, ASS, and SSA. Output is always MP4 (H.264 + AAC) with `+faststart`. Resolution downscaling can happen in the same pass without extra cost since burn-in already re-encodes the picture.
Frequently asked questions
- Are my files uploaded to a server?
- No. NoCloud Media burns subtitles into your video entirely in your browser using WebAssembly. Both the video file and the subtitle file stay on your device.
- Which subtitle formats do you accept?
- SRT (the most common), WebVTT (.vtt), and the styled ASS / SSA formats. The SubRip (SRT) format is what most subtitle apps export by default.
- Why don't soft subtitles work everywhere?
- Many social platforms, browsers, and embedded players ignore the subtitle track in a video container, or strip it during transcoding. Burning the captions into the picture sidesteps that — the captions are part of the video itself, so they always show up.
- Does burn-in lose video quality?
- Slightly, because we re-encode the video at H.264 CRF 23 (the streaming-service default). For most viewers the loss is invisible. If you want maximum quality, drop the resolution to a lower target so the bitrate budget per pixel goes up.
- Can I customize the font, color, or position?
- We offer three size options (Small / Medium / Large). Color, font, and position default to libass's standard rendering (white text with a black outline, bottom-center). For finer styling, edit your subtitle file as ASS / SSA — those formats support per-line styling that libass will respect.
- Will non-Latin scripts (CJK, Arabic, Cyrillic) render?
- The default font included with our FFmpeg.wasm core covers Latin and most Western European characters. Non-Latin scripts may show as boxes if the embedded font doesn't have those glyphs. For now, stick to Latin-script captions; broader font support is a planned improvement.
- What's the maximum file size?
- Combined input (video + subtitle) is bounded by your browser's available memory. Most devices handle 500 MB videos smoothly; 2 GB is the hard ceiling.
- Which browsers are supported?
- Chrome, Edge, Firefox, and Safari 15+. We require WebAssembly and SharedArrayBuffer, both standard in modern browsers.