PDFMove
How to Add Subtitles to a Video: An SRT and VTT Guide
How-To

How to Add Subtitles to a Video: An SRT and VTT Guide

7 min read

You need to add subtitles to your video: for accessibility, for social media videos watched on mute, to make foreign-language content understandable, or to make a training video more effective. Adding subtitles is done in two different ways, and choosing the right one depends on where the subtitles will be used.

The two basic methods

Embedding (soft subtitle): the subtitle is stored inside the video file as a separate track. The picture isn't touched.

  • The viewer can toggle it.
  • Multiple languages can be added.
  • Picture quality isn't affected at all.
  • No re-encoding is needed (stream-copying is possible).
  • But not every player supports it and most social media platforms ignore it.

Burning in (hardsub): the subtitle is turned into pixels of the image. It merges with the video.

  • Definitely visible in every player and on every platform.
  • Can't be turned off.
  • Requires re-encoding (a small quality loss).
  • One language only.

Step 1: Decide which method you need

| Use | Right method | Why | |---|---|---| | Instagram, TikTok, Twitter | Burn in | Platforms ignore embedded subtitles | | YouTube | Either | YouTube supports and prefers uploading a separate subtitle file | | Personal archive, film collection | Embed | Toggleable, multiple languages | | Corporate training video | Depends | Check the platform's support | | Publishing on a website | A separate VTT file | HTML5 video supports the <track> element | | Watching from USB on a TV | Embed or a separate SRT | Most TVs read a separate SRT file | | Silent autoplaying video | Burn in | The viewer won't know to turn subtitles on |

A critical fact: most social media platforms ignore embedded subtitles. If the video you upload to Instagram, TikTok and similar platforms has an embedded subtitle track, viewers won't see it. Burning in is mandatory for those platforms.

YouTube is the exception: you can upload a separate subtitle file, and that also gets read by search engines — which makes it superior to burned-in subtitles for SEO.

Step 2: Prepare your subtitle file

Choosing a format

SRT (SubRip): the most common format. Simple structure, broad support. Carries no styling information.

1
00:00:01,500 --> 00:00:04,200
Hello, this is the first subtitle line.

2
00:00:04,500 --> 00:00:07,800
And this is the second line.

VTT (WebVTT): designed for the web. Used with the HTML5 video <track> element. Very similar to SRT but starts with a WEBVTT line and uses periods instead of commas in timestamps.

ASS/SSA: advanced styling support. Carries font, color, position and animation information. Common in anime subtitles.

SRT is enough for most jobs. If you'll use it on the web consider VTT, and if you need complex formatting consider ASS.

Encoding check — critical for non-English text

This is the most common problem with subtitles in languages with accented characters.

Your subtitle file should be in UTF-8 encoding. In files saved in older encodings (Windows-1254, ISO-8859-9), letters like ş, ğ, ı, İ, ö, ü and ç appear broken — usually as meaningless characters like "þ", "ð" and "ý".

Checking and fixing:

  1. Open the file in a text editor (Notepad, VS Code, Notepad++).
  2. See whether the accented characters look right.
  3. In the Save As option, set the encoding to UTF-8.

In Notepad there's an encoding dropdown at the bottom of the Save As dialog. Choose "UTF-8" (plain UTF-8 rather than "UTF-8 with BOM" if possible).

Timing check

Does your subtitle file come from the same version as your video? Subtitles downloaded from the internet may have been prepared for a different video release.

Constant offset: if the subtitles are consistently 2 seconds early or late, adding or subtracting the same value from every timestamp is enough. Many subtitle editors (Subtitle Edit, Aegisub) do that in one operation.

Growing drift: if sync is fine at the start and breaks toward the end, the problem is a frame rate mismatch. The subtitles may have been prepared for a 25 fps version while your video is 23.976 fps (or vice versa). In that case a proportional correction is needed; subtitle editors offer a "frame rate conversion" option.

Step 3: Add them

Open the video subtitle tool, upload your video and subtitle file, and choose the method (embed or burn in). The processing runs in your browser; your files don't go to a server.

If you chose embedding: the operation is fast because the video isn't re-encoded. The subtitle track is added to the container.

If you chose burning in: the video gets re-encoded, and depending on its length that can take minutes. Style settings are applied during burning too.

Step 4: Style settings for burning in

The SRT format carries no styling information, so the styling is determined externally during burning. Typical settings and recommendations:

