SRT Subtitle Format
What this format can express
- Text styling
- Plain text only
- On-screen positioning
- No
- Karaoke timing
- No
- Line breaks inside a cue
- Yes
- Timeline
- Start and end time for every cue
- Timing resolution
- 1 ms
- Timing stored as frame numbers
- No
- Right-to-left text
- Yes
Examples
A typical SRT file, and what is read out of it
File
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
What it holds
3 cues, 4 lines of text
00:00:01,000 → 00:00:03,500
Hello there.
00:00:03,500 → 00:00:06,000
Whispering now. [italic ×1]
And a second line.
00:00:06,000 → 00:00:09,250
Bold statement. [bold ×1]
Outside the cues:
nothing — SRT stores cues and nothing elseThe right-hand side is not a converted file — it is what this site reads out of the left-hand side, and what every conversion of that file starts from.
An awkward SRT file, and what is still read out of it
File
# exported by some tool
5
00:00:10,000 --> 00:00:12,000
Second in the file, first in time.
2
00:00:02,000 --> 00:00:05,000
First in time, second in the file.
00:00:06,000 --> 00:00:09,500
No index line at all.
# keep this comment
3
00:00:12,000 --> 00:00:14,500 X1:100 X2:200 Y1:300 Y2:400
Positioned cue.
4
00:00:20,000 --> 00:00:19,000
Ends before it starts.
6
00:00:28,000 --> 00:00:33,000
Long one.
7
00:00:31,000 --> 00:00:32,000
Inside the long one.
What it holds
7 cues, 7 lines of text
00:00:02,000 → 00:00:05,000
First in time, second in the file.
00:00:06,000 → 00:00:09,500
No index line at all.
00:00:10,000 → 00:00:12,000
Second in the file, first in time.
00:00:12,000 → 00:00:14,500
Positioned cue.
00:00:20,000 → 00:00:20,001
Ends before it starts.
00:00:28,000 → 00:00:33,000
Long one.
00:00:31,000 → 00:00:32,000
Inside the long one.
Outside the cues:
nothing — SRT stores cues and nothing else
except 1 cue that had a comment line above it — that line stays attached to its cue
Reported while reading — repaired or skipped, never silently:
1 × blocks with no readable timecode (they were skipped)
1 × cues using SRT's non-standard X1/Y1 screen coordinate extensions
1 × cues whose end time was not after their start time (they were given a 1ms duration)Real files arrive with a byte-order mark, Windows line endings, a stray line before a timecode, or a timecode that cannot be read at all. None of it throws: whatever cannot be understood is reported rather than dropped in silence.
Convert SubRip (SRT) to another format
Each of these runs entirely in your browser. The labels say what that direction costs before you open it.
Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.
Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.
Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.
Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.
Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.
Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.
Converting into this format
- WebVTT (VTT) → SubRip (SRT)
- Advanced SubStation Alpha (ASS) → SubRip (SRT)
- SubStation Alpha (SSA) → SubRip (SRT)
- YouTube SBV → SubRip (SRT)
- SAMI (SMI) → SubRip (SRT)
- LRC Lyrics → SubRip (SRT)
- MicroDVD → SubRip (SRT)
- TTML (Timed Text) → SubRip (SRT)
- SubtitleMatrix JSON → SubRip (SRT)
- Plain Text (TXT) → SubRip (SRT)
- CSV Spreadsheet → SubRip (SRT)
SubRip (SRT) is one of the subtitle formats this site handles, and this page is its reference: what it can store, what it cannot, and a page for every format you can convert it to.
The table above is the whole of it — there is no hidden feature list. When a row says no, that is exactly what is lost by converting into SRT, and each conversion page linked below says so before you open a file.
Every one of those conversions runs in your browser. Nothing is uploaded and no account is needed, which matters for material under an NDA, a patient record or a broadcast embargo.
Frequently asked questions
What is an SRT file?
`.srt` is the format almost everything reads: VLC, mpv, most television firmware, YouTube's subtitle upload and the editors that ship with them. A cue is a number, a timecode line and a line or two of text.
Does SRT store styling?
No — it stores cues, and a cue is text with two times on it. SRT files in the wild often carry `<b>` and `<i>` in the text and most players act on them, but nothing in the file declares a font, a colour or a position.
Does every SRT cue store both a start and an end?
Yes, and a moment in an SRT file reads `00:00:04,126`. That is as fine as SRT goes — to the millisecond — and the number is exact, so a cue can be short, long, or overlap the next one without anything being implied.
Which formats can I convert SRT to without losing anything?
VTT, SBV, SMI, TTML, JSON and CSV — everything SRT can express, they can too. The table above is where that comes from: a row that says yes on both sides is a feature that survives. Every other direction drops something, and each of those pages names its own list.
Can I open an SRT file in a text editor?
Yes. An `.srt` file is a number, a timecode line and the text, repeated — and the thing that is easy to get wrong by hand is the punctuation of the timecode: `00:00:01,250`, with a comma.