Verified July 2026

What Is an SRT File? Format, Origins, and How to Use One

An SRT file (SubRip Subtitle) is a plain-text file that stores captions synced to a video via timestamps. It's the universal subtitle format — supported by YouTube, Premiere, DaVinci Resolve, CapCut, VLC, and virtually every video editor and platform.

Key takeaways

  • SRT = SubRip Subtitle. A plain-text file that stores captions and their timestamps, synced to a video. One of the simplest and most universal subtitle formats.
  • 4-part structure per cue. Sequence number → timecode line (HH:MM:SS,mmm --> HH:MM:SS,mmm) → caption text (1-2 lines) → blank line. Save with .srt extension and UTF-8 encoding.
  • Origin: SubRip DVD ripper (2001-2002). Created by French programmer Zuggy as an extraction format for SubRip, a Windows tool that ripped DVD subtitle streams into plain text.
  • Universal support. YouTube, Premiere, DaVinci Resolve, CapCut, Final Cut, VLC, Vimeo, and virtually every subtitle-aware platform accepts SRT.
  • Open with any text editor. Notepad, TextEdit, VS Code. To view with a video: put SRT in the same folder as the video with matching filenames (VLC auto-loads), or upload separately in YouTube Studio.
  • SRT vs VTT: comma vs period. SRT uses a comma before milliseconds (00:01:23,500); VTT uses a period. VTT adds styling; SRT is styling-free. For most creator work, SRT is the right default.

SRT file definition

An SRT file is a plain-text subtitle file that stores captions and their timing information for a video. The file has a .srt extension, contains no styling or formatting markup, and works by pairing each caption with a pair of timestamps — a start time and an end time — that tell the video player when to show the caption on screen.

SRT stands for SubRip Subtitle. The name comes from SubRip, a Windows tool developed in the early 2000s to rip subtitles out of DVD video streams. SubRip extracted the subtitle text and its timestamps into a simple text file — and that text file format became the SRT standard we still use two decades later.

The format is intentionally minimal. There is no header, no metadata, no fonts, no colors, no positioning — just the caption text and when to show it. This simplicity is what made SRT universal: every subtitle-aware software can parse it, and any text editor can create or edit one. More sophisticated formats (WebVTT, TTML, SSA/ASS) exist for cases that need styling — but SRT covers roughly 90% of subtitle workflows.

SRT file anatomy

Each caption cue in an SRT file has exactly four parts:

  1. Sequence number — an integer starting at 1, incremented for each cue.
  2. Timecode line — in the format HH:MM:SS,mmm --> HH:MM:SS,mmm. The comma before milliseconds is the SRT rule (VTT uses a period).
  3. Caption text — one or two lines of the actual caption. Industry standard: 32-42 characters per line, max 2 lines.
  4. Blank line — separates this cue from the next.

Working example (3 cues)

1
00:00:00,000 --> 00:00:03,500
Welcome to the tutorial.

2
00:00:03,500 --> 00:00:07,200
Today we're looking at the
SRT subtitle file format.

3
00:00:07,200 --> 00:00:11,000
The format is simple — the
quirks are where the file breaks.

Copy this into any text editor, save as example.srt with UTF-8 encoding, and it's a valid SRT file you can drag onto VLC or upload to YouTube Studio.

That's the entire specification. There's no schema, no XML, no styling — just number, timecode, text, blank line, repeat. For the step-by-step on creating one yourself (or generating with AI), see how to create an SRT file.

Origin — where SubRip came from

The SRT format was born inside a Windows utility called SubRip, developed by a French programmer known online as Zuggy. SubRip appeared around 2001-2002 as a tool for DVD enthusiasts who wanted to extract the subtitle track from a DVD as editable text — typically for translation into another language or for re-mastering.

DVDs stored subtitles as bitmap images embedded in the video stream (a format called VobSub or DVDsub), not as searchable text. SubRip used optical character recognition (OCR) to convert those subtitle bitmaps into plain text, pairing each caption with the timecodes it was displayed at on the DVD. The output format — the .srt file — was a straightforward plain-text listing designed to be human-readable and easy for other software to parse.

Two things happened next. First, SubRip stopped being widely used as DVDs faded into obsolescence — the last SubRip releases were in the mid-2000s. Second, the SRT format outgrew its origin tool. Because it was simple, text-based, and had no license restrictions, other subtitle software adopted SRT as an interchange format. By the late 2000s, SRT was the de facto standard for exchanging subtitles between programs. By the 2010s, YouTube supported SRT uploads, video editors like Premiere and Avid parsed it, and open-source projects like VLC treated it as a first-class citizen.

