What is Add Subtitles to Video?
Add Subtitles to Video burns subtitle text directly into your video frames. Bring in SRT, WebVTT, ASS or SSA files and the captions become part of the video itself, so they show up on any player or platform with no separate caption support needed.
The tool runs FFmpeg locally so your video and subtitle file never leave the page. Accepts SRT, WebVTT, ASS and SSA inputs and MP4, WebM and MOV video. Pick one of the built-in style presets (Clean, Bold, Outlined, High Contrast) or fine-tune font family, size, colours, bold and italic, text alignment, background style (solid box, outline, or none), background opacity, and whether the line sits at the top, middle or bottom of the frame. Reveal captions as a whole line, word by word, or karaoke-style with the active word highlighted, and check a live still-frame preview of your video before you burn. A timing offset lets you nudge every caption earlier or later when the subtitle file is out of sync.
How to use
- Upload your video and a subtitle file in SRT, WebVTT, ASS or SSA format.
- Pick a style preset or adjust font, colours, background and position to taste.
- Process and download the video with hardcoded subtitles burned in.
When to use
- Sharing a clip on social platforms that ignore separate caption tracks like WhatsApp or LinkedIn.
- Adding translated captions to a short film when the player doesn't support sidecar SRT files.
- Preparing lecture or training videos that need to remain readable when downloaded offline.
Result
A filmmaker uploads a short film MP4 and a Spanish SRT file, sets white text with a semi-transparent black background at the bottom center, and downloads the subtitled version for distribution.
FAQ
- What's the difference between burned-in subtitles and a separate SRT track?
- Burned-in subtitles are pixels in the video itself, so they always show and can't be turned off. A separate SRT is text the player overlays, which gives viewers a toggle but only works if the player supports it. Use burning when you need guaranteed display.
- Does the video upload to a server?
- No. FFmpeg runs locally through WebAssembly. Your video and SRT file stay on your device the entire time. The encoded output is generated on the same page and never sent anywhere.
- Why is the output slower to produce than the original video length?
- WebAssembly FFmpeg is roughly two to four times slower than a native install because it runs inside a single CPU thread. A two-minute clip can take five to ten minutes depending on resolution and your machine.
- My SRT timings look fine but the captions appear off in the result. What happened?
- If every caption is off by the same amount, use the Timing Offset control to shift them all earlier or later until they line up. If only some are off, the SRT may carry a BOM or CRLF line endings that older parsers choke on, so re-save it as UTF-8 without BOM and confirm the timestamps use commas for milliseconds (00:00:01,500) not periods.
- Can I keep the original quality of the video?
- The encoder uses H.264 at a moderate CRF, which is visually close to the source for most material. If you need lossless output, you'd want a desktop tool like Handbrake or FFmpeg directly with a CRF of 0.
Related Tools
Video Bitrate Adjuster
Adjust video bitrate for size or quality
Video Frame Rate Changer
Convert video frame rate (24/30/60 fps)
Video to Frames Extractor
Extract all frames from a video as images
Screen Recorder
Record your screen, window, or tab privately
Picture-in-Picture Creator
Overlay a small video on a larger video
Video Filter
Apply color filters and effects to videos