On this page▾

What Is an SRT File? (And How It Differs from VTT)

An SRT file (.srt) is a plain-text subtitle file. It lists the subtitles in order, each with a number, a start and end time, and the text to show. A VTT file (.vtt, WebVTT) is the web version of the same idea, used by HTML5 video players. You can open either one in Notepad, play it in VLC, and convert between them in seconds.

SRT comes from SubRip, an old Windows program that pulled subtitles off DVDs. The format stuck because it is so simple: anyone can read and edit it by hand, and nearly every player, video editor and video platform accepts it.

What is an SRT file?

Here is a complete, valid SRT file with two subtitles (called cues):

1
00:00:01,000 --> 00:00:04,000
Where were you last night?

2
00:00:04,500 --> 00:00:07,250
I was at the station.
<i>Waiting for you.</i>
  • Index (1, 2): the cue number, counting up from 1.
  • Timecode line (00:00:01,000 --> 00:00:04,000): start and end time as hours:minutes:seconds,milliseconds. SRT uses a comma before the milliseconds, and the arrow is two hyphens and a greater-than sign with a space on each side.
  • Text: one or two lines of dialogue. Many players also understand simple tags such as <i> for italics and <b> for bold.
  • Blank line: ends the cue. A missing blank line is a common reason a player merges two subtitles or stops reading the file.

