The SRT file format
An SRT file is a plain text file that holds subtitles: numbered entries, each with a start and end timecode and one or two lines of text. It carries no video and no audio — only what to show and when. The extension comes from SubRip, the program that introduced the format, and almost every video player and editor reads it.
Last reviewed 2026-09-07
What a SubRip file looks like
Every entry is four parts in a fixed order: a sequence number, a timing line, one or more lines of text, and a blank line that ends the entry. Nothing else is allowed between entries.
1
00:00:03,233 --> 00:00:08,233
Puff pastry, 500 g
2
00:00:14,833 --> 00:00:19,033
Melted butter, 20 g
Brush the pastry with a thin layerThe four parts
| Part | Rule |
|---|---|
| Sequence number | Starts at 1 and increases by one. Players tolerate gaps, but editors usually renumber. |
| Timing line | HH:MM:SS,mmm --> HH:MM:SS,mmm. Hours are two digits, milliseconds are three, and the separator before milliseconds is a comma. |
| Text | One or two lines by convention. Longer blocks are legal but hard to read on screen. |
| Blank line | Ends the entry. A missing blank line is the single most common reason a file fails to parse. |
Timing
Timecodes are absolute positions from the start of the video, not frame numbers. That is what makes SRT portable: the same file works with a 24 fps film and a 25 fps broadcast version of the same footage, as long as the running time matches. Frame-based formats like MicroDVD do not have that property.
Formatting inside the text
SubRip has no official styling specification, but most players accept a small set of HTML-like tags:
- •
<b>bold,<i>italic,<u>underline - •
<font color="#ffcc00">for colour, supported unevenly - •
{\an8}to move text to the top — borrowed from SSA/ASS, understood by VLC and MPC but not by browsers
Because support varies, anything beyond italics is a gamble. If styling matters, ASS is the format that specifies it properly.
Encoding
Modern files are UTF-8. Older ones are often Windows-1251, Windows-1252 or another regional code page, which is why subtitles sometimes open as a wall of question marks or accented gibberish. If that happens, the file is not broken — it is being read with the wrong encoding. Re-open it specifying the right one, then save as UTF-8.
How to open an SRT file
It is plain text, so any text editor opens it. The question is usually what to open it *with* for a given purpose.
| Goal | On macOS | On Windows |
|---|---|---|
| Read or edit the text | TextEdit, or any code editor | Notepad, Notepad++ |
| Watch a video with it | VLC or IINA — put the .srt next to the video with the same file name | VLC, MPC-HC — same naming rule |
| Fix timing and check reading speed | A subtitle editor rather than a text editor | Same |
| Change the format | A converter — see the tools below | Same |
Limits worth knowing
- •No positioning, no fonts, no karaoke — those need ASS.
- •No metadata: nothing in the file says what language it is. That lives in the file name.
- •No speaker labels or sound descriptions as a formal feature; captioning conventions write them into the text by hand.
- •No frame rate, which is a feature rather than a limitation — see Timing above.
Need the file in another format? These run in your browser and never upload anything.
Convert SRT to VTTQuestions
Can I open an SRT file in a text editor?+
Yes. An .srt file is plain text, so TextEdit, Notepad or any code editor opens it. Save it back as UTF-8 and keep the .srt extension.
Why do my subtitles show as question marks or strange letters?+
The file is being read with the wrong character encoding. Older subtitle files often use a regional code page such as Windows-1251 rather than UTF-8. Re-open the file specifying the correct encoding, then save it as UTF-8.
Why does my player ignore the SRT file?+
Three usual causes: the file name does not match the video file name, an entry is missing its blank separator line, or the timecodes use a dot instead of a comma — which makes it a WebVTT file with the wrong extension.
Does an SRT file store the video frame rate?+
No. SubRip stores absolute times, so it does not need one. That is why the same file works across different frame-rate versions of a video with the same running time. Frame-based formats like MicroDVD do need the rate.
How many characters should one subtitle hold?+
Common practice is up to 42 characters per line and no more than two lines. Reading speed matters more than length: roughly 15 to 20 characters per second is comfortable for adults.