Today the SubRip tool itself is a historical artifact — but the SRT format it created is what nearly every video subtitle workflow depends on. It's a good example of how the simplest format often wins over the most sophisticated one.

What SRT files are used for

The six common workflows for SRT files in 2026:

YouTube subtitle upload

YouTube Studio → Subtitles → Add language → Upload file. Uploaded SRT files are indexed by YouTube for search — better SEO than relying on YouTube's auto-captions.

Video editor caption tracks

Premiere, DaVinci Resolve, Final Cut, CapCut all import SRT as a subtitle or caption track. Import → drag onto timeline.

HTML5 web video (via VTT conversion)

The HTML5 <track> element officially requires WebVTT — but SRT converts trivially to VTT (change commas to periods in timecodes, prepend WEBVTT header). Free tools handle this.

Accessibility compliance

WCAG 2.1 Level A requires captions on prerecorded video. An uploaded SRT satisfies this for creators self-publishing on YouTube, Vimeo, and self-hosted platforms.

Translation localization

One SRT per language (movie.en.srt, movie.es.srt, movie.fr.srt). Platforms like YouTube and Vimeo present a language picker to viewers based on the uploaded files.

Archive and search

SRT files stored alongside video files make the video content searchable. Podcast networks, news organizations, and courseware providers archive SRT files with every video.

SRT vs VTT vs ASS vs SCC vs TTML

SRT is one of several subtitle formats — each optimized for a different delivery context. Here's where each fits.

SRT (SubRip)

~2001-2002

Timecode

HH:MM:SS,mmm (comma)

Styling

None

Supports: YouTube, Premiere, DaVinci, CapCut, VLC, virtually every platform

Best for: Universal subtitle delivery, YouTube uploads, video editor timelines

WebVTT (.vtt)

2010 (W3C standard)

Timecode

HH:MM:SS.mmm (period)

Styling

CSS-like styling, positioning, cue metadata

Supports: HTML5 <track> element, modern web video

Best for: HTML5 web video with styling needs, browser-native subtitles

SSA / ASS

SSA 1998, ASS 2003 (Advanced SubStation Alpha)

Timecode

H:MM:SS.cc (centiseconds)

Styling

Full styling — fonts, colors, positions, karaoke effects

Supports: Aegisub, MPV, VLC, anime players

Best for: Anime fansubs, karaoke, precise styling control

SCC (Scenarist)

1990s (US broadcast)

Timecode

Binary CEA-608 encoding

Styling

Broadcast-specific (position, italics, colors)

Supports: US broadcast delivery pipelines, professional caption software

Best for: US FCC-compliant broadcast captions

TTML / IMSC1.1

TTML 2010, IMSC 2016 (W3C)

Timecode

XML-based, multiple options

Styling

Extensive XML styling model

Supports: Netflix, streaming OTT delivery

Best for: Streaming platform delivery (Netflix uses IMSC1.1)

Practical rule of thumb: SRT for almost everything. Switch to VTT specifically for HTML5 web video with the <track> element. Use ASS for karaoke or precise styling control (anime fansubs). Use SCC or TTML/IMSC only if you're shipping to US broadcast or Netflix respectively. For the deeper legal and accessibility framing around when captions and subtitles are required, see captions vs subtitles.

How to open an SRT file

SRT files are plain text — any text editor opens them.

Text editors (any OS)

  • Notepad (Windows built-in)
  • TextEdit (Mac built-in — use Format → Make Plain Text first)
  • VS Code (cross-platform, free)
  • Sublime Text (cross-platform)
  • gedit (Linux)
  • vim, nano (terminal-based)

Subtitle editors (proper tools)

  • Subtitle Edit (Windows, free, MIT license) — best all-around SRT editor with waveform sync and syntax checking
  • Aegisub (cross-platform, free, BSD license) — advanced timing and ASS support, originally built for anime fansubs
  • Jubler (Java, free) — cross-platform alternative

If double-clicking an SRT launches a media player instead of a text editor, that's because the player is trying to load the SRT as a subtitle track for a video. To edit the SRT itself, right-click → Open With → choose a text editor. On Windows, you can permanently associate .srt with your preferred text editor via Settings → Apps → Default apps → Choose defaults by file type.

