SubRip

OpenSavePlain text

The simplest subtitle format there is, and the one almost everything plays: numbered blocks of text, each with a start and an end time. No styling to speak of, no positioning, no header. That is why it is everywhere.

At a glance

Extension.srt
Media typeapplication/x-subrip (unregistered)
SpecificationNone. Defined by what players accept.
Time precisionMilliseconds
Text encodingNot declared in the file. UTF-8 is the safe choice; Subtitld detects older encodings when it opens one.
StylingItalic, bold, underline and colour, through unofficial tags
PositioningNone in the format
In containersMatroska as S_TEXT/UTF8; converted to mov_text for MP4

Anatomy of a subtitle

A file is a list of blocks. Each block has four parts, always in this order.

3
00:00:27,000 --> 00:00:30,500
...you have your robotics, and I
just want to be awesome in space.
 
  1. 1 · Counter

    A number, starting at 1. Required, though most players ignore it.

  2. 2 · Timing

    Start, the arrow -->, end. Spaces around the arrow.

  3. 3 · Text

    One or more lines. Two is the usual limit for reading.

  4. 4 · Blank line

    Ends the block. Without it, the next counter becomes text.

The timecode

A comma, not a period. 00:00:27.000 is WebVTT's way of writing it. Some players forgive the period; strict readers, Subtitld's among them, refuse the file. It is the most common reason an SRT "won't open".

Formatting tags

None of these are part of a standard, but players have agreed on them over the years. Use them sparingly; not every platform shows them.

Tag Effect Support
<i>…</i> Italic, for voices off screen Almost everywhere
<b>…</b> Bold Most desktop players
<u>…</u> Underline Most desktop players
<font color="#ff0"> Text colour Desktop players; often ignored online
{\an8} Move to the top, borrowed from SubStation Alpha VLC, mpv and others

SRT in Subtitld

Kept in the .srt
  • Every subtitle's text and line breaks
  • Start and end, to the millisecond
  • The order of subtitles
Nowhere to go
  • Speakers, their faces and colours
  • Translations kept beside the original
  • Dubs and metadata

Save a .usfx project to keep them.

Subtitld's plain-text tab showing subtitles as SRT, with the SRT, MD and JSON switch at the bottom
The plain-text view writes the subtitles as SRT while you edit. Type a timecode by hand and the timeline moves with it; switch to Markdown or JSON at the bottom.

SRT or WebVTT?

SubRip .srt WebVTT .vtt
First line The first counter WEBVTT
Milliseconds After a comma After a period
Counter Required Optional cue name
Position — Cue settings: line, position, align
Styling Unofficial tags CSS through ::cue
In web browsers Needs converting Native, with <track>
Pick it for Players, editors, uploads Video on the web

Trivia

~2000

The format is named after SubRip, a Windows program that read the subtitles off DVDs with OCR and wrote them out as text.

WebSRT

WebVTT began life under that name, as SubRip adapted for the web, before it grew a header, cue settings and CSS.

0 pages

No body ever published a specification. The comma, the arrow and the blank line are a convention that held for a quarter of a century.

Have a .srt to fix?

Open it in Subtitld with the video and retime it on the waveform.

Download Subtitld