TutorialSubtitles

How to Add Burned-In Subtitles to a Video (AI, 2026)

June 17, 2026 · Updated September 30, 2026 · 7 min read

To add burned-in subtitles, auto-generate a timed subtitle file (SRT) from the speech, proofread it, then render the text into the video's pixels — in one pass with an AI tool, or free with FFmpeg or HandBrake. Proofreading is the step that decides the result: once subtitles are burned in, every typo is permanent, and fixing one means rendering the video again.

Burned-in or SRT?

Burned-in subtitles (also called hardcoded or open captions) are part of the picture. An SRT file is a separate text track that the player draws on top.

Practical rule: short social clips → burned-in. YouTube and long-form → SRT. Either way, keep the SRT — it's the editable master for every fix and translation.

Step 1 — Auto-generate the subtitles

Two routes: a one-click tool, or a free one that runs on your own computer.

With AI Growth Kit

  1. Open the Subtitler and upload the video — MP4, MOV or WebM, up to 30 minutes.
  2. Pick the spoken language. There are 20 options: English (US, UK), Chinese (Mandarin, Cantonese), Spanish (Spain, Latin America), Portuguese (Brazil, Portugal), French, German, Italian, Japanese, Korean, Russian, Arabic, Hindi, Indonesian, Vietnamese, Thai and Turkish.
  3. Optionally, pick one of the other languages to translate the subtitles into.
  4. The output is always an MP4 with the subtitles burned in; there's no separate SRT download. If you want to proofread the text before anything touches the picture, generate the SRT with Whisper instead (below) and burn it in yourself in Step 3.
  5. Submit. The form shows the cost first: 2 credits per second, so a 60-second clip is 120 credits. If the job fails, the credits come back.
  6. Download the result from My tasks when it's done.

The Subtitler has no caption editor or style picker, and it can't take an SRT you've already corrected — every run transcribes the audio from scratch. A corrected file gets burned in by you, in Step 3.

With Whisper (free, runs locally)

OpenAI's open-source Whisper model needs Python and FFmpeg installed. This writes an SRT with lines already capped at 42 characters and two lines per subtitle:

pip install -U openai-whisper
whisper video.mp4 --model turbo --language English --output_format srt --word_timestamps True --max_line_width 42 --max_line_count 2

Whisper's --task translate only produces English, and the turbo model isn't trained for translation at all. For any other target language, translate the finished SRT text instead.

What you get: an SRT file

An SRT is plain text: a counter, a start and end time, and one or two lines of text per subtitle.

1
00:00:00,000 --> 00:00:03,500
Welcome to AI Growth Kit.

2
00:00:03,500 --> 00:00:07,200
Today I'll show you how to translate videos.

Step 2 — Proofread (the step that matters)

Speech recognition tends to slip on exactly the words your audience notices. Read the SRT against the video once, start to finish:

Edit in any plain-text editor and save as UTF-8 — YouTube only accepts plain UTF-8 SRT files, and other encodings garble accented and non-Latin characters. A subtitle editor such as Aegisub helps if you need to retime lines visually.

If the subtitles are translated

Check meaning, not words: each line should read like something a native speaker would write, not a word-for-word copy — a literal “break a leg” makes no sense in most languages. Translations into European languages also run longer: IBM's localization guidelines, cited by the W3C, put the expansion from English at about 130% for text over 70 characters and 200–300% for strings under 10. Re-split any line that now breaks the 42-character limit, and for Arabic, check that right-to-left lines and punctuation still read correctly.

Step 3 — Burn in the subtitles (or ship the SRT)

In one pass with the Subtitler

For a short clip with clear speech, the Subtitler run in Step 1 is the whole job. Watch the full output once before you post it — a fix at this point means another run.

With FFmpeg (free, uses your corrected SRT)

ffmpeg -i input.mp4 -vf "subtitles=subs.srt:force_style='FontName=Arial,FontSize=18,Outline=2,MarginV=40'" -c:a copy output.mp4

With HandBrake (free, no command line)

Open the video, import your SRT on the Subtitles tab, set the track to burn in, and encode. HandBrake also reads styled ASS files if you want to keep fonts and colors.

Shipping the SRT instead

Upload it as a subtitle track on YouTube, or attach it to a LinkedIn video post from desktop. For the next language, translate the text and keep the timecodes.

Formatting that reads well on a phone

Common mistakes

What it costs

On AI Growth Kit, subtitles cost 2 credits per second, with or without translation. A 60-second clip is 120 credits: $2.94 at the Pro plan's rate, $3.80 on Starter, or $5.40 from the $9 Starter Pack (see pricing). The 20 free credits you get at sign-up cover a 10-second test, with no watermark. The Whisper + FFmpeg route costs nothing but your time. For Otter, Descript and VEED prices side by side, see our AI subtitle generator comparison.

Try it

Upload a clip to the Subtitler — the exact credit cost appears as soon as you choose the file. Need the video itself in another language? See how to translate a video with AI.