View an SRT with your video

Three common workflows for pairing an SRT file with the video it belongs to:

1. VLC media player (fastest)

Put the SRT file in the same folder as your video and give both the same base filename — e.g., movie.mp4 + movie.srt. VLC auto-loads the SRT when you open the video.

Alternatively, open the video in VLC first, then drag the .srt file onto the VLC window while it plays. VLC will attach the subtitles immediately.

2. YouTube Studio upload

In YouTube Studio → Content → click your video → Subtitles → Add language → pick the language → Add → Upload file → Choose "With timing" → select your .srt file → Publish. YouTube indexes the SRT text for search — uploading a proper SRT gives better SEO than relying on auto-captions.

3. Video editors (Premiere, DaVinci, Final Cut, CapCut)

File → Import → select your .srt → drag from the Project panel onto a Caption or Subtitle track above your video timeline. All major editors convert the SRT into their internal caption format on import. See how to add subtitles to video for platform-specific step-by-step.

How to create an SRT file

Three creation paths, ordered fastest to slowest:

1. AI generation (fastest — 5-15 minutes per video hour)

Upload the audio or video to a modern AI transcription tool — VexaScribe, Descript, Rev AI, or comparable. Whisper Large-v3 (or a similar model) produces the timestamps automatically at 90-95% accuracy on clean audio. Fastest path for anything longer than 5 minutes. Best when you have the recording and want a ready-to-use SRT quickly.

2. Free desktop tools (medium — 30-60 minutes per video hour)

Subtitle Edit (Windows) or Aegisub (cross-platform) give you a proper subtitle editor with waveform sync, syntax checking, and reading-speed enforcement. Both are free and open source. Best when you want free tools with professional control, or you're translating existing captions manually.

3. Manual in a text editor (slowest — 2-4 hours per video hour)

Type the SRT format directly in Notepad, TextEdit, or VS Code. Zero cost, deep control, but very slow. Best only for tiny files (under 5 minutes) or when you specifically want to learn the format hands-on.

For step-by-step instructions with copyable examples for each method — including common errors (comma vs period timecode, UTF-8 encoding, blank line requirement) and how to attach the SRT to YouTube, Premiere, and DaVinci — see how to create an SRT file.

Common SRT quirks that trip people up

Four things that break SRT files in practice:

Comma vs period in timecodes

SRT uses a comma before milliseconds (00:01:23,500). VTT uses a period (00:01:23.500). Getting this wrong is the #1 way SRT files break in most players — they either silently fail or display nothing.

UTF-8 encoding

Windows Notepad's default (ANSI / Windows-1252) breaks accented characters, non-Latin scripts, and emoji. Always save with UTF-8 encoding. Notepad: File → Save As → Encoding: UTF-8. VS Code uses UTF-8 by default.

Blank line between cues

The blank line separator is what tells the parser where one cue ends and the next begins. Missing blank lines make the whole file unparseable — the parser sees one giant broken cue.

Lowercase .srt extension

Case-sensitive filesystems (macOS, Linux, some cloud storage) treat .SRT and .srt as different files. Windows hides extensions by default, so a file that looks like captions.srt may actually be captions.srt.txt. Enable "Show file extensions" in your file explorer settings before saving.

For the full common-errors list with fixes, see how to create an SRT file.

Frequently asked questions

What does SRT stand for?

SRT stands for SubRip Subtitle. The format takes its name from SubRip, a Windows-based DVD subtitle-ripping tool developed by the French programmer Zuggy in the early 2000s. The tool extracted subtitles from DVD video streams into a plain-text format — that plain-text format became known as the SRT file. Two decades later, the format has outlived SubRip itself as the universal standard for subtitle files across YouTube, video editors, and streaming platforms.

How do I open an SRT file?

Any text editor. SRT files are plain text — Notepad on Windows, TextEdit on Mac, VS Code, Sublime, gedit, or vim will open one. If you double-click an SRT file and it launches in a media player instead, the player is trying to attach the subtitles to a video (VLC does this). To edit the SRT text itself, right-click → Open With → choose a text editor. For proper editing with sync verification and syntax help, use Subtitle Edit (Windows, free) or Aegisub (cross-platform, free).

How do I play a video with an SRT file?

Three common paths. (1) VLC: put the .srt file in the same folder as your video and give both the same filename (e.g., movie.mp4 + movie.srt) — VLC auto-loads the SRT. Or drag the .srt file directly onto the VLC window while the video plays. (2) YouTube: in YouTube Studio, click your video → Subtitles → Add language → Upload file → select the .srt with "With timing". (3) Video editors (Premiere, DaVinci Resolve, Final Cut): File → Import → select the SRT → drag onto a caption or subtitle track above your video.

What's the difference between SRT and VTT?

SRT (SubRip) and VTT (WebVTT) are close cousins with three key differences. (1) Timecode separator: SRT uses a comma before milliseconds (00:01:23,500); VTT uses a period (00:01:23.500). (2) Styling: SRT supports no styling; VTT supports basic CSS-like styling, positioning, colors, and cue metadata. (3) Delivery context: SRT is universal — YouTube, Premiere, DaVinci, CapCut, VLC all accept it. VTT is the W3C standard for HTML5 web video via the <track> element and is preferred for browser-native subtitle delivery. For most creator workflows, SRT is the right default; switch to VTT specifically for HTML5 web video with styling needs.

What's the SRT file format structure?

Each caption cue has four parts: (1) a sequence number starting at 1, (2) a timecode line in HH:MM:SS,mmm --> HH:MM:SS,mmm format, (3) the caption text on one or two lines, and (4) a blank line separating cues. Example: "1\n00:00:00,000 --> 00:00:03,500\nWelcome to the tutorial.\n\n2\n00:00:03,500 --> 00:00:07,200\nToday we're building an SRT file." Save with .srt extension and UTF-8 encoding. See how to create an SRT file for the full step-by-step.

Can I convert SRT to VTT?

Yes, easily. VTT is essentially SRT with two syntax changes: replace commas with periods in timecodes, and add "WEBVTT" as the first line of the file. Manual conversion: open the SRT in a text editor, use find-and-replace to change every "," in timecodes to ".", prepend "WEBVTT" plus a blank line at the top, save as .vtt. Automated conversion: Subtitle Edit → File → Save as → WebVTT (.vtt). Same content, different format, same accessibility outcome.

Are SRT files case-sensitive or extension-sensitive?

The .srt extension must be lowercase for most players and platforms. The internal content is not case-sensitive per se — cue text can use any case — but timecodes must follow the exact HH:MM:SS,mmm format. Files with .SRT (uppercase) may fail on macOS and Linux which are case-sensitive filesystems. When saving, always use lowercase .srt and confirm the extension is really there (Windows and Mac hide extensions by default — enable "Show file extensions" in your file explorer settings).

What character encoding should an SRT file use?

UTF-8. This is the most common source of broken SRT files: Notepad on Windows defaults to ANSI (Windows-1252), which fails on accented characters (é, ñ, ü), non-Latin scripts (Japanese, Arabic, Cyrillic), or emoji. YouTube, Premiere, DaVinci, VLC, and every modern platform expect UTF-8. In Notepad: File → Save As → Encoding: UTF-8. In TextEdit on Mac: Format → Make Plain Text before saving. VS Code uses UTF-8 by default. Subtitle Edit and Aegisub always write UTF-8.

Can SRT files include multiple languages?

Not in the same file. SRT is a single-language format — one SRT per language track. For multi-language subtitles, produce one .srt per language (movie.en.srt, movie.es.srt, movie.fr.srt) and let the platform (YouTube Studio, Netflix, Vimeo) present the language menu to viewers. YouTube auto-detects the language from the filename convention (video.srt for default, video_es.srt for Spanish). For a single file that supports multiple languages simultaneously with more sophisticated styling, use TTML/IMSC or SSA/ASS.

How do I create an SRT file?

Three paths, ordered fastest to slowest. (1) AI generation — upload audio or video to VexaScribe, Descript, or Rev AI; Whisper Large-v3 produces a valid SRT in minutes at 90-95% accuracy. Fastest for anything longer than 5 minutes. (2) Free desktop tools — Subtitle Edit (Windows) or Aegisub (cross-platform) let you time captions manually against a waveform view; 30-60 minutes per video hour. (3) Manual in a text editor — type the format in Notepad, save with UTF-8 encoding; 2-4 hours per video hour. See how to create an SRT file for full step-by-step with each method.

Related guides

Need an SRT file for your video?

Skip the manual work — upload your audio or video and get a Whisper-generated SRT in minutes. 30 minutes free at signup, no credit card.