Home › Formats › Subtitles › SRT

SRT files: how subtitle files work and how to edit or convert them

SRT (SubRip Text) is the plain-text subtitle file everything accepts: a counter, a start and end timecode, the line, a blank line, repeated. It carries no styling at all, which is exactly why every player, editor, and upload form reads it.

Timing
hh:mm:ss,mmm
Styling
None
Plays in
Everything
Best for
Uploads, players, editing by hand

What is an SRT file?

SubRip Text, SRT, came out of a program that ripped subtitles off DVDs, and its format is about as simple as a file can get. Each subtitle is a block: a counter, a line with the start and end time separated by an arrow, the text, then a blank line. Nothing else. You can open one in Notepad, read it, fix a typo, and save it.

Because it is plain text with no styling, every video player, editor, and upload form takes it. YouTube, Vimeo, Premiere, DaVinci Resolve, VLC, and every TV box understand SRT, which is why it is still the format to hand someone when you do not know what they will use.

How the timing works

Times are written hours:minutes:seconds,milliseconds, with a comma before the milliseconds rather than a period. That comma is the single most common reason a file is rejected: WebVTT, the web format, requires a period instead, and a player that expects one will refuse the other.

Subtitles that appear consistently early or late are usually a file made for a different cut of the video, or for a different frame rate. Shifting every timecode by the same amount fixes the first case, and our subtitle shifter does exactly that without uploading the file.

SRT, VTT, or ASS?

SRT for handing files to other people and for uploads. VTT for video on a web page, since the HTML track element requires it. ASS when you need styling: fonts, colors, positioning, karaoke timing, the things fansubbing needs and SRT cannot express.

Converting between them is mostly mechanical, and losing styling is the only real risk: ASS to SRT keeps the words and the timing and drops the look.

Frequently asked questions

How do I edit an SRT file?

Open it in any text editor. Keep the blank line between blocks and the arrow between the two timecodes, and save it as plain text with UTF-8 encoding.

My subtitles are out of sync. What do I do?

If they drift further apart over time, the file is for a different frame rate and needs stretching. If they are wrong by a constant amount, shift every line by that many seconds.

Why does my SRT show strange characters?

It was saved in a regional encoding rather than UTF-8. Re-save it as UTF-8 in a text editor and the accents and non-Latin letters come back.

Can an SRT file be styled?

Barely. Some players honor basic HTML-style bold and italic tags, but position, font, and color belong in ASS or VTT.

Convert or edit SRT files

SRT to VTT.srt → .vttSubtitle ShiftMove every subtitle earlier or later by a number of seconds to fix timing

Make SRT files

VTT to SRT.vtt → .srtASS to SRT.ass → .srt