---
title: 'SRT Format: Timecode Syntax, Full Example & Common Errors - OpenClip'
description: 'A complete annotated .srt example, the comma-vs-period timecode gotcha, BOM and overlap fixes that make players reject files — plus free tools to generate an SRT from any video.'
canonical: 'https://openclip.app/learn/srt-format'
markdown: 'https://openclip.app/learn/srt-format.md'
---

Subtitle File Basics

# 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](/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](/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

[Vtt Format](/learn/vtt-format) [Burned In Captions](/learn/burned-in-captions) [Closed Captions Vs Subtitles](/learn/closed-captions-vs-subtitles) [Ai Captioning](/learn/ai-captioning) [Speech To Text](/learn/speech-to-text) [Video Transcription](/learn/video-transcription) [Timecode](/learn/timecode) [Caption Styling](/learn/caption-styling) [Caption Presets](/learn/caption-presets) [Speaker Diarization](/learn/speaker-diarization)

## 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

### What does an SRT file look like?

An SRT file is a plain-text document with numbered caption blocks. Each block has an index number on the first line, a timecode range on the second line (e.g., 00:00:04,200 --> 00:00:07,800 — note the comma before the milliseconds), and the caption text on the following line(s). Blocks are separated by a blank line. The complete annotated example on this page is a valid file you can copy, save as captions.srt, and use immediately.

### Why is my SRT file not working?

The usual suspects, in order of likelihood: periods instead of commas before the milliseconds (that's VTT syntax, not SRT), the file saved as UTF-8 with BOM so the first cue fails to parse, a malformed arrow (it must be exactly -->), missing blank lines between caption blocks, overlapping timecodes, or the file actually being named captions.srt.txt by your text editor. Fixing the comma and re-saving as plain UTF-8 without BOM resolves most rejections.

### Does SRT use commas or periods in timecodes?

Commas. A valid SRT timecode is 00:01:23,456 — hours, minutes, seconds, then a comma before the three millisecond digits. Periods (00:01:23.456) belong to the WebVTT format. Many players tolerate the mix-up, but strict parsers on social platforms and in editing software reject it, which is why a 'working' SRT can fail the moment you upload it somewhere new.

### How do I create an SRT file from a video for free?

Use OpenClip's free in-browser tools — no subscription needed, just an account. The Transcribe Video to Text tool ([openclip.app/tools/transcribe-video-to-text](/tools/transcribe-video-to-text)) transcribes any video with word-level timestamps and exports a clean .srt, and the Auto Captions tool ([openclip.app/tools/auto-captions](/tools/auto-captions)) generates timed captions you can download as SRT or burn into the video as styled captions. Both handle timecode syntax, encoding, and cue spacing automatically.

### What is the difference between SRT and VTT formats?

SRT and VTT are both plain-text subtitle formats with similar structures, but VTT (WebVTT) is designed for web-based video playback via the HTML5 <track> element and supports extra styling features like positioning, alignment, and CSS-based styling. The most practical difference: SRT uses commas as millisecond separators while VTT uses periods, and VTT files start with a WEBVTT header line. VTT is preferred for web video; SRT has broader support across desktop players and social platforms.

### Can I upload an SRT file to YouTube?

Yes. YouTube accepts SRT files as closed captions. You can upload an SRT file in YouTube Studio under the 'Subtitles' section of any video, and YouTube will display those captions to viewers who have captions enabled. YouTube also auto-generates its own captions, but uploading a corrected SRT file gives you full control over accuracy.

### How is an SRT file different from burned-in captions?

An SRT file is a separate text document that sits alongside a video — captions are displayed by the player or platform when the file is loaded. Burned-in captions are permanently rendered into the video frames and are always visible regardless of player. SRT files are toggleable and styleable by the platform, while burned-in captions offer full visual control but cannot be changed after export.

### Does SRT support styling like bold or italic text?

SRT has limited, informal support for basic HTML-style tags like <b> for bold, <i> for italic, and <u> for underline. However, support for these tags varies across players and platforms — many ignore them entirely. For reliable visual styling of captions, burned-in captions or VTT with CSS styling are better options.

## 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.

[Get Started Free](https://openclip.app/register)

## Related Pages

### Use Cases

[Legal Deposition Clips for Trial Prep](/use-cases/legal-deposition-clips) [Add AI Captions to YouTube Videos Automatically](/use-cases/add-captions-to-youtube) [Create Social Media Clips from Long Videos](/use-cases/create-social-media-clips) [Accessible Video Captions for Inclusive Content](/use-cases/accessibility-captioning)

### Glossary

[Caption Styling for Video: Fonts, Colors & More](/learn/caption-styling) [AI Captioning: Automated Video Subtitles](/learn/ai-captioning) [Burned-In Captions: What They Are](/learn/burned-in-captions) [Closed Captions vs Subtitles: Key Differences Explained](/learn/closed-captions-vs-subtitles) [Timecode in Video Production | OpenClip Glossary](/learn/timecode) [VTT Format: WebVTT Captions Explained](/learn/vtt-format)

### Who It's For

[OpenClip for Podcasters | AI Podcast Clip Creator](/for/podcasters) [OpenClip for YouTubers | AI Video Clip Generator](/for/youtubers) [OpenClip for Social Media Managers | AI Video Repurposing](/for/social-media-managers)

### Templates

[TikTok Caption Template | AI Auto-Captions for Viral Videos](/templates/tiktok-caption-template) [Text Overlay Template for Short Clips](/templates/text-overlay-template)

### Examples

[YouTube to Shorts Converter | Turn Videos into Shorts](/examples/youtube-to-shorts) [Turn Podcasts into Viral Clips](/examples/podcast-to-clips)

### Integrations

[Export Clips to Facebook | OpenClip Integration](/integrations/facebook) [TikTok Integration for OpenClip | Export Viral Clips](/integrations/tiktok)
