Guides · Updated

YouTube captions and subtitles: files, timing and reuploads

YouTube supports separate caption files, including SRT, SBV and WebVTT, and automatic captions for long-form videos and Shorts. Add or correct selectable captions in YouTube Studio. Words burned into an exported video stay in its picture; they are not a selectable caption track, and uploading the video alone does not upload an SRT beside it.

Checked on October 31, 2026, against YouTube and Google's own documentation, linked inline and under Sources.

Burned-in words versus selectable captions

Kind of text Where it lives What the viewer gets
Burned-in words, sometimes called open captions Pixels rendered into the exported video Always visible while those frames play. Turning captions off cannot remove them; changing the words requires changing the video picture
Uploaded captions or subtitles A separate text-and-timing track attached to a YouTube video Captions the player can display separately, with language choices where available
YouTube automatic captions A track YouTube generates from speech Machine-generated text that needs review; it may not be ready when the video is uploaded
Video title or description The video's metadata Not synchronized subtitles, even if another publishing app calls its post text a “caption”

YouTube defines a caption track as timed text associated with a video. Captions can include speaker identification and meaningful sounds such as [applause], not just dialogue. A translated subtitle track supplies another text language; it does not dub the audio. See YouTube's caption editor instructions.

Add a caption file in YouTube Studio

For an existing upload, use the desktop YouTube Studio workflow:

  1. Sign in to YouTube Studio for the channel that owns the video.
  2. Choose Subtitles in the left menu, then select the video.
  3. Choose Add language and the language of the text you are adding. Under Subtitles, choose Add.
  4. Choose Upload file. Select With timing for a timed SRT, SBV or another supported caption file, or Without timing for a transcript you want Studio to synchronize. Select Continue and choose the file.
  5. Save the upload. Review the words and their timing in the editor; use Publish to publish editor changes. A track left as a draft is not visible to viewers.
  6. Play the video with the intended caption language enabled. Check the opening, speaker changes and ending, not just whether the file uploaded.

YouTube also lets you add subtitles during its native video-upload process. You do not need to reupload an existing video just to add or fix captions. For corrections, go back to Subtitles, select the video and Edit beside the language. Adjust the text or the two timestamp boxes for each cue; if timestamps are hidden, choose Edit timings. Finish with Publish. You can also use Options → Download subtitles, edit the file locally and upload it again. Editing and downloading instructions.

Which caption files does YouTube support?

For a straightforward text-and-timing file, YouTube recommends SubRip (.srt) or SubViewer (.sbv) to beginners. Both must be plain UTF-8, and YouTube recognizes no styling markup in their basic supported versions. Supported formats and examples.

Format family File types Important qualification
Basic text SRT .srt; SubViewer .sbv / .sub; MPsub .mpsub; LRC .lrc; Videotron Lambda .cap SRT/SBV have no styling; MPsub supports FORMAT=; LRC supports enhanced format but no styling; Lambda is primarily used for Japanese subtitles
Advanced text SAMI .smi / .sami; RealText .rt; WebVTT .vtt SAMI/RealText support simple markup but no positioning. WebVTT supports positioning with limited bold, italic and underline styling
XML timed text TTML .ttml; DFXP .ttml / .dfxp TTML support is partial; DFXP is interpreted as TTML. Check the supported subset before relying on styling
Broadcast Scenarist .scc; EBU-STL .stl; Caption Center .tds; Captions Inc. .cin; Cheetah .asc / .cap; NCI .cap Several are binary formats. A .cap extension alone does not identify the dialect

A minimal SRT file has numbered cues, start and end times separated by -->, and a blank line between cues:

1
00:00:00,500 --> 00:00:02,800
The next step is yours.

2
00:00:03,000 --> 00:00:05,200
[applause]

SRT uses comma milliseconds, as in 00:00:00,500. SBV uses decimal-point milliseconds and comma-separated start and end times, as in 0:00:00.500,0:00:02.800. A renamed .txt file is not automatically a valid SRT. Keep the timed file matched to the final video edit: trimming an intro, inserting a clip or changing playback speed can move the speech away from its cues. Use the editor's timing controls to correct it.

Automatic captions, auto-sync and language are different choices

Automatic captions transcribe the audio. Auto-sync times text you supply. An uploaded timed file supplies both text and timing. These are different workflows, not three names for the same operation.

To correct automatic captions, open Subtitles → video, then choose Duplicate and edit for the automatic track. Review the words and timing and Publish. YouTube creates a new caption track containing your revisions. Edit automatic captions.

Set the original video language separately in Content → video → Show more → Language and captions certification, then Save. That tells YouTube the original language; it does not rewrite existing captions. YouTube says changing it affects the source language for future translated subtitles, not published or draft caption tracks. Video-language settings.

What transfers when you upload the video separately?

A video export and its subtitle sidecar are separate assets. If you upload the same edited video to another YouTube video entry, another channel or another platform:

This sidecar workflow is not a promise that an embedded caption stream inside every video container will be extracted. Keep a separate supported caption file rather than relying on an undocumented transfer. For destination-specific video requirements, see TikTok, X and LinkedIn video specs.

YouTube's API is not Studio auto-sync

Developers can upload a caption file separately with captions.insert, supplying the destination video ID, caption language and track name. The language is a BCP-47 tag, such as en or en-US. Caption-method authorization and permission to edit the destination resource are required; a video-upload integration is not automatically a caption integration. Insert contract and caption resource fields.

API caption files must contain timing information. YouTube stopped supporting the sync parameter for caption insert/update on April 12, 2024. Studio's native auto-sync workflow still exists; it is not evidence that an app can send an untimed transcript with sync=true. YouTube's deprecation notice.

Caption processing and visibility are separate: the API reports serving, syncing or failed, and isDraft: true means the track is not publicly visible. A successful upload response is not proof that captions are ready or timed correctly. Track status and draft fields.

Does Flaghand upload YouTube caption files?

Flaghand does not currently provide a YouTube caption-file workflow. Its media documentation does not offer YouTube caption-track upload, editing, auto-sync or translation operations. Connecting a channel, uploading video media or adding a post's text does not create a selectable YouTube caption track. Use the native Studio steps above for that work.

If your video already has burned-in words, they remain part of that video's picture. That is not Flaghand generating, attaching or verifying selectable subtitles. YouTube's automatic captions are YouTube's feature, not a Flaghand caption service.