Skip to main content
Subtitles Localization

Learn about localizing subtitle file formats (.srt, .sub, .sbv, .vtt) with Transifex.

Jacob Doulkeridis avatar
Written by Jacob Doulkeridis
Updated over a week ago

File Extension(s)

.srt, .sub, .sbv, .vtt

i18n type(s)


Transifex supports four of the most popular subtitle file formats: SubRip, SubViewer, YouTube captions and WebVTT. You can translate SubRip and SubViewer files with the Video Subtitle Editor while watching the video play in the translation editor.

SubRip (.srt)

SubRip is the native subtitle format of the SubRip program. It is one of the most used formats for subtitles, supported by most software video players, many subtitle creation/editing tools, and some hardware home media players. YouTube also supports .srt files.

An entry in a .srt file may contain certain HTML tags, like <i>.

Also, please keep in mind that your file's encoding needs to be UTF-8. If your file's encoding differs, you can convert it following the process described here.

Titles and descriptions in .srt

If you need to translate titles and descriptions in SRT files, please follow the steps below:

  1. Include both title and description in your localization file as follows:


  2. To prevent translators from editing the text inside brackets, you can:

    • Click SubRip subtitles (.srt) checks.

    • Click Set up placeholder delimiters.

    • Create a new placeholder as follows:


  3. As a result, you will have the strings in the Editor like this:

    Subtitles in editor with Placeholder

SubViewer (.sub)

SubViewer files (.sub) are the native subtitle format of the SubViewer utility.

YouTube Captions (.sbv)

.sbv is the file format outputted by YouTube's Automatic Timing feature, automatically creating timed captions based on a transcript.

WebVTT (.vtt)

WebVTT is a subtitle format used in HTML5 videos. A .vtt file is composed of multiple sections, each separated by one or more blank lines. The first section in a VTT file begins with the "WEBVTT" signature, indicating the start of the subtitle data.

Sections in a WebVTT file can be either translatable, containing text strings meant for translation, or non-translatable. The WebVTT parser distinguishes between them using a timing line, which must be present in translatable sections and absent in non-translatable sections.


This is from a talk Silvia gave about WebVTT.

Slide 1
00:00:00.000 --> 00:00:10.700
Title Slide

Slide 2
00:00:10.700 --> 00:00:47.600
Introduction by Naomi Black

Slide 3
00:00:47.600 --> 00:01:50.100
Impact of Captions on the Web

Slide 4
00:01:50.100 --> 00:03:33.000
Requirements of a Video text format

Translatable section in a .vtt file

A translatable section consists of three parts:

  1. Optional Identifier: One or more lines of text that serve as an identifier. This identifier is non-unique and may be omitted.

  2. Timing (or Cue): A line containing timing data in the format “start time --> end time,” along with optional properties such as font, position, and rotation. The time format can be “” or “,” with the hour part being optional.

  3. Subtitle Text: The text displayed on top of the video. This can be a single line or multiple lines, and the parser preserves line breaks in multi-line text.


This is from a talk Silvia gave about WebVTT.

Slide 1
00:00:00.000 --> 00:00:10.700 position:98% align:right size:35%
Title Slide

Non-translatable section

A non-translatable section begins with a keyword such as STYLE, NOTE, or REGION. It can be a single line or span multiple lines, with the parser preserving line breaks in multi-line text. The leading section containing the "WEBVTT" keyword is also considered a non-translatable section.

📝 Note: Non-translatable text is not displayed in the Transifex web editor but is preserved when the file is exported.

Download modes

The following tables outline what occurs to untranslated, unreviewed, and un-proofread strings when using the API, CLI, or UI to manipulate translation files:

.srt, .sub, .sbv files

.vtt files (not final - needs to be updated before the release)

📝 Note: Proofreading must be enabled for this logic to take effect. To learn how to enable proofreading, click here.


Looking for more help? Get support from our Transifex Community Forum!

Find answers or post to get help from Transifex Support and our Community.

Did this answer your question?