Skip to content
Toolvy
VideoSubtitlesHow-to

How to add subtitles to a video: soft track or burned in

There are two ways to put subtitles on a video, and picking the wrong one is why captions vanish on Instagram or cannot be switched off in VLC. Here is how to choose, prepare your subtitle file and export either kind in your browser.

By 5 min read

Most people who search for this have a finished video and a subtitle file, or a transcript, and want the two joined. The joining is easy. The decision that matters comes first: should the words be a separate track inside the file, or part of the picture itself? Get that right and the captions show up where your audience watches.

This guide covers that choice destination by destination, what to prepare, the export itself, how to style burned-in captions so they are readable, and why a soft track sometimes seems to disappear.

Soft or burned-in: which should you choose?

A soft subtitle track is text stored alongside the video; the player draws it, the viewer can switch it on or off, and the picture is never altered. Burned-in subtitles, also called hard subtitles or open captions, are drawn into the frames themselves, so they appear in every app and can never be turned off. Where the video is going decides which you want.

The right kind of subtitles for each destination.
Where the video will playBest choiceWhy
Instagram, TikTok, WhatsAppBurned inSome social apps ignore embedded subtitle tracks when they process an upload
YouTubeNeither: upload the subtitle file in YouTube StudioCaptions stay switchable, and you can edit them after publishing
VLC and other media playersSoft trackViewers choose whether to see them, and the picture is untouched
Your own websiteA separate WebVTT fileThe HTML5 video player loads captions from a .vtt file
A presentation, kiosk or screen with no soundBurned inNothing depends on a player setting someone has to find
Sending the file to a colleague or clientSoft trackThey can turn the subtitles off, and you lose no quality

For a website, convert your file with SRT to VTT and reference it from the video element; nothing needs to be added to the video itself.

What do you need before you start?

  • The video. MP4, MOV, WebM and MKV all work. Trim it first with trim video if you only need part of it, especially if you plan to burn in.
  • The subtitles. SRT, VTT, ASS/SSA, SBV, SUB, TTML/DFXP, LRC or plain text, or you can paste the text instead. Character encoding is fixed on import, so accents from an old SRT come through intact.
  • No subtitle file yet? Pull the soundtrack out with video to MP3, transcribe it on your device with audio to text, which exports SRT or VTT, and read the result through before you use it.
  • Timing you trust. If every line is late or early by the same amount, shift the file with the subtitle shifter; if only some lines are wrong, fix them in the subtitle editor.

How do you add subtitles to a video in your browser?

  1. Open the add subtitles to video tool and drop in your video, then your subtitle file, or paste the text.
  2. Play the live preview. The captions run over your video in the page, so you can check timing and wording before exporting anything.
  3. Choose soft and pick the language tag the track should carry, or choose burned-in and set the text size, white or yellow text, an outline or a background box, and top or bottom placement.
  4. Export. A soft track finishes almost immediately; burning in takes longer because every frame is redrawn.
  5. Download the result and play it once in the player or app it is meant for.
Add subtitles to your video

What happens to the file in each mode?

In soft mode the video and audio streams are copied unchanged and a small text track is added in the format each container expects: a mov_text track for MP4 and MOV, an SRT track for MKV and a WebVTT track for WebM. Nothing is re-encoded, so the picture and sound are bit-for-bit what they were, and the file grows only by the size of the text.

In burned-in mode the captions are rendered onto each frame with libass and the video is re-encoded as H.264, while the audio is copied untouched. Like any re-encode, that costs a little quality, and because ffmpeg.wasm runs on a single thread in your browser it is much slower than a soft export. Short clips work best; if the finished file is too large to send, compress it afterward.

How do you make burned-in subtitles readable?

  • Pick the background treatment for the footage. An outline is enough over most scenes; a box keeps text legible over bright, busy or fast-changing backgrounds such as snow, water or a crowd.
  • Size for the smallest screen. A phone held upright shows your video small, so text that looks big on a monitor can be hard to read there. Check the preview at the size your viewers will see.
  • Move captions to the top when the bottom is busy. On-screen graphics, a lower-third name caption, or an app’s buttons and description over the bottom of a vertical video can all cover text placed at the bottom.
  • Keep lines short and on screen long enough. Burned-in mistakes cannot be fixed by the viewer, so check reading speed with the subtitle timing checker before you export.

Why don’t my soft subtitles show up?

Usually one of three reasons. Many players do not display a subtitle track until you choose it from the subtitle or CC menu, where the language tag you set labels it. Some social apps drop embedded tracks when they process an upload, so the captions never reach viewers; export again burned in. And a few players and devices support only some subtitle formats inside some containers, so if one player shows nothing, try the file in VLC before assuming the track is missing.

Frequently asked questions

Can I add subtitles to an MP4 without re-encoding it?

Yes. Soft mode copies the video and audio streams as they are and adds a mov_text subtitle track, so there is no quality loss and the export is near-instant.

Which subtitle file format should I use?

Whatever you have. SRT, VTT, ASS/SSA, SBV, SUB, TTML/DFXP, LRC and plain text are all read, and the soft track is written in the right format for the container automatically. If you are creating a file from scratch, SRT is the most widely supported.

Does burning in subtitles change the audio?

No. Only the picture is re-encoded to draw the text on it; the audio stream is copied into the new file unchanged.

Is my video uploaded?

No. The video and subtitles are processed in your browser tab by a roughly 10 MB engine that downloads once and is cached. DevTools → Network shows no upload of your file.