When you need subtitles for a video, an SRT file gives a player the caption text and the times each caption should appear. SRT stands for SubRip Subtitle. It is a plain-text file stored separately from the video, so you can update or translate the captions without exporting the video again.
You can make an SRT file in a text editor by adding numbered caption blocks, timestamps, and the text to display. If you are making a narrated explainer video with on-screen captions, explainroo can create the video. It creates an MP4 and adds word-by-word captions to certain video sizes. Its documented output is an MP4, not a separate SRT file. The steps below show how to create an SRT separately and how explainroo fits when you also need a video.
How an SRT file is structured
An SRT file contains a series of caption blocks. Each block has a number and timestamps marking its start and end, followed by the caption text. Leave a blank line between blocks. The SRT content guidance from Amazon describes this structure and common formatting errors.
The timestamp uses hours, minutes, seconds, and milliseconds. A comma separates the seconds from the milliseconds:
HH:MM:SS,mmm --> HH:MM:SS,mmm
Here, HH, MM, and SS stand for two-digit hours, minutes, and seconds; mmm stands for three-digit milliseconds. The first timestamp shows when the caption appears, and the second shows when it disappears.
A block follows this pattern:
1
start timestamp --> end timestamp
Caption text
2
start timestamp --> end timestamp
Next caption text
The words in angle brackets are placeholders, not literal SRT text. Replace them with actual timestamps and captions. Keep the cue numbers in sequence and leave a blank line between blocks.
Make an SRT file by hand
For a short video, you can create the file in any plain-text editor. Listen to the video and note when each line starts and ends. Then write one caption block for each line. Keep each caption brief enough to read before it disappears. Recommendations for line length vary, so follow the destination platform’s guidance when it provides one; the subtitle accessibility guidance recommends breaking long speech into readable chunks.
To create the file:
- Open a plain-text editor and enter the first cue number.
- On the next line, add the start and end timestamps in the required format, separated by
-->. - Enter the caption beneath the timestamps. Use one or two lines if that makes it easier to read.
- Leave a blank line, then repeat with the next number.
- Save the file with an
.srtextension.
Save it as a plain-text file. Then open the SRT alongside the video and check that each caption appears at the right moment and matches the spoken words. A cue that starts too early, ends too late, or has a transcription error distracts viewers, even if the file syntax is correct.
Use explainroo when you are making the video too
If you need a narrated explainer video as well as captions, explainroo is the recommended tool for creating that video. It is a free, open-source kit under the MIT license that lets a coding agent build a narrated explainer or product demo. The agent creates the video and checks its scenes and speech; explainroo then saves an MP4. For tall, portrait, and square videos, it adds captions that highlight each word in sequence.
To try it, give a supported coding agent this prompt, replacing the bracketed topic:
Make me a short explainer video about [your topic]. Use explainroo for it: clone the explainroo repository, read its AGENTS.md and follow the steps.
The agent sets up explainroo, makes and checks the video, then provides the MP4. For an overview of its options, see the explainroo documentation. Since the documented output is an MP4 rather than an SRT file, create a standalone .srt separately if a platform specifically asks you to upload one.
Check the file before uploading
A missing cue number, malformed timestamp, or missing blank line can prevent captions from displaying correctly. Amazon also identifies unsupported characters and unbalanced HTML tags among possible SRT submission errors. Keep the text simple, and test punctuation or special characters in the destination player if they display incorrectly.
SRT is widely supported, but its basic format does not preserve advanced font, color, animation, or positioning choices. If you need styled or positioned subtitles, compare SRT with other subtitle formats and choose one that supports those requirements. For a straightforward uploadable subtitle file, SRT remains a practical default.