YouTube generates captions on its own, but they arrive late, skip names and technical terms, and often never appear on quieter videos. Uploading your own subtitle file fixes all of that and takes about two minutes. This guide covers the upload itself, the errors you might hit, and how to get a good SRT file in the first place.

What you need

  • A YouTube channel with the video uploaded (public, unlisted or private all work).
  • A subtitle file in SRT or VTT format. If you do not have one yet, skip to getting an SRT file first.

Upload the subtitle file

  1. Open YouTube Studio and click Subtitles in the left menu.
  2. Find the video and click its title. You land on the subtitles page for that video.
  3. In the row for the language, click Add (or Add language if the row is missing, then pick the language).
  4. Choose Upload file.
  5. Select With timing and click Continue. Without timing, YouTube would ignore your timecodes and try to sync the text itself.
  6. Pick the .srt or .vtt file on your computer.
  7. The editor opens with the cues filled in. Play a few seconds to check they line up with the audio.
  8. Click Publish.

The subtitles are live immediately. Viewers see a CC button on the player, and the language shows up in the settings menu.

Replace or edit subtitles later

Back on the same subtitles page, the language row has a three-dot menu. Edit opens the cue editor, where you can correct a word or nudge a timecode. Delete removes the track so you can upload a new file. Nothing about the video itself changes.

Fix the common errors

"The file could not be read". The file is not in a format YouTube recognises, or the encoding is wrong. Open it in a text editor, confirm the first cue looks like the example below, and save as UTF-8.

1
00:00:01,000 --> 00:00:03,500
Welcome back to the channel.

Subtitles appear but the timing is off. Either the file was made from a different cut of the video, or the file is VTT with a comma instead of a dot. See how to fix out-of-sync subtitles.

Some lines are missing. A missing blank line between two cues merges them, and a cue with an end time earlier than its start time is dropped. Both are easy to spot in a text editor.

Accented characters look wrong. The file was saved in a legacy encoding. Re-save it as UTF-8 and upload again.

Get an SRT file for your video

If all you have is the video, you need a transcript with timecodes. Typing it by hand takes roughly five times the length of the video. An automatic transcription takes a few minutes:

  1. Upload the video or just its audio to ToneLark (files up to 2 GB). The language is detected automatically.
  2. Wait for the email that says the subtitles are ready.
  3. Download the SRT file and upload it to YouTube as described above.

Read the subtitles through once before publishing. Names, product names and acronyms are the usual places to fix a word, and the tips for accurate automatic subtitles help you avoid most of them at recording time.

Should you burn the captions in instead?

For YouTube, no. Uploaded subtitles can be switched off, translated by the viewer and edited later, and they are indexed as text. Burned-in captions make sense for platforms that do not support subtitle files, such as Instagram Reels and many ad placements. For those, see burning subtitles into a video.