Thailand Film Dubbing -Timed Text Style Guide: General Requirements

We follow what we consider to be the world leader in cutting-edge film production techniques. Netflix. This is because Netflix techniques were designed from the ground up as a digital-technology without any of the legacy that traditional film technology and production houses grew up with. A completely fresh & fully digital approach with a full understanding of current technology provides what we consider the pinnacle of global dubbing processes.

Timed Text Style Guide: General Requirements 

Any timed text created specifically for Netflix – Originals or non-Originals – should follow the Netflix Timed Text Style Guide, unless otherwise advised.

1. Duration

Minimum duration: 5/6 (five-sixths) of a second per subtitle event (e.g. 20 frames for 24fps)

Maximum duration: 7 seconds per subtitle event

2. File Format

Subtitle and SDH files for all languages must be delivered in a TTML (.dfxp or .xml) format, except for Japanese, which must be delivered in Videotron Lambda Cap format.

3. Frame Gap

2 frames minimum (regardless of frame rate)

4. Glyph List

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

5. 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:

6. Positional Data

Should be expressed in generic terms (textAlign, displayAlign, etc.)

Do not use absolute values (percentage, pixels, etc.)

All subtitles should be center justified and placed at either the top or bottom of the screen, except for Japanese, where vertical positioning is allowed (see Japanese Timed Text Style Guide for details).

7. Timing

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.

8. Consistency

Glossaries/consistency sheets/formality tables must be created and used for translation across episodes and seasons. They should be provided to Netflix upon delivery of timed texted material for QC purposes.

9. Netflix Credit Translations

Translations for Netflix Originals title cards must be included in full and forced subtitle streams. Please refer to the Originals Credit Translation document.

10. Title Cards/Dedications

Subtitle all plot pertinent and otherwise relevant on-screen text that is not covered in dialogue and/or redundant in the target language such as: “Based on True Events”, “In Loving Memory of Anna”, etc.

11. Currency

Currency should not be converted in the subtitle files. Any mention of money amounts in dialogue should remain in the original currency.

12. Translator Credits

Please include the translator credit as the last event of the subtitle file, using the approved translation provided in the Original Credits Translation Document.

13. TTML Sample of Subtitle and SDH

All TTML files created for subtitles or SDH must adhere to the following technical specifications:

Sample TTML snippet for Subtitle and SDH below:

<?xml version="1.0" encoding="utf-8"?>

<tt xmlns="" xmlns:ttp="" xmlns:tts="" xmlns:ttm="" xmlns:xml="" ttp:timeBase="media" ttp:frameRate="24" xml:lang="en">



<ttm:title>Sample TTML</ttm:title>



<style xml:id="s1" tts:textAlign="center" tts:fontFamily="Arial" tts:fontSize="100%"/>



<region xml:id="bottom" tts:displayAlign="after" tts:extent="80% 40%" tts:origin="10% 50%"/>

<region xml:id="top" tts:displayAlign="before" tts:extent="80% 40%" tts:origin="10% 10%"/>



<body region="bottom" style="s1">


<p xml:id="subtitle1" begin="00:00:01.375" end="00:00:05.750" style="s1" region="top" >TOP SAMPLE TEXT</p>

<p xml:id="subtitle2" begin="00:00:05.916" end="00:00:10.216" style="s1" >BOTTOM SAMPLE TEXT</p>

<p xml:id="subtitle3" begin="00:00:10.418" end="00:00:15.083" style="s1" region="top" >Top Hello</p>

<p xml:id="subtitle4" begin="00:00:15.391" end="00:00:20.558" style="s1" >Bottom Hello</p>

<p xml:id="subtitle5" begin="00:00:20.750" end="00:00:25.041" style="s1" >He had a great story.</p>

<p xml:id="subtitle6" begin="00:00:25.875" end="00:00:30.166" style="s1" >- Did he tell you what it was about?<br/>- He did.</p>

<p xml:id="subtitle7" begin="00:00:30.416" end="00:00:35.558" style="s1" >In 1992, a shipping container<br/>fell overboard</p>

<p xml:id="subtitle8" begin="00:00:35.858" end="00:00:40.091" style="s1" >on its way from China</p>

<p xml:id="subtitle9" begin="00:00:40.341" end="00:00:45.133" style="s1" >to the United States,<br/>releasing 29,000 rubber ducks</p>

<p xml:id="subtitle10" begin="00:00:45.325" end="00:00:50.041" style="s1" >into the Pacific Ocean.</p>





Change Log:


Timed Text Style Guide: General Requirements

Added section 12 Translator Credits 

Revised section 12 TTML Sample of Subtitle and SDH - renumbered to 13


Timed Text Style Guide: General Requirements

Revised section 2 File Format – text edited to include Lambda Cap for Japanese

Revised section 6 Positional Data – text edited to include vertical positioning for Japanese

Revised section 7 Timing – text rewritten for clarity

Revised section 8 Consistency – formality table added

Added section 10 Title Cards/Dedications

Added section 11 Currency