SRT Format: Syntax, Annotated Example & Common Errors
SRT is the world's most widely used subtitle format — but knowing the timecode syntax is the easy part. This page gives you a complete annotated .srt example you can copy, the errors that silently break SRT files (comma vs period, BOM, overlapping cues), and free tools to generate a valid SRT from any video.
Definition
SRT, which stands for SubRip Subtitle, is a plain-text file format used to store timed subtitle and caption data separately from a video file. Developed alongside the SubRip software used to extract (or 'rip') subtitles from DVDs, SRT has become the most universally supported subtitle format across video players, streaming platforms, and editing tools. An SRT file is a simple text document (saved with the .srt extension) organized into numbered caption blocks. Each block contains three elements: a sequential index number, a timecode range specifying when the subtitle should appear and disappear (formatted as HH:MM:SS,mmm --> HH:MM:SS,mmm), and one or more lines of caption text. Blocks are separated by blank lines. A COMPLETE ANNOTATED EXAMPLE Here is a complete, valid .srt file you can copy into any text editor, save as captions.srt, and load into VLC or upload to YouTube: 1 00:00:01,000 --> 00:00:04,200 Welcome back to the show. 2 00:00:04,400 --> 00:00:07,850 Today we're talking about subtitle files and why they break. 3 00:00:08,100 --> 00:00:11,500 The format is simpler than you think. Reading block 2 line by line: '2' is the sequential index (1, 2, 3... with no gaps). '00:00:04,400 --> 00:00:07,850' means the caption appears at 4.4 seconds and disappears at 7.85 seconds — hours:minutes:seconds,milliseconds, with a COMMA before the milliseconds and the arrow written exactly as space, two hyphens, greater-than, space. The next one or two lines are the caption text itself (two lines maximum is the convention for readability). A single blank line ends the block. Note that block 2 ends at 07,850 and block 3 starts at 08,100 — cues must not overlap. COMMON SRT ERRORS (AND HOW TO FIX THEM) Comma vs period in milliseconds: SRT requires a comma before milliseconds (00:00:04,400). WebVTT uses a period (00:00:04.400). This is the single most common breakage: export a VTT-style file with periods, rename it .srt, and strict parsers — including some social platforms and editing tools — will reject every cue or shift timing. If your 'SRT' has periods in the timecodes, it is not a valid SRT. BOM and encoding issues: files saved as 'UTF-8 with BOM' start with three invisible bytes that some players read as garbage attached to the first index number, causing the first caption — or the whole file — to fail parsing. Save as plain UTF-8 without BOM. Using old encodings like ANSI/Latin-1 instead of UTF-8 corrupts accented characters and non-Latin scripts into mojibake. Overlapping or backwards timecodes: each cue's end time must be after its start time, and the next cue should start at or after the previous cue's end. Overlaps make some players drop cues or stack captions on top of each other, and most subtitle editors flag them as errors. Formatting slips that break parsing: a missing blank line between blocks merges two cues into one; a malformed arrow (-> or —> instead of -->) invalidates the cue; skipped or duplicated index numbers confuse strict parsers; and a wrong extension (.txt saved by a text editor as captions.srt.txt) makes platforms refuse the upload entirely. GENERATE A VALID SRT FROM ANY VIDEO, FREE You rarely need to hand-write SRT files. OpenClip's free in-browser tools produce correctly formatted SRT output from any video with just an account: the Transcribe Video to Text tool (openclip.app/tools/transcribe-video-to-text) turns a video's audio into a transcript with word-level timestamps and exports it as a clean .srt, and the Auto Captions tool (openclip.app/tools/auto-captions) generates timed captions you can download as SRT or burn directly into the video as styled captions. Both handle the timecode syntax, encoding, and cue spacing automatically, so the errors above never happen. WHY SRT REMAINS THE STANDARD Because SRT is plain text with no proprietary encoding, it can be created and edited in any text editor and is readable by humans without special software. This simplicity is a major reason for its dominance — virtually every platform that supports external subtitles accepts SRT, including YouTube, Facebook, LinkedIn, Vimeo, VLC, and most non-linear editing software like Premiere Pro, Final Cut Pro, and DaVinci Resolve. SRT files are external to the video — they are separate files delivered alongside the video rather than baked into the frames. This means viewers or platforms can choose to display them or not, and the same video can have multiple SRT files for different languages. However, it also means SRT captions are generally displayed in the platform's default font and style with limited visual customization compared to burned-in captions. For AI-driven workflows, SRT files are a common output of speech-to-text and video transcription engines. Creators can generate an SRT file from a long-form video, upload it to YouTube for closed captions, or import it into an editing tool to burn in stylized captions for social clips.
Related Terms
Features
Copy-Paste Ready Example
A complete annotated .srt file you can copy into a text editor, save, and load into VLC or YouTube — every line of the syntax explained, including the comma-millisecond timecodes.
Generate an SRT Free
OpenClip's free browser tools — Transcribe Video to Text and Auto Captions — turn any video into a correctly formatted .srt with word-level timing, no subscription required.
Common Error Checklist
The failures that silently break SRT files: period-instead-of-comma milliseconds, UTF-8 BOM headers, overlapping cues, malformed arrows, and missing blank lines between blocks.
Universal Platform Support
SRT is accepted by YouTube, Facebook, LinkedIn, Vimeo, VLC, and virtually every professional video editing application, making it the safest choice for cross-platform subtitle delivery.
Multi-Language Flexibility
Because SRT files are external to the video, a single video can be paired with multiple SRT files in different languages — enabling easy localization without re-encoding the video itself.
Timecode-Based Sync
Every caption block includes precise start and end timecodes down to the millisecond, ensuring subtitle text appears and disappears exactly when intended during playback.
Frequently Asked Questions
Skip the Hand-Written SRT Entirely
Generate a correctly formatted SRT from any video with OpenClip's free transcription and auto-caption tools — or let OpenClip burn word-level styled captions straight into your clips.