How to burn captions into a video for x / twitter
- Step 1Drop your video and SRT file — Drop your video and a matching .srt or .vtt file
- Step 2Style your captions — Pick a style preset (TikTok, YouTube, Subtle, Bold)
- Step 3Export with burned-in subtitles — JAD renders the subtitles into every frame and exports the result
Frequently asked questions
What is the difference between hard subtitles and soft subtitles?+
Soft subtitles are stored as a separate track inside the video container (MKV, MP4) and rendered by the player at playback time. They can be turned on or off, and are stripped or ignored by most social platforms. Hard subtitles (burned-in) are rendered onto the video frames themselves — they are part of the picture and cannot be turned off. Hard subs are required for social media posts, accessible offline playback, and any delivery format that doesn't support subtitle tracks.
My SRT file has timestamps but the captions are out of sync. Why?+
Timestamp sync issues usually mean your SRT was created for a different cut of the video — either a different start time, or a different frame rate. Check that your SRT timestamp origin (00:00:00,000) matches the video start. If the captions are consistently early or late by a fixed offset, use the delay/offset field in JAD to shift all timestamps. Frame-rate mismatches (23.976 vs 25 fps) cause gradual drift and require re-timing the SRT.
Can I burn ASS subtitles with custom fonts and animations?+
Yes — JAD passes ASS/SSA files directly to FFmpeg's libass renderer, which supports the full ASS v4+ spec including custom fonts (embedded in the ASS file), karaoke effects, per-line positioning, shadows, border styles, and scroll animations. Upload the ASS file alongside the video and the styles are preserved in the burned output.
Privacy first
All video processing runs locally in your browser using WebAssembly and FFmpeg. No file is ever uploaded — only metadata counters are saved for signed-in dashboard stats.