How to Create an SRT File: A Complete Guide
SRT files are one of the simplest, most universally supported subtitle formats in existence — and creating one is well within reach for anyone comfortable editing a plain text file. Whether you're adding captions to a YouTube video, localizing content for international audiences, or making media accessible to viewers with hearing impairments, understanding how SRT files work is the foundation.
What Is an SRT File?
SRT stands for SubRip Subtitle. It's a plain text file with the .srt extension that contains timed text entries — essentially a list of subtitles, each paired with a start time and end time that tells a media player when to display each line.
The format is supported by virtually every major video platform and player, including YouTube, VLC, Plex, Kodi, Netflix (for uploads), and most video editing software. That near-universal compatibility is what makes SRT the default choice for subtitle work.
The Structure of an SRT File
Every SRT file follows a strict, repeating block structure. Each subtitle entry contains exactly three components:
- A sequence number — an integer starting at 1, incrementing with each entry
- A timecode line — start and end timestamps in
HH:MM:SS,mmm --> HH:MM:SS,mmmformat - The subtitle text — one or more lines of dialogue or caption
A blank line separates each block. Here's what a short example looks like:
1 00:00:02,500 --> 00:00:05,000 Welcome to the tutorial. 2 00:00:05,800 --> 00:00:09,200 Today we're covering SRT file creation. 3 00:00:10,000 --> 00:00:13,500 Let's get started. Notice the comma before milliseconds in the timecode — not a period. This is a common formatting mistake that breaks SRT playback in certain players.
Method 1: Create an SRT File Manually
Since SRT is plain text, you can write one from scratch using any basic text editor:
- Windows: Notepad (avoid Word — it adds hidden formatting)
- macOS: TextEdit (set to plain text mode via Format → Make Plain Text)
- Linux: gedit, nano, or any terminal editor
Steps:
- Open your text editor and start a new blank file
- Type the sequence number (
1) on the first line - On the next line, enter your timecode:
00:00:02,000 --> 00:00:05,000 - On the following line(s), type your subtitle text
- Add a blank line, then begin the next entry with
2 - Continue until all subtitles are entered
- Save the file — critically, save it as
.srt, not.txt
On Windows, you may need to manually type the extension in the Save dialog and select "All Files" from the file type dropdown to prevent Notepad from appending .txt automatically.
Encoding matters. Save in UTF-8 encoding to ensure special characters, accented letters, and non-Latin scripts display correctly. UTF-8 is the safe default for modern platforms.
Method 2: Use Dedicated Subtitle Editing Software 🎬
For longer videos or professional use, dedicated subtitle editors handle timecoding far more efficiently than manual entry. These tools let you play the video alongside your subtitle track, snap timecodes to audio cues, and preview how captions look in real time.
Common categories of subtitle editors include:
| Tool Type | Best For | SRT Export |
|---|---|---|
| Desktop subtitle editors | Long-form video, precision timing | Yes |
| Browser-based subtitle tools | Quick edits, no software install | Yes |
| Video editing software | Integrated workflow | Varies |
| Auto-caption + export tools | Speed, transcription from audio | Yes |
Dedicated subtitle editors typically offer features like waveform display (so you can align text to speech visually), spell check, character-per-second limits, and batch export. These matter when producing content at scale or meeting broadcast standards.
Method 3: Generate SRT from Auto-Transcription
Many platforms now generate captions automatically and let you export them as SRT files:
- YouTube Studio auto-generates captions for uploaded videos, which you can edit and download as
.srt - Video editing platforms with built-in transcription can export subtitle tracks
- Speech-to-text APIs and tools can transcribe audio and output SRT-formatted files
Auto-generated SRT files almost always require manual review. Accuracy depends heavily on audio quality, speaker clarity, accents, and background noise. The timecodes are usually serviceable, but the text frequently needs correction — especially for technical terminology, proper nouns, and overlapping speech.
Common SRT Formatting Mistakes to Avoid ⚠️
- Using a period instead of a comma in the timecode (
00:00:02.500instead of00:00:02,500) — breaks compatibility with strict parsers - Missing blank lines between subtitle blocks — causes entries to merge incorrectly
- Saving as
.txt— the file must end in.srtfor players to recognize it - Using rich text editors like Microsoft Word or Google Docs without exporting to plain text — these add invisible formatting characters that corrupt the file
- Inconsistent sequence numbering — while some players are forgiving, numbering should always be sequential starting from 1
Variables That Affect Your Approach
How you create an SRT file — and how much effort it takes — depends on several factors that vary significantly from one situation to the next:
- Video length: A 60-second clip might take 10 minutes manually; a 90-minute film requires dedicated tooling
- Language and character set: Non-Latin scripts (Arabic, Chinese, Japanese) require UTF-8 encoding and sometimes right-to-left text handling
- Accuracy requirements: Broadcast, legal, or accessibility-compliance contexts have stricter standards than personal projects
- Source material: Clear audio from a single speaker is far easier to work with than multi-speaker interviews or noisy environments
- Platform destination: Some platforms have specific SRT formatting requirements or character limits per line
- Technical comfort level: Manual creation is simple but tedious at scale; learning a subtitle editor has an upfront time cost
The right workflow for a short social media clip looks nothing like the right workflow for a multilingual corporate training video. Both produce .srt files — but the tools, time investment, and quality checks involved are worlds apart. 🎯