Back to blog

How to add subtitles to a video

Burned-in captions or a separate SRT, how to produce either from a transcript, where to attach the file on each platform, and the formatting rules that make captions readable.

Try the transcription tools
Contents

Adding subtitles is two separate jobs that get talked about as one: producing accurate text with timings, and getting that text onto the video. The first is the hard part and is now mostly automated. The second is five minutes of clicking, but only if you made the right choice at the start.

That choice is what this guide opens with, because getting it wrong means redoing everything.

Burned in or a separate file — decide this first

Burned-in subtitles (also called open captions or hardsubs) are painted into the video frames. They are pixels. Everyone sees them, nobody can switch them off, and changing them means re-exporting the video.

A separate file — an SRT or WebVTT alongside the video — is text the player draws on top. The viewer can turn it on or off, search engines can read it, and fixing a typo takes ten seconds.

Burned in Separate file
Viewer can turn off No Yes
Readable by search engines No Yes
Fixing a typo Re-export the video Edit the file
Works when the platform strips captions Yes No
Multiple languages One video per language One video, many files
Autoplay-muted feeds Always visible Depends on the platform

The rule that covers almost every case: use a separate file wherever the platform accepts one, and burn in only where it does not.

In practice that means a separate file for YouTube, your own website, LinkedIn, X and Facebook. Burned in for Instagram Reels and TikTok, where captions are part of how the video looks in a silent, fast-scrolling feed and there is no reliable caption track to attach. Many creators do both on the same recording: burned-in captions for the vertical cut, an SRT for the full-length upload.

Step 1: get the transcript, with timings

Captions are a transcript that knows when each line was said. Every route to one starts here.

If the video is already published somewhere, the fastest path is to transcribe from its link. Paste the URL into the tool for that platformYouTube, TikTok, Instagram, Facebook, X — and export SRT or WebVTT. Nothing is downloaded and re-uploaded; the transcript comes back timed and ready to attach.

If it is not published yet, the usual order is to upload it unlisted, transcribe from that link, then attach the captions before you make it public.

Which format to export depends only on where the file is going: SRT for uploads and video editors, WebVTT for a <video> element on your own page. SRT vs WebVTT vs TXT covers the difference in full, but SRT is the safe default for anything with an upload button.

Step 2: fix the text before it becomes captions

This is the step people skip, and it is the one that decides whether the captions look professional.

Automatic transcription is around 96% accurate on clear speech and lower on anything else. That last few percent is not spread evenly — it clusters on exactly the words that matter most:

  • Names. People, companies, products. A misspelled brand name in a caption is worse than no caption.
  • Jargon and acronyms. Anything domain-specific the model has heard less often.
  • Numbers. "Fifteen" and "fifty" sound alike and mean very different things.
  • Homophones. Their / there, your / you're, its / it's.

Read the transcript once with the audio playing at 1.5×. You are not proofreading prose — you are checking for the four categories above. On a ten-minute video this takes about five minutes.

Fix it before you export, not after. A correction made in the transcript propagates to every format and every language you generate from it. The same correction made afterwards has to be repeated in each subtitle file by hand.

Step 3: attach the file

YouTube

Studio → Subtitles → pick the video → Upload fileWith timing → choose your SRT → Publish. Do not use "Without timing" unless you want YouTube to guess the sync.

Uploading your own file replaces YouTube's automatic captions, which is the point: yours are corrected and theirs are not. It also gives YouTube clean text to index, which is why captioned videos tend to surface for more searches.

Your own website

Put the WebVTT next to the video and reference it with a <track>:

<video controls>
  <source src="/talk.mp4" type="video/mp4">
  <track kind="captions" src="/talk.vtt" srclang="en" label="English" default>
</video>

kind="captions" rather than kind="subtitles" if the file includes sound cues and speaker labels. The browser needs a real WebVTT file here — an SRT with the extension changed will silently fail to load.

A video editor

Premiere Pro, DaVinci Resolve, Final Cut and CapCut all import SRT as a caption track. Import it, drag it onto the timeline, restyle if you want, and then either export the caption track as a sidecar file or burn it in at export.

This is also how you produce burned-in captions properly: style them once in the editor rather than typing them over the video by hand.

LinkedIn, X and Facebook

All three accept an SRT at upload time. LinkedIn in particular has a caption field in the upload dialog that is easy to scroll past — captions cannot be added after the post is live, so attach it before you publish.

