Uploading SRT and Other Subtitle Files

How to upload SRT and other subtitle formats and automatically convert them to VTT for web playback.

VTT (WebVTT) is the standard format for web video player captions. When you have subtitle files in other formats (SRT, SSA, TTML, etc.), Nomad Media can automatically convert them to VTT on upload.

Step 1 — Upload the Subtitle File

  1. Open the asset in the Admin application and select the Related Assets tab.
  2. Click the + button next to the Subtitles section.
  3. In the upload dialog, select the correct format and language for the file.

Important: The format selected in the upload dialog must match the actual format of the file. See the Identifying Subtitle File Formats section below for help determining the format.

Step 2 — Auto-Convert to VTT

After uploading the subtitle file, trigger conversion to VTT:

  1. Select Reprocess Asset from the top-right menu of the asset.
  2. Wait for the asset status to move from "Registering" to complete (usually a minute or less).
  3. The new VTT file will appear in the Related Assets tab alongside the original subtitle file.

The VTT file is what appears in the video playback UI as selectable captions.


Identifying Subtitle File Formats

Use the characteristics below to identify an unknown subtitle file's format.

SRT (SubRip Subtitle) — .srt

  • Structure: Sequential numeric index, timestamp line, text, blank line separator
  • Timestamp format: HH:MM:SS,mmm --> HH:MM:SS,mmm (comma before milliseconds)
  • Key identifier: Numbered blocks starting at 1, timestamps use --> with commas
1
00:00:06,523 --> 00:00:10,760
This is the first subtitle line.

WebVTT — .vtt

  • Structure: Starts with WEBVTT header, optional cue identifiers, timestamp line, text
  • Timestamp format: HH:MM:SS.mmm --> HH:MM:SS.mmm (dot before milliseconds)
  • Key identifier: File must begin with WEBVTT on the first line; uses dots in timestamps
WEBVTT

00:00:06.523 --> 00:00:10.760
This is the first subtitle line.

SSA / ASS (SubStation Alpha) — .ssa / .ass

  • Structure: INI-like sections: [Script Info], [V4+ Styles], [Events]
  • Timestamp format: H:MM:SS.cc (centiseconds)
  • Key identifier: Begins with [Script Info]; dialogue lines prefixed with Dialogue:
[Script Info]
Title: Example

[Events]
Dialogue: 0,0:00:06.52,0:00:10.76,Default,,0,0,0,,This is the first subtitle line.

TTML — .ttml / .xml / .dfxp

  • Structure: XML-based with <tt> root element and <body><div><p> content hierarchy
  • Key identifier: XML declaration + <tt> root element with xmlns namespace
<tt xmlns="http://www.w3.org/ns/ttml">
  <body>
    <div>
      <p begin="00:00:06.523" end="00:00:10.760">This is the first subtitle line.</p>
    </div>
  </body>
</tt>

SCC (Scenarist Closed Captions) — .scc

  • Structure: Header Scenarist_SCC V1.0, then timestamp + hex-encoded caption data
  • Key identifier: Scenarist_SCC V1.0 header; data is hex-encoded (not human-readable)
  • Use case: Broadcast television, FCC compliance

STL (EBU Subtitles) — .stl

  • Structure: Binary format (EBU Tech 3264)
  • Key identifier: Binary file — not human-readable in a text editor
  • Use case: European broadcast standard

MicroDVD — .sub

  • Structure: Frame-based timing in curly braces, pipe-delimited text
  • Key identifier: Lines start with {digits}{digits}
{100}{250}This is the first subtitle line.

Quick Identification Checklist

CheckFormat
First line is WEBVTTVTT
Numbered blocks with --> and commas in timestampsSRT
Numbered blocks with --> and dots in timestamps (no WEBVTT header)Malformed SRT or headerless VTT
Starts with [Script Info]SSA/ASS
XML with <tt> root elementTTML/DFXP
Starts with Scenarist_SCC V1.0SCC
Lines start with {frame}{frame}MicroDVD
Binary / not human-readableLikely STL (EBU)