That's the whole format. An SRT file holds no video, no fonts and no colours. It is just text and times, which is why it's tiny and easy to fix. (Spanish speakers call it an archivo SRT; it's the same file.)

What is a VTT (WebVTT) file?

WebVTT (Web Video Text Tracks) is the subtitle format of the web: it is what the HTML5 <track> element loads, and many online video platforms and course sites accept it. YouTube accepts both .srt and .vtt uploads. The same two cues in VTT:

WEBVTT

NOTE Optional comment

1
00:00:01.000 --> 00:00:04.000
Where were you last night?

00:00:04.500 --> 00:00:07.250 line:10% align:center
I was at the station.
  • WEBVTT header: the file must start with WEBVTT. Without it, browsers reject the file.
  • Period before milliseconds: 00:00:01.000, not a comma. The hours can be left out (00:01.000).
  • Cue numbers are optional: the second cue above has none.
  • Cue settings after the times, such as line:10% align:center, move or align the text, e.g. to the top of the frame.
  • Extras: NOTE comments, STYLE blocks, and voice tags like <v Anna> to mark the speaker.

SRT vs VTT (and where ASS fits)

SRT (.srt)WebVTT (.vtt)ASS / SSA (.ass)
First lineCue number 1WEBVTT[Script Info] section
Timestamp00:00:01,000 (comma)00:00:01.000 (period)0:00:01.00 (centiseconds)
Cue numbersRequiredOptionalNone
Position and stylingBasic tags onlyCue settings, CSS stylesFull: fonts, colours, positions, effects
Best forPlayers, video editors, general sharingHTML5 video, web players, online coursesAnime fansubs, karaoke, styled subtitles

Translation method comparison table

Rule of thumb: use SRT for desktop players, TVs and video editors, VTT for a website or web player, and ASS only when you need styled or positioned text, typically made in Aegisub.

How to open an SRT file

To read or check the text

It's plain text. On Windows, right-click → Open with → Notepad. On a Mac, right-click → Open With → TextEdit. Don't open it in Word, which can change line breaks and encoding if you save.

To watch it with the video

  • Drag and drop: start the video in VLC and drag the .srt onto the window.
  • Menu: in VLC, Subtitle → Add Subtitle File.
  • Same name: put movie.mp4 and movie.srt in the same folder. VLC and most other players load it automatically.

The same tricks work for .vtt in VLC. In a browser, VTT is loaded by the page's video player, not opened directly.

How to create or edit an SRT file

1

Write the cues in a plain-text editor

Follow the pattern from the example: number, timecode line, text, blank line. On a Mac, first switch TextEdit to plain text (Format → Make Plain Text).

2

Save as .srt with UTF-8 encoding

In Notepad, choose Save as type: All files, name it movie.srt, and set Encoding to UTF-8. Otherwise you may end up with movie.srt.txt, or accented letters that show up garbled later.

3

Test it against the video

Load it in VLC and check that lines appear on time.

Typing timecodes by hand is fine for a few lines. For a whole video, use a subtitle editor: Subtitle Edit (free, Windows) lets you set start and end times while the video plays and catches overlaps. Already have the script as text? The TXT to SRT tool turns each line into a cue with placeholder timing for you to adjust.

How to convert between SRT, VTT and text

All of these run in your browser, free, with no signup:

  • SRT to VTT: adds the WEBVTT header and switches commas to periods, for web players.
  • VTT to SRT: for desktop players and video editors.
  • SRT to TXT: strips numbers and timecodes, leaving just the dialogue.
  • TXT to SRT: turns a script into a subtitle file.
  • Subtitle converter: all of the above on one page.

Common SRT problems and fixes

  • Garbled characters (é instead of é, or boxes and question marks): an encoding mismatch. Open the file in an editor that lets you choose the encoding (Notepad++: Encoding menu), find the one where the text reads correctly, then convert and save as UTF-8.
  • Subtitles out of sync by the same amount throughout: shift the whole file with the shift subtitles tool. If the drift grows over the film, the file was made for a different frame rate; fix it with the subtitle FPS converter.
  • Lines too long, or one long line with a stray word underneath after importing into an editor: split them into two balanced lines with the subtitle line breaker.
  • Player ignores the file: check the extension is really .srt (not .srt.txt), the timecodes use commas, and every cue ends with a blank line. A .vtt without the WEBVTT header fails the same way.

How to translate an SRT or VTT file

Pasting a subtitle file into a general translator tends to damage the timecodes, because the translator treats them as text. A subtitle translator reads the cues, translates only the dialogue, and gives the file back with the same numbering and timing. Use the SRT translator or the VTT translator. The first 30 lines are free to preview, and you can export the translation alone or as bilingual subtitles.

Frequently asked questions

What is an SRT file?

SRT (SubRip Subtitle) is a plain-text subtitle format. Each subtitle is a numbered block with a start and end time (00:00:01,000 --> 00:00:04,000) and one or two lines of text, separated by a blank line. Almost every video player, editor and video platform can read it.

What is a .vtt file?

A .vtt file is a WebVTT (Web Video Text Tracks) subtitle file, the caption format used by HTML5 video on the web. It looks much like SRT, but it starts with a WEBVTT line, uses a period before the milliseconds (00:00:01.000), and can carry cue settings for position and alignment.

What's the difference between SRT and VTT?

The text is nearly identical. VTT needs a WEBVTT header, uses periods instead of commas in timestamps, makes cue numbers optional, and supports positioning, styling and comments. SRT is simpler and works in more desktop players and video editors; VTT is what browsers use. Converting between them takes seconds.

How do I open an SRT file?

To read it, open it in any text editor (Notepad on Windows, TextEdit on Mac). To watch it with the video, drag the .srt onto the video playing in VLC, or give it the same name as the video (movie.mp4 and movie.srt) in the same folder so the player loads it automatically.

How do I create an SRT file?

Type the blocks in a plain-text editor following the format (number, timecode line, text, blank line) and save with a .srt extension and UTF-8 encoding. For anything longer than a few lines, a free editor such as Subtitle Edit is easier because you set times while watching the video.

Why does my SRT file show strange characters?

The file was saved in a different encoding from the one the player expects, usually an older regional code page instead of UTF-8. Open it in a text editor that lets you pick the encoding, find the one where the text reads correctly, and save it again as UTF-8.

Need your SRT in another language?

Upload an SRT or VTT, pick a language, and get a file back with every timecode unchanged.

Preview the first 30 lines free.

What Is an SRT File? SRT vs VTT, How to Open, Create and Convert Subtitle Files | SubtitleFlow