English Template Timed Text Style Guide

An English template serves as the basis for subtitling in other languages. Any timed text created specifically for Netflix – Originals or Licensed Content – should follow the Netflix Timed Text Style Guide, unless otherwise advised.

1. Duration

  • Minimum duration: ⅚ (five-sixths) second per subtitle event (e.g. 20 frames for 24fps; 25 frames for 29.97fps)
  • Maximum duration: 7 seconds per subtitle event

2. Reading Speed

  • Adult programs: 200 words per minute / 17 characters per second
  • Children’s programs: 160 words per minute / 13 characters per second

3. File Format

English template files must be delivered in TTML (.dfxp, .xml, .ttml) format.

4. Frame Gap

2 frames minimum (regardless of frame rate)

5. Character Limitation

42 characters per line

6. Glyph List

Only text/characters included in the NETFLIX Glyph List (version 2) can be used.

7. Line Treatment

2 lines maximum

Always keep the text on one line, unless it exceeds the character limitation. Follow these basic principles when the text has to be broken into 2 lines:

  • The line should be broken
    • after punctuation marks
    • before conjunctions
    • before prepositions
  • The line break should not separate
    • a noun from an article
    • a noun from an adjective
    • a first name from a last name
    • a verb from a subject pronoun
    • a prepositional verb from its preposition
    • a verb from an auxiliary, reflexive pronoun or negation

8. Italics

  • The following should be italicized on the English template:
    • Voice-overs such as not-in-scene narrators or the voice of a visible character expressing unspoken thoughts
    • Song lyrics when sung, not quoted (if rights have been granted)
    • Unfamiliar foreign words and phrases
    • Dialogue that is heard through electronic media, such as a phone, television, or computer
    • Only use italics when the speaker is not in the scene(s), not merely off screen or off camera
    • Titles of books, periodicals, works of art, albums, movies, TV shows, radio shows. (use quotes for song titles)

9. Positional Data

Should be expressed in generic terms (textAlign, displayAlign, etc.) or percentage values. Do not use pixel values.

All subtitles should be center justified and placed at either the top or bottom of the screen.

10. Timing

  • Timing to Audio: Subtitles should be timed to the audio or, if necessary, within 3 frames of the audio. If more time is required for better reading speed, the out-time can be extended up to 12 frames past the timecode at which the audio ends.
  • Timing to Shot Changes: It is good practice to avoid subtitles that cross the shot changes whenever possible, as this is disruptive to the viewing experience.
  • Dialogue that crosses shot changes: when dialogue crosses the shot change the timecodes should be adjusted to either be at the shot change or at least 12 frames from it.

If dialogue starts between 8-11 frames (green zone) before the shot change, the in-time should be moved up to 12 frames before the shot change.

If dialogue starts 7 frames or less (red zone) before the shot change, the in-time should be moved to the shot change.

If dialogue ends between 8-11 frames (green zone) after the shot change, the out-time should be moved out to 12 frames after the shot change.

If dialogue ends 7 frames or less (red zone) after the shot change, time code out should be moved to the shot change, respecting the two-frame gap.

If there is one subtitle before and one after the shot change, the second one should start on the shot change, and the first should end two frames before.

11. Annotations

During the creation of the English template annotations should be made in order to provide additional context to translators. This should include notes for cultural references, idioms, jokes, etc. Please ensure that these annotations are included when delivering the English template to Netflix.

  • Annotations should be added to the end of each applicable event within HTML comments.
  • HTML comments use the following syntax:

<!-- Annotation 1 -->

  • Please avoid putting two or more adjacent hyphens inside comments.

12. Netflix Credit Translations

Translations for Netflix Originals title cards must be included in full and forced subtitle streams. For this reason, the English template must contain these instances. It is preferable if these are timed to match the exact duration and appearance onscreen.

13. Narratives Subtitles

  • Any instance of onscreen text relevant to the plot (whether set element or text added in post) must be included, even if redundant in English.
  • In the case of Main Title and Episode Title, placeholders are preferred (e.g. “MAIN TITLE” as opposed to “House of Cards”), to signal to the language resources these instances should not be translated freely.
  • Please ensure forced subtitles are positioned accordingly to avoid overlap with onscreen text. In cases where overlap is impossible to avoid (text at the top and bottom of screen), the subtitle should be placed where easier to read.

14. TTML Sample of English Template

All TTML files created as English Templates must adhere to the following technical specifications:

  • Only use percentage values. Do not use pixel values.
  • Use tts:textAlign and tts:displayAlign for positioning along with static values for tts:extent and tts:origin.
  • tts:fontSize shall be defined as 100%. Do not use pixel values.

Sample TTML snippet for English Template below:

<tt xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ttm:title>Netflix English Template Sample</ttm:title>
<style tts:fontStyle="normal" tts:fontWeight="normal" xml:id="s1" tts:color="white" tts:fontFamily="Arial" tts:fontSize="100%"></style>
<region tts:extent="80% 40%" tts:origin="10% 10%" tts:displayAlign="before" tts:textAlign="center" xml:id="topCenter"/>
<region tts:extent="80% 40%" tts:origin="10% 50%" tts:displayAlign="after" tts:textAlign="center" xml:id="bottomCenter"/>
<div style="s1" xml:id="d1">
<p xml:id="p1" begin="00:00:04.000" end="00:00:07.000" region="bottomCenter">BEGIN Netflix English Template Sample</p><!-- Netflix is a global provider of streaming movies and TV series, headquartered in Los Gatos, California. https://en.wikipedia.org/wiki/Netflix -->
<p xml:id="p2" begin="00:00:08.000" end="00:00:11.000" region="bottomCenter">Bottom<br/>Center</p><!-- Insert Annotation 2 Here -->
<p xml:id="p3" begin="00:00:12.000" end="00:00:15.000" region="topCenter">Top<br/>Center</p><!-- Insert Annotation 3 Here -->
<p xml:id="p4" begin="00:00:16.000" end="00:00:19.000" region="bottomCenter"> Max 42 Character Width Test<br/>WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW<br/>IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII</p>
<p xml:id="p5" begin="00:00:20.000" end="00:00:23.000" region="bottomCenter">Max 2 Lines Height<br/>Using line breaks</p>
<p xml:id="p6" begin="00:00:24.000" end="00:00:27.000" region="bottomCenter">The last word should be <span tts:fontStyle="italic">italicized</span></p>
<p xml:id="p7" begin="00:00:28.000" end="00:00:31.000" region="bottomCenter">END Netflix English Template Sample</p>


Change Log:


Added section 8 Italics




Was this article helpful?
9 out of 12 found this helpful