Videos · Glossary
What is an SRT file?
An SRT file is a plain text subtitle file in the SubRip format. Each entry holds a sequence number, a start and end time down to the millisecond, one or two lines of text, and a blank line before the next entry. Video players and platforms read it to show captions or subtitles at the right moment.
Most caption uploads, from video platforms to ad managers, come down to one small text file sitting beside the video. Getting its few rules right is the difference between captions that appear on cue and an upload that is rejected or drifts out of sync.
Nuwan Madhusanka · Co-founder
5 min read · Published
| Feature | SRT (SubRip, .srt) | WebVTT (.vtt) |
|---|---|---|
| File header | None, the file starts with cue number 1 | Must begin with the text WEBVTT |
| Cue numbers | A sequence number on every cue | Optional cue identifiers |
| Timestamp | 00:02:17,440 --> 00:02:20,375 with a comma before milliseconds | 00:02:17.440 --> 00:02:20.375 with a full stop; hours optional |
| Positioning | None in the basic format | Cue settings for vertical, line, position, size and align |
| Styling | YouTube recognises no style markup in SRT | CSS through ::cue in the specification; YouTube supports bold, italic and underline |
| Comments and extras | None | NOTE comment blocks, regions and metadata cues |
| Specification | Informal, defined by the players and tools that read it | W3C Candidate Recommendation Draft, 20 May 2026 |
A caption track in plain text
Open one in any text editor and the structure is obvious. The first line is a counter, 1, then 2, then 3. The second line is the time the text appears and the time it leaves, written as hours, minutes, seconds and milliseconds with an arrow between them. The next line or two is the text itself, and a blank line ends the entry. The Matroska documentation describes exactly these four parts when it explains how SubRip text is carried inside a video container. There is no header, no colour and no position, which is why the format is easy to write by hand and hard to break.
How players read it
A player loads the file beside the video, parses each entry, and draws the text whenever playback time falls between an entry's start and end. The video itself is untouched, which is why an SRT is a closed caption track: viewers can switch it off, and the file can be corrected and uploaded again without exporting the video. YouTube lists SubRip among its basic caption formats and recommends it for beginners, with three conditions worth noting: only the basic version is supported, no style markup is recognised, and the file must be plain UTF-8 text.
SRT vs VTT
WebVTT is the caption format written for web video, and its W3C specification was a Candidate Recommendation Draft dated 20 May 2026. It looks similar but is stricter and richer. The file must start with WEBVTT, timestamps use a full stop before the milliseconds, and hours can be left out. Each cue can carry settings that place it on screen: vertical text, line, position, size and alignment. The specification allows CSS styling through the cue pseudo element, NOTE blocks for comments, regions and metadata. Support for all that varies by platform. YouTube reads positioning in WebVTT but limits styling to bold, italic and underline.
When it matters
An SRT file is what you need when a platform draws captions itself. LinkedIn video ads accept captions only as SRT and ask that the file contain text alone, since custom formatting such as font colours is not supported. YouTube accepts SRT alongside many other formats. The file also matters for translation, because a translator can work on plain text and hand back a new track for the same video. And it matters for corrections: fixing a misspelled name in an SRT takes seconds, while fixing text burned into the picture means going back to the project and exporting the whole video again.
Common mistakes
Using a full stop instead of a comma before the milliseconds, or the reverse in a VTT file, is the classic one, and some platforms reject the whole file for it. Saving in a legacy encoding garbles accented letters, so save as UTF-8. Leaving out the blank line between entries merges two cues into one. Overlapping times make two captions fight for the screen. Renaming a .vtt file to .srt without converting its header and timestamps fails quietly. And re-editing the video after the captions were timed shifts every later line, so the track has to be retimed whenever a cut changes.
Where it shows up in the product
The video builder here does not produce an SRT or VTT file. Its captions are generated from each scene's narration text and burned into the picture during export, typing on as the line is spoken, so the words travel inside the MP4 rather than beside it. If a platform asks for a caption file, build one from the narration: copy each scene's line into its own entry and time it against the exported video in a caption editor. Before uploading that file, switch off the burned in captions on every scene and export again, or viewers will see the same words twice.
Questions people ask
How do I open or edit an SRT file?
Any plain text editor opens it, since the file is ordinary text with a different extension. Edit the lines you need, keep the numbering and timestamp layout exactly as it is, and save with UTF-8 encoding. Dedicated caption editors are easier for retiming, because they show each entry against the video, but they are not required for correcting a word or two.
Can one SRT file hold several languages?
Not in any useful way. Platforms treat each caption file as one language, and viewers choose a track from the player menu. For a second language, duplicate the file, translate the text lines while keeping every number and timestamp unchanged, and upload it as a separate track labelled with that language. The shared timing is what makes the translated track line up.
Is SRT or VTT better for YouTube?
Both are accepted. SRT is the simpler choice when all you need is the words at the right time, and YouTube recommends it for beginners. WebVTT is worth the extra care when a caption must move, for example to avoid covering on screen text, since YouTube supports its positioning. Neither format gives you full control of fonts or colours there.
Why are my captions out of sync?
Usually because the video changed after the captions were timed, such as a trimmed intro that shifts every later cue. Other causes are a timestamp typo on one entry or a file timed against a different cut. If every line is late or early by the same amount, a caption editor can shift the whole track at once instead of retiming entries one by one.
Does an SRT file change the video file?
No. The video stays exactly as exported, and the SRT sits beside it as a separate track that the player reads. That is the whole advantage: the captions can be corrected, translated or removed without touching the video. The only way to put SRT text permanently into the picture is to render it in, which turns it into burned in captions.
Make one with videos
The button opens the generator with this use case already described. Change the wording to match your own.
Create a video with OneCraftRelated questions
- Burned in captions vs closed captions: what is the difference?Burned in captions vs closed captions: text in the picture versus a track viewers can switch off. How each works, where each fits, and the mistakes to avoid.
- Subtitles vs captions: what is the difference?Subtitles vs captions vs SDH: translation, transcription and sound description compared, with the UK and US naming differences and the mistakes to avoid.
- MP4 vs MOV vs WebM: which video file should you use?MP4 vs MOV vs WebM: how the three video containers differ in origin, codecs and playback support, and which one to use for editing, uploading and the web.
Step by step in the builder: Add voiceover, captions and music to a video.
Written and checked by the OneCraft team. Last checked .