Subtitle Burn-in Tool
Burn SRT or VTT subtitles directly into your video (hard subs). Customize font size, color, outline, and position.
Equivalent FFmpeg command
CLI command for your current settings. Updates live as you change controls.
ffmpeg -y -i video.mp4 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2,subtitles=subs.srt:fontsdir=.:force_style='Fontname=Noto Sans,Fontsize=28,PrimaryColour=&H00FFFFFF&,OutlineColour=&H00000000&,Outline=2,Bold=-1,Alignment=2'" -c:v libx264 -preset fast -crf 20 -c:a aac -b:a 128k -pix_fmt yuv420p -movflags +faststart output.mp4 How to use
- Pick a videoMP4 / MOV / WebM, etc. (up to 500 MB).
- Provide the subtitlesUpload an .srt / .vtt file, or paste SRT-format text.
- Set the styleSet size, color, outline and position. Text size follows the video height, so there is no need to change it for each resolution.
- Burn the subtitlesA preview and the download button appear when it finishes.
Recommended settings
When it goes wrong
No subtitles, and an error
Cause: The subtitle file is saved in Shift_JIS or another encoding that is not UTF-8.
Fix: Save it again as UTF-8 in your text editor.
Subtitles never appear
Cause: A VTT file uses commas in its times (00:00:01,000).
Fix: Write VTT times with a dot, as in 00:00:01.000. SRT officially uses a comma.
Some characters show as boxes (tofu)
Cause: Latin uses Noto Sans Bold and Japanese uses a Noto Sans JP subset (kana, JIS level 1-2 kanji); simplified Chinese, Korean and rarer kanji are not included.
Fix: Use desktop FFmpeg with a font that covers those characters.
Subtitles appear at the wrong time
Cause: The subtitle times do not match this video (for example, subtitles made for a different edit). The tool uses the times as they are.
Fix: Adjust the times in a subtitle editor such as Subtitle Edit.
Questions
Hard subs vs. soft subs?
Hard subs are burned into the picture and cannot be turned off. Soft subs are a separate track that viewers can switch on and off. This tool makes hard subs only.
Should I burn subs for YouTube?
YouTube accepts SRT and VTT subtitle files as they are. That way you can fix them later and viewers can turn them on or off. Burn subtitles in when you post somewhere that cannot take a subtitle file.
Can I use Japanese subtitles?
Yes. When the captions contain Japanese, the tool loads a Japanese font (Noto Sans JP, about 2 MB) with kana and JIS level 1–2 kanji. Most simplified Chinese characters and Korean cannot be shown.
SRT vs VTT?
SRT is a widely used subtitle format; VTT is the format for video in web browsers. Both are accepted. Colors set with VTT STYLE blocks or classes are not burned in.
Can I use a custom font?
No. Latin text uses Noto Sans Bold and Japanese uses Noto Sans JP Bold, so the text is always bold. For other fonts, use desktop FFmpeg with libass.
Will the tool fix my timecodes?
No. The times are used as they are. Fix them first in Subtitle Edit or a similar tool.
Speaker colors / styles?
In SRT, <font color="#ffff00">…</font> colors the text inside it, and <i>…</i> makes it italic. VTT class tags such as <c.speaker1> are ignored.
More detail (settings, limits, FFmpeg commands)
What each setting means
Browsers and limits
- Maximum file size: video 500 MB, subtitle file 5 MB
- Fonts: Noto Sans Bold for Latin text, Noto Sans JP Bold for Japanese (JIS level 1–2 kanji)
- Hard subs only — for soft subs use desktop FFmpeg
- Output is H.264 (CRF 20) MP4; audio, when present, is re-encoded to AAC 128 kbps
The same job with the FFmpeg command line
ffmpeg -i input.mp4 -vf "subtitles=subs.srt" out.mp4 ffmpeg -i input.mp4 -vf "subtitles=subs.srt:force_style='FontName=Noto Sans,FontSize=28,PrimaryColour=&Hffffff&,OutlineColour=&H000000&,Outline=2,Bold=1,Alignment=2'" out.mp4 ffmpeg -i input.mp4 -vf "subtitles=subs.vtt" out.mp4