TikTok and Instagram

Both generate their own captions automatically and both let you edit the text in-app, but neither takes an uploaded file for a normal post. If you want control over the wording, burn the captions in from your editor and switch the platform's automatic ones off.

The formatting rules that make captions readable

Auto-generated cues are usually split by pauses in the audio, which is not the same as split for reading. These are the constraints broadcast subtitling has settled on, and they are worth applying by hand to anything you care about:

Rule Value
Characters per line 42 or fewer
Lines per cue 2 maximum
Minimum time on screen 1 second
Maximum time on screen 7 seconds
Reading speed ~17 characters per second
Gap between cues at least 2 frames, so the change is visible

Two more that matter more than the numbers:

Break lines at grammar, not at width. "We spent about six months / on the first version" reads cleanly. "We spent about six / months on the first version" makes the reader stumble at the line break.

Never let a cue span a shot change. A caption that survives a cut looks like a rendering bug.

If a line is too long to fit at a comfortable reading speed, shorten the words rather than shrinking the font. Removing "you know" and "sort of" from a caption loses nothing and buys you the whole problem back.

Subtitles or captions?

These are not synonyms and the distinction decides what you type.

Subtitles assume the viewer can hear the audio and just needs the words, usually because the speech is in a language they do not read. Dialogue only.

Captions are written for someone who cannot hear the audio at all, so they carry the dialogue and what a hearing viewer gets for free — who is speaking when it is not obvious, and sound that matters: [door slams], [laughs], [music swells].

Accessibility requirements mean captions. If your video is doing a job for an employer, a public body or a course, the deliverable is captions, and an untouched automatic transcript is a draft of one rather than the thing itself.

Subtitles in another language

Once you have accurate captions in the original language, a second language is a translation of the text with the timings left alone. That is a genuinely different operation from translating a document, and doing it wrong is the most common way a subtitle file gets destroyed — translating subtitles without breaking the timings covers what goes wrong and how to avoid it.

The short version: translate the text inside each cue and never touch the timestamps. EzScribe's subtitle translator does this from the original link and returns SRT or WebVTT with the original timings intact, in any of 107 target languages.

What this actually costs you

For a ten-minute video, honestly:

  • Transcribing from the link: under two minutes, unattended
  • Correcting names, numbers and jargon: about five minutes
  • Attaching the file: under a minute

So roughly eight minutes of your attention for a video that then works with the sound off, gets indexed as text, and can be translated without being re-recorded. The step people are tempted to drop is the five-minute correction pass, and it is the only one that separates captions worth publishing from captions that make the video look unfinished.

Frequently asked questions

How do I add subtitles to a video?
Three steps. Get a transcript with timings — transcribing from the video's link is the fastest route. Correct the names, numbers and jargon, because that is where automatic transcription misses. Then either upload the resulting SRT to the platform (YouTube, LinkedIn, X, Facebook) or burn the captions in from a video editor for feeds that do not accept a caption file, like TikTok and Instagram.
What is the difference between burned-in subtitles and an SRT file?
Burned-in subtitles are painted into the video frames, so everyone sees them, nobody can switch them off, and changing them means re-exporting the video. An SRT is a separate text file the player draws on top: the viewer can toggle it, search engines can read it, and fixing a typo takes ten seconds. Use a separate file wherever the platform accepts one; burn in only where it does not.
Can I upload a subtitle file to TikTok or Instagram?
Not for a normal post. Both generate captions automatically and let you edit the text in-app, but neither takes an uploaded SRT. If you want control over the wording and the look, burn the captions in from your editor and switch the platform's automatic ones off.
Should I use YouTube's automatic captions?
As a starting point, not as the finished thing. They are uncorrected, so names, acronyms and numbers are frequently wrong, and those are the words a viewer notices. Uploading your own corrected SRT replaces them and gives YouTube clean text to index.
How long should a subtitle stay on screen?
Between 1 and 7 seconds, at a reading speed of roughly 17 characters per second. Keep lines to 42 characters or fewer and never more than two lines per cue. If a line will not fit at a comfortable reading speed, shorten the wording rather than shrinking the font.
What is the difference between subtitles and captions?
Subtitles assume the viewer can hear the audio and just needs the words, usually because the speech is in another language — dialogue only. Captions are written for someone who cannot hear it, so they also carry speaker changes and meaningful sound, like [door slams] or [laughs]. Accessibility requirements mean captions.