How to Make an SRT File: A Complete Guide to Creating Subtitles
If you've ever watched a video with subtitles, there's a good chance those subtitles were delivered as an SRT file. Whether you're adding captions to a YouTube video, a film project, or a corporate training video, knowing how to create an SRT file is a genuinely useful skill — and it's more straightforward than most people expect.
What Is an SRT File?
SRT stands for SubRip Subtitle format. It's a plain-text file with the .srt extension that contains timed subtitle entries. Each entry includes:
- A sequential number identifying the subtitle block
- A timestamp showing when the text appears and disappears (formatted as
HH:MM:SS,milliseconds) - The subtitle text itself
- A blank line separating each entry
A basic SRT block looks like this:
1 00:00:05,000 --> 00:00:08,500 Welcome to the tutorial. 2 00:00:09,000 --> 00:00:13,000 Today we'll cover how SRT files work. That's the entire format. No XML, no special encoding — just structured plain text. This simplicity is why SRT has remained the most widely supported subtitle format for decades.
Method 1: Write an SRT File Manually
Because SRT is plain text, you can create one with any basic text editor — Notepad on Windows, TextEdit on macOS (in plain text mode), or any code editor like VS Code.
Steps:
- Open your text editor and start a new blank file
- Type the entry number (
1), press Enter - Type the timestamp range using the exact format:
00:00:05,000 --> 00:00:08,500 - Type the subtitle text on the next line(s)
- Add a blank line, then repeat for the next entry
- Save the file with the
.srtextension (e.g.,mysubtitles.srt)
Critical formatting rules:
- Use a comma, not a period, before milliseconds (
00:00:05,000not00:00:05.000) - The arrow between timestamps must be
-->with spaces on both sides - Each block must end with a blank line
- Save as UTF-8 encoding to support non-English characters
Manual creation works best for short videos or when you have a small number of subtitle entries. For longer content, it becomes tedious and error-prone.
Method 2: Use Dedicated Subtitle Software 🎬
Several free and paid tools are designed specifically to create and edit SRT files, with waveform displays that let you sync text to audio visually.
Popular options include:
| Tool | Platform | Cost |
|---|---|---|
| Aegisub | Windows, macOS, Linux | Free |
| Subtitle Edit | Windows | Free |
| Jubler | Windows, macOS, Linux | Free |
| Kapwing | Browser-based | Freemium |
| Descript | Windows, macOS | Paid |
With these tools, you load your video or audio file, create subtitle entries by marking in/out points on the timeline, type the text, and export as .srt. The visual sync capability makes timing much more accurate than typing timestamps by hand.
Method 3: Auto-Generate Subtitles Then Export as SRT
Many platforms and tools now offer automatic speech recognition (ASR) that generates subtitles from your audio, which you can then export as an SRT file.
- YouTube Studio automatically generates captions for uploaded videos. You can edit them and download the file as SRT.
- Adobe Premiere Pro and DaVinci Resolve include built-in transcription features that produce subtitle tracks exportable as SRT.
- Otter.ai, Rev.com, and Whisper (OpenAI's open-source model) can transcribe audio and export timed subtitle files.
Auto-generated subtitles are rarely perfect — especially with accents, technical vocabulary, or overlapping speech — so manual review is almost always necessary before publishing. The accuracy you get depends heavily on audio quality, speaker clarity, and the specific tool's language model.
Method 4: Convert From Another Subtitle Format
If you already have subtitles in a different format — VTT (WebVTT), ASS, SSA, or TTML — you can convert them to SRT without recreating the file from scratch.
Tools like Subtitle Edit handle multi-format conversion, and browser-based converters exist for quick one-off jobs. The conversion is usually clean, though formatting tags (bold, italic, color) may render differently depending on what the SRT destination player supports.
Variables That Affect Your Approach
How you create an SRT file depends on several factors that vary from person to person:
Volume of content: A 2-minute clip has maybe 20–30 subtitle blocks. A 90-minute film has thousands. Manual creation scales poorly; dedicated software or auto-generation becomes necessary at volume.
Accuracy requirements: Broadcast, legal, or accessibility-critical subtitles demand higher precision in timing and text than a casual social media video.
Technical comfort level: Writing SRT by hand requires attention to formatting rules. If a single comma is in the wrong place, some players will reject the file entirely. GUI-based tools remove that friction.
Platform destination: YouTube, Vimeo, Netflix, and hardware media players all support SRT, but some platforms have specific encoding or character limit requirements per subtitle block. The same file may display differently across players.
Language and character set: Languages using non-Latin scripts (Arabic, Chinese, Japanese) require UTF-8 encoding. If the file is saved in the wrong encoding, characters render as garbled symbols.
🕐 Timing Precision Matters More Than You'd Expect
One of the most common problems with manually created SRT files is poor timing sync. Subtitles that appear even half a second too early or too late feel distracting. If you're creating SRT files for anything beyond personal use, investing time in accurate in/out points — or using a tool that lets you set them against actual audio — makes a significant difference in the viewer experience.
What "accurate enough" means, and which creation method gets you there efficiently, comes down to your specific content, your audience, and how much time you're willing to spend on the process.