What Is an SRT File? Format, Rules and How to Make One
SRT cue anatomy, how to build a file from plain text, SRT vs VTT, Netflix's 42-character and 20 characters-per-second limits, and 9 errors to check.
An SRT file is a plain text subtitle file. It holds numbered cues, and each cue has a start time, an end time and the words to show, so any player or platform that reads it can display captions in sync with the video. It opens in Notepad or TextEdit, and it is one of the two basic formats YouTube recommends to people making caption files for the first time.
The format comes from SubRip, a program first released in March 2000, and it has lasted because there is so little to it. Broken SRT files tend to fail on the same few details: a period where the comma belongs, a missing blank line, or the wrong text encoding.
Anatomy of an SRT cue
- Line 1, the counter: 1. Cues are numbered in sequence, starting at 1.
- Line 2, the timecode: 00:00:01,000 --> 00:00:03,200. Start time, a space, an arrow made of two hyphens and a greater-than sign, a space, end time.
- Line 3, the text: Record one take on your phone. A second text line is allowed when the caption is long.
- Last line: empty. The blank line closes the cue, and the next cue starts with 2.
The timecode is hours:minutes:seconds,milliseconds, with two zero-padded digits per time unit and exactly three for the fraction, so half a second is ,500 and never ,5. The comma before the milliseconds is the most visible difference from WebVTT. Unofficially, SRT supports HTML-style bold, italic, underline and font colour tags, but YouTube does not recognise formatting in basic formats like SRT. There is no official encoding either, which is why YouTube spells out that it wants UTF-8.
How to make an SRT file from plain text
- Split the text into captions, one per line, at or under 42 characters. Break after punctuation or before a conjunction or preposition, never between an article and its noun.
- Paste the lines into the free TXT to SRT converter. Each line becomes a numbered cue timed to reading speed, and the conversion runs in your browser.
- Match the timings to the speech. The converter places cues back to back from zero, so move each start time to the moment the words are spoken.
- Save as plain text with the .srt extension and UTF-8 encoding. In TextEdit on a Mac, choose Format, Make Plain Text first.
- Load the file with the video in a player and watch it through to the end.
YouTube has a shortcut. YouTube Studio lets you upload a caption file without timing, or paste the words into auto-sync, and lines the text up with the audio. The language must be supported by YouTube's speech recognition, and YouTube does not recommend it for videos over an hour or with poor audio. To go the other way, the SRT to TXT converter strips numbers and timecodes and leaves a clean transcript for a description or an article.
Line length and timing rules worth copying
Streaming services publish detailed caption rules, and Netflix's are public. Its English (USA) Timed Text Style Guide and general requirements set these limits:
| Rule | Netflix limit | What it means in practice |
|---|---|---|
| Characters per line | 42 | Two full lines hold up to 84 characters |
| Lines per caption | 2 maximum | Stay on one line unless the text goes over the limit |
| Reading speed, adult content | Up to 20 characters per second | A full 84-character caption needs at least 4.2 seconds |
| Reading speed, children's content | Up to 17 characters per second | The same 84 characters need about 5 seconds |
| Minimum duration | 5/6 of a second | 20 frames at 24 fps |
| Maximum duration | 7 seconds | Split a longer sentence into two cues |
A 9:16 frame is narrow, so at a readable caption size fewer than 42 characters may fit on one line. Treat 42 as the upper bound and test your caption size first. If lines look cramped, see our notes on the best font for subtitles.
SRT vs VTT vs burned-in captions
| Property | SRT | WebVTT (.vtt) | Burned-in captions |
|---|---|---|---|
| What it is | Plain text cues in a separate file | Plain text cues in a separate file, opening with a WEBVTT header | Text rendered into the video pixels |
| Timestamp | 00:00:01,000 (comma) | 00:01.000 or 00:00:01.000 (period, hours optional) | None, the text is part of the picture |
| Encoding | No official standard; YouTube requires UTF-8 | Must be UTF-8 | Not applicable |
| Styling and position | Unofficial tags, ignored by YouTube | Cue settings for position and size, CSS styling via ::cue | Whatever your editor can draw |
| Viewer can switch off | Yes | Yes | No |
| Typical use | YouTube uploads, desktop players, video editors | HTML5 video on your own site | Short vertical video in social feeds |
Converting between the two file formats is mechanical: add the WEBVTT header, swap the commas for periods, keep the cues. The SRT to VTT converter does it in one step, and the VTT to SRT converter reverses it for editors and players that only read SRT.
Short-form apps work differently. TikTok's documented route is auto captions: you select them on the editing page after recording or uploading, then edit the generated text. Viewers can set in-app captions to off from the share panel, so a caption that must be visible to everyone has to be burned into the video before you post. Our guide to auto captions covers how accurate the automatic versions are.
Errors that break subtitle files
- A period in the timecode. 00:00:01.000 is WebVTT syntax; SRT needs a comma.
- Short milliseconds: ,5 or ,50 instead of ,500.
- No blank line between cues, so two cues are read as one.
- Counter and timecode on the same line. Number, timecode and text each need their own line.
- Overlapping times: a cue starts before the previous one has ended.
- Wrong encoding. A legacy code page turns accented and non-Latin letters into garbage, and YouTube asks for UTF-8.
- A hidden extension. subtitles.srt.txt looks right when extensions are hidden, but the platform sees a text file.
- Rich text saved from a word processor, full of formatting codes a subtitle parser cannot read.
- A renamed file. Changing .srt to .vtt without converting leaves no WEBVTT header and commas in the timecodes.
Where Monty fits
For short vertical video, Monty handles captions without a separate file. It renders kinetic captions synced to speech into the video, in caption styles matched to your brand, and can add subtitles in other languages. The finished video is cut and captioned for each platform and posted to YouTube Shorts, Instagram Reels, TikTok and Telegram, so there is no .srt to export, convert or break.
If you need a standalone .srt or .vtt for a long YouTube video, a course or a player on your own site, use the free converters above. They run in the browser and need no account.
Filming from a script? Use the free online teleprompter: paste the text, scroll it on any phone, no sign-up.
FAQ
What is an SRT file used for?
It stores subtitles as plain text: numbered cues, each with a start time, an end time and the words to show. Video players and platforms such as YouTube read it alongside the video, so viewers can turn the captions on or off.
How do I open or edit an SRT file?
Any plain text editor opens it: Notepad on Windows, or TextEdit on a Mac in plain-text mode. To watch it with the video, load the .srt as a subtitle track in a player that supports subtitles, or upload it in YouTube Studio.
What is the difference between SRT and VTT?
WebVTT opens with a WEBVTT header, uses a period before the milliseconds, allows the hours to be left out, must be UTF-8 and supports positioning and CSS styling. SRT uses a comma, has no header and no official styling. YouTube accepts both.
Can I upload an SRT file to TikTok?
TikTok's documented route is auto captions generated and edited inside the app, and viewers can switch those captions off. If the text must always be visible, burn the captions into the video before posting. An SRT file is still a useful source to burn them from.
Why do my SRT subtitles show up wrong?
Check three things: the file is saved as UTF-8 plain text with a real .srt extension, every timecode uses a comma before three-digit milliseconds, and each cue is separated from the next by a blank line.
Sources
- 1.YouTube Help: Supported subtitle and closed caption files
- 2.YouTube Help: Add subtitles and captions
- 3.Netflix: English (USA) Timed Text Style Guide
- 4.Netflix: Timed Text Style Guide, General Requirements
- 5.MDN: Web Video Text Tracks Format (WebVTT)
- 6.Wikipedia: SubRip
- 7.TikTok Newsroom: Introducing auto captions
Hey Monty. Make me a reel.
Try Monty freeKeep reading
Upload Reels and Shorts without losing quality: the export settings
Why platforms blur your videos, the official YouTube, Instagram and TikTok specs, iPhone and Android settings, CapCut export presets and an upload checklist.
Video Editing Cost Per Minute in 2026: Rates, Hours, Math
Per-finished-minute and hourly video editing rates from Upwork, BLS and 2026 industry guides, how many editing hours hide in one minute, and a worked monthly budget for a YouTube creator.
How to edit talking head videos: a pass-by-pass guide
Cut pauses over 0.5 seconds, change the frame about every 4 seconds, keep music 20 dB under your voice. The full edit order for talking-head shorts.
More in this category
- How to read a teleprompter naturally: 4 tells to fix
- Captions in low-resource languages: the accuracy gap
- Vertical video safe zones, in pixels
- Social video specs in 2026: one export that fits every feed
- Reel covers and Shorts thumbnails: designed for the crop
- Filming reels on a phone: what matters and what does not