Font. Sans-serif (Arial, Roboto, Open Sans) is more legible for subtitles. Make sure you choose a font that supports the characters you need.

Size. It should be proportional to the video's resolution. On a 1080p video, 40-50 pixels of height is a reasonable range. Prefer larger on videos that will be watched on mobile — legibility on a small screen is critical.

Color and outline. White text plus a black outline is the classic, safe combination. It's readable against any background. White text alone disappears in light-colored scenes.

Background box. A semi-transparent black box guarantees legibility but covers part of the picture. Useful on videos with busy backgrounds.

Position. Bottom center is standard. But watch this: some platforms place their own interface elements at the bottom of the video (like buttons, username). For Instagram and TikTok, nudging the subtitles up prevents them being cut off.

Safe area. Keep the subtitles at least 5% in from the edges. Some players and televisions crop the edges.

Step 5: Check the result

Are the accented characters right? Check any language-specific letters. If they're broken in burned-in subtitles, the only fix is starting over.

Is the sync right? Check at the start, in the middle and at the end of the video. If it breaks at the end, there's a frame rate problem.

Legibility. Watch the video on a phone and make sure the subtitles are readable. A size that looks fine on a computer screen can end up small on a phone.

Cut-off. Are the subtitles cut off at the edges of the screen? Are long lines split across two lines?

Overlap. Do the subtitles cover important visual elements in the video (graphics, text, faces)?

Rules for writing subtitles

If you're writing your own subtitles, there are some established rules for legibility:

Line length: 35-42 characters per line. Longer lines make reading harder.

Line count: at most two lines. Three lines take up too much of the screen.

Display duration: at least 1 second and at most 6-7 seconds per line. Too short can't be read, too long is distracting.

Reading speed: about 15-17 characters per second is a pace an average viewer can follow comfortably.

Break logic: break sentences at meaningful points. "John and" / "Jane arrived" is bad; "John and Jane" / "arrived" is good.

Leave gaps: leave at least 2-3 frames (about 100 ms) between two subtitles; consecutive subtitles shouldn't run into each other.

Common mistakes

Not checking the encoding. Accented characters come out broken and can't be fixed once burned in.

Embedding for social media. The platform ignores the subtitles and viewers see nothing.

Not checking sync before burning. Burning can't be undone.

Not keeping the original. After burning you can't go back to the subtitle-free version.

Too small a font. Unreadable on videos watched on mobile.

White text without an outline. It disappears in light-colored scenes.

In summary

There are two ways to add subtitles and the choice depends on where they'll be used: embedding creates a separate, toggleable track that doesn't affect quality, but social media platforms ignore it; burning in is definitely visible everywhere but can't be undone and requires re-encoding. For non-English content the most critical step is verifying the file encoding is UTF-8. For sync problems, a constant offset is fixed with a simple shift and a growing drift with a frame rate conversion. Always check sync and encoding before burning — the operation can't be undone — and keep the original video.

Frequently Asked Questions

What's the difference between embedding and burning in subtitles?

Embedding (soft subtitles) stores the subtitle inside the video file as a separate track; the viewer can toggle it, multiple languages can be added, and picture quality isn't affected at all. Burning in (hardsub) turns the subtitle into pixels of the image; it can't be turned off but it's definitely visible in every player and on every platform. Burning is right for social media, embedding for archives and personal use.

Accented characters look broken — how do I fix that?

It's almost always a file encoding problem. If your subtitle file was saved in an older encoding like Windows-1254 or ISO-8859-9, tools expecting UTF-8 will display letters like ş, ğ and ı incorrectly. Opening the file in a text editor and re-saving it with the 'save as UTF-8' option solves it. In Windows Notepad that option is in the Save As dialog.

The subtitles aren't in sync with the video — what can I do?

If there's a constant offset (the subtitles are consistently 2 seconds early or late), adding or subtracting the same value from every timestamp is enough; many subtitle editors do that in one operation. If the drift grows as it goes, the problem is a frame rate mismatch — the subtitles may have been prepared for a 25 fps version while your video is 23.976 fps. In that case a proportional correction is needed.

Can I change the font and size of burned-in subtitles?

Style settings are applied during burning and the degree of control varies by tool: font, size, color, outline and background box are typical settings. The SRT format carries no styling information, so the styling is determined externally. The ASS/SSA format, by contrast, carries styling information inside itself and allows far more detailed formatting.

Try this out right away with Videoya Altyazı Ekle.

Try Videoya Altyazı Ekle