The format has no header, and no footer. Each subtitle has four parts:
Line 1 is a sequential count of subtitles, starting with 1.
Line 2 is the start timecode, followed by the string " –> ", followed by the end timecode. Timecodes are in the format HH:MM:SS,MIL (hours, minutes, seconds, milliseconds). The end timecode can optionally be followed by display coordinates (example " X1:100 X2:600 Y1:050 Y2:100"). Without coordinates displayed, each line of the subtitle will be centered and the block will appear at the bottom of the screen.
Lines 3 onward are the text of the subtitle. New lines are indicated by new lines (i.e. there's no "\n" code). The only formatting accepted are the following:
<b>text</b>: put text in boldface <i>text</i>: put text in italics <u>text</u>: underline text <font color="#00ff00">text</font>: apply green color formatting to the text (you can use the font tag only to change color)
Tags can be combined (and should be nested properly). Note that the SubRip code appears to prefer whole-line formatting (no underlining just one word in the middle of a line).
Finally, successive subtitles are separated from each other by blank lines.
Here is an example of an SRT file: