How to Create SRT Subtitle Files: A Complete Guide to the SRT Format
The SRT file is the workhorse of the subtitle world. It is the most widely supported subtitle format across video players, editing software, streaming platforms, and social media. Whether you are a YouTube creator adding captions to your latest video, a translator working with international content, a teacher creating educational materials, or a filmmaker finishing a project, understanding SRT files is an essential skill.
This guide covers everything from the basics of SRT format to advanced tips that will save you hours of work. If you are looking to add subtitles to YouTube specifically, also check out our guide on how to add subtitles to YouTube videos.
What Is an SRT File?
SRT stands for SubRip Subtitle. It was originally created for the SubRip software, which extracted subtitles from DVDs. The format became popular because of its simplicity — it is just a plain text file that any text editor can open and modify.
An SRT file contains a series of numbered subtitle blocks. Each block has three parts: a sequence number, a time code showing when the subtitle should appear and disappear, and the subtitle text itself.
Here is a simple example:
1
00:00:01,000 --> 00:00:04,500
Welcome to this video about
creating subtitle files.
2
00:00:05,200 --> 00:00:09,800
In the next few minutes, you will learn
everything you need to know about SRT format.
3
00:00:10,500 --> 00:00:14,000
Let's get started.
That is it. No complex tags, no binary encoding, no proprietary format. Just numbers, timestamps, and text. This simplicity is why SRT has remained the standard for over two decades.
The SRT Format Rules
While SRT files are simple, there are specific formatting rules you need to follow. Getting these wrong will cause subtitle players to display your text incorrectly or not at all.
Sequence numbers. Each subtitle block starts with a number. These should be sequential starting from 1. While most players will work even if the numbers are out of order, keeping them sequential avoids potential issues.
Time code format. The time code line uses the format HH:MM:SS,mmm --> HH:MM:SS,mmm where HH is hours, MM is minutes, SS is seconds, and mmm is milliseconds. The separator between start and end times is --> (space, dash, dash, greater-than, space). Note: SRT uses a comma for the millisecond separator, not a period. This is a common mistake that causes display errors.
Text content. The text can be one or two lines (rarely three). Each line should generally be under 42 characters for readability. The text can include basic HTML-like formatting: <b>bold</b>, <i>italic</i>, and <u>underline</u>, though not all players support these.
Blank line separator. Each subtitle block must be separated by a blank line. This blank line is how the parser knows one block has ended and the next is beginning. Missing blank lines will cause blocks to merge.
File encoding. SRT files should be saved as UTF-8 encoding. This is especially important if your subtitles contain accented characters, Asian characters, Arabic script, or any non-ASCII text. Saving as ASCII or ANSI will corrupt these characters.
Generate SRT Files Automatically
The KlipTools SRT Generator takes your plain text script and converts it into a properly formatted SRT file with calculated timestamps. Set your words-per-block and reading speed, and download the result instantly.
Try SRT Generator →Creating SRT Files: Three Methods
Method 1: Using an Online SRT Generator (Fastest)
If you have a script or transcript of your video, converting it to SRT format is the fastest approach. An SRT Generator tool takes your plain text and transforms it into properly formatted SRT with timestamps.
How it works:
- Type or paste your text into the converter
- Set your preferences — how many words per subtitle block, how long each block should display, and the reading speed
- The tool generates the SRT file with sequential numbers, calculated timestamps, and properly split text
- Download the file
The timestamps are calculated based on your settings, so they will be evenly distributed. You may need to adjust some timings to match the actual speech in your video, but this gets you 80-90 percent of the way there in seconds rather than hours.
Best for: Scripted videos where you already have the text written out.
Method 2: Writing SRT Files by Hand
For short videos or when you need precise control, you can create SRT files in any text editor — Notepad on Windows, TextEdit on Mac (in plain text mode), or VS Code if you want line numbers and syntax highlighting.
Step-by-step process:
- Open your text editor
- Watch your video and note the timestamps for each line of dialogue
- Write each subtitle block following the format: number, time code, text, blank line
- Save the file with the .srt extension
Time code tips when doing this manually: Use the pause and timestamp features in your video player. VLC, for instance, shows the current timestamp in the bottom bar, which you can copy. For more precision, play the video at reduced speed (0.5x or 0.75x) to catch exact word boundaries.
Best for: Short videos (under 2 minutes) or when you need frame-perfect timing.
Method 3: Editing Existing Subtitles
Often, you do not need to start from scratch. You can download existing subtitles and modify them.
Starting from auto-generated captions: YouTube, among other platforms, generates automatic captions for uploaded videos. You can download these as SRT files and then correct the recognition errors. This saves you from having to do the timing work — the timestamps are already synced to the audio. You just need to fix the text.
Starting from another language: If subtitles exist in one language, you can use the SRT Translator to convert them to another language while preserving all the timing information. The translated file keeps the same timestamps and block structure, just with different text.
Best for: When subtitle timing already exists and you just need to fix text or change languages.
Timing Your Subtitles Properly
Timing is what separates good subtitles from bad ones. Even if the text is perfectly accurate, poor timing makes subtitles frustrating to read.
Reading speed. The standard comfortable reading speed for subtitles is 150-200 words per minute (roughly 12-20 characters per second). Faster than this and viewers cannot finish reading before the subtitle disappears. Slower and the text feels sluggish.
Minimum display time. Even short phrases should display for at least 1 second. A subtitle that flashes on screen for 0.3 seconds is useless — the viewer will not even register it.
Maximum display time. Subtitles should not stay on screen for more than about 7 seconds. If a block needs to be displayed longer, it means it contains too much text and should be split into multiple blocks.
Lead-in time. Subtitles should appear slightly before (about 200-500 milliseconds) the speaker starts the corresponding sentence. This gives the viewer's eyes time to find and begin reading the text. A subtitle that appears after the word has already been spoken creates a disorienting lag.
Gap between blocks. Leave at least 200 milliseconds between consecutive subtitle blocks. This brief gap signals to the viewer that new text is coming, allowing their eyes to "reset." Without gaps, blocks blur together and become harder to track.
Handling Special Cases
Multiple speakers. When different people are talking, it helps to indicate who is speaking. The common approach is to use dashes at the beginning of each speaker's line within a single block:
15
00:01:05,000 --> 00:01:08,500
- Did you finish the report?
- Almost. Give me ten more minutes.
Sound effects and music. Include non-speech audio in square brackets when it is relevant to understanding the content: [phone ringing], [dramatic music], [crowd cheering]. This is especially important for accessibility.
Foreign words or phrases. Italicize foreign words: <i>C'est la vie</i>, though remember that not all players render HTML formatting.
Numbers and abbreviations. Write out numbers under ten and keep larger numbers as digits. Use common abbreviations that viewers will immediately recognize (USA, DNA, CEO) but spell out less common ones.
Common SRT Problems and How to Fix Them
Subtitles not showing up at all. The most common cause is incorrect file encoding. Make sure your file is saved as UTF-8. The second most common cause is a missing blank line between blocks, which causes the parser to fail.
Timing is offset throughout the entire file. If all subtitles are consistently early or late by the same amount, you have a global timing offset. This often happens when the video was trimmed after the subtitles were created. You can fix this by adding or subtracting a constant value from every timestamp.
Commas versus periods in timestamps. SRT uses commas for milliseconds (00:01:30,500). Some tools accidentally use periods (00:01:30.500). While some players tolerate this, others do not. Always use commas.
Overlapping timestamps. When one subtitle's end time is later than the next subtitle's start time, you get overlapping text on screen. This is visually confusing. Make sure each block ends before the next one begins.
Character encoding issues. If you see garbled text (like é instead of é), the file was saved with the wrong encoding. Re-save it as UTF-8 with BOM (Byte Order Mark) for maximum compatibility.
Working with SRT in Different Contexts
YouTube. Upload SRT directly through YouTube Studio. YouTube indexes the text for search, which boosts your video's discoverability. See our full guide on adding subtitles to YouTube videos.
Premiere Pro / DaVinci Resolve / Final Cut. All major video editing software can import SRT files. This lets you either display them as soft subtitles (toggleable by the viewer) or burn them into the video as permanent text.
VLC and other media players. VLC automatically loads an SRT file if it has the same filename as the video file and is in the same folder. So movie.mp4 will automatically display subtitles from movie.srt.
Streaming platforms. Netflix, Amazon Prime, Disney+, and most streaming platforms use variations of the SRT format (or closely related formats like TTML or WebVTT) for their subtitles.
Frequently Asked Questions
What is the difference between SRT and VTT?
Can I include formatting in SRT files?
<b>, <i>, and <u> work in some players. For guaranteed compatibility, stick to plain text.How many characters per line should I use?
Can I create SRT files on my phone?
Do SRT files support right-to-left languages?
Wrapping Up
SRT files are beautifully simple — just text, numbers, and timestamps in a plain text file. Creating them from scratch takes patience but not expertise, and using the SRT Generator makes the process dramatically faster. Whether you are subtitling your first YouTube video or translating a documentary into five languages, the SRT format will serve you well. Take the time to get your timing right, keep your text concise and readable, and always save in UTF-8. Your viewers will appreciate the effort.