Closed captions and subtitles

Requirements for Closed Captions/SDH, Full Subtitles, and Forced Narrative Subtitles.

Overview

Roku supports three types of text tracks: Closed Captions/SDH, Full Subtitles, and Forced Narrative Subtitles. They may look similar on screen, but each serves a different purpose and has its own delivery rules.

The Roku player displays only one text track at a time. As a result:

  • Every CC/SDH or Full Subtitle track must contain a complete transcription or translation of all dialogue and on-screen text needed to understand the story. The player cannot display two text tracks together.
  • Forced Narrative content must also be included in every CC/SDH or Full Subtitle track. Selecting one of those tracks hides the Forced Narrative track.

Closed captions must also comply with the external branding and calls to action requirements.


Track Types Compared

Closed Captions / SDHFull SubtitlesForced Narrative Subtitles
PurposeAccessibility for deaf/hard-of-hearing viewersLocalization: translates dialogue and text for viewers who do not understand the audio languageLocalization for specific moments unintelligible to the viewer (foreign-language snippets, unreadable on-screen text, inaudible audio)
Viewer toggleCan be turned on/offCan be turned on/offCannot be turned on/off; displays automatically
Language/audio pairingMust match the language and locale of its companion audio track; unavailable if no matching-language audio track is deliveredAvailable regardless of which audio track(s) are deliveredMust match the language and locale of its companion audio track; automatically displays when the viewer selects that audio and it includes unintelligible content
Content includedFull transcription of dialogue + sound effects/music cues/lyrics + all forced narrative contentFull translation of narratively important dialogue/text; does not describe sound effects or music cues (song lyrics translated only if narratively important)Only the specific unintelligible moments, rather than a full transcription
RegulatoryMay be required by regulatory agencies in certain territories (for example, the FCC in the US and the CRTC in Canada)--

Forced Narrative Subtitles

Forced narratives translate or convey information the viewer would otherwise miss, including:

  • Spoken dialogue in a language different from the viewer's selected audio track
  • On-screen text in a language different from the viewer's selected audio track
  • Inaudible or difficult-to-hear audio (e.g., noisy scenes, poor-quality recordings)

The forced narrative track is tied to the selected audio track. It is not a separate audio-language option. It covers dialogue or on-screen text in another language, as well as audio that is otherwise unintelligible.

When a viewer enables CC/SDH or Full Subtitles, the player hides the Forced Narrative track. CC/SDH and Full Subtitle tracks must include all forced narrative content so the viewer can still read that information.

Delivery Rules

  • Forced narrative subtitles must match the language and locale of their companion audio track.
  • Forced narrative subtitles must not be burned into (hardcoded onto) the video.
  • Sidecar forced narrative subtitles must be timed to timecode hour 00:00:00:00. The Roku encoder does not honor timecode embedded in the video file.
  • Do not provide an empty file (a file with no text) as a sidecar forced narrative deliverable.
  • Roku supports TTML and WebVTT positional data and places the text as defined in the file.
  • Forced narrative content must also be included in every CC/SDH and Full Subtitle track (see above).
  • Supported formats, text styling, language tagging, and file naming follow the same rules as Full Subtitles, subject to the companion audio language and locale matching requirement above.

Closed Captions / SDH

Also known as: subtitles for the deaf or hard of hearing (SDH), subtitles for the deaf and hard of hearing.

Roku strongly prefers closed captions/SDH for all content but does not require them for every delivery. The partner is responsible for determining whether captions are required for a specific delivery and its distribution territories. The regulatory information below is provided as a reference for that determination. Whenever captions are supplied, they must meet the format, synchronization, language, and other delivery requirements in this section.

Regulatory Requirements (US)

For US deliveries, partners can refer to the FCC closed captioning rules for Internet Video Programming when determining whether captions are required: https://www.fcc.gov/consumers/guides/captioning-internet-video-programming

  • When the partner determines that FCC rules require captions for the delivery, the content must be delivered with CC/SDH, conformed and synced to the program.
  • When the partner determines that the content is exempt from the requirement, the metadata must include a valid exemption code number.

Exemption codes:

CodeDefinition
1The content has never aired on television in the United States.
2The content has only aired on television in the United States without captions.
3The content has not aired on television in the United States with captions since September 30, 2012.
4The content does not consist of full-length video programming.
5The content does not fall within a category of online programming that requires captions under FCC regulations (47 C.F.R. § 79.4(b)).
6The FCC and/or U.S. Congress has granted an exemption from caption requirements for this content.

Regulatory Requirements (Canada)

Beginning May 25, 2027, the Canadian Radio-television and Telecommunications Commission (CRTC) requires audio-visual online streaming services in Canada to provide closed captioning (Broadcasting Regulatory Policy CRTC 2026-98). The requirement covers English- and French-language programs, including new original programs, programs previously aired on Canadian linear television with captions, promotional and short-form content, and third-party content when the supplier makes captions available.

Because streaming services depend on supplier-delivered captions to meet this requirement, CC/SDH should be delivered for all content, including content intended for Canada. Captions should also meet the CRTC quality criteria:

  • Accuracy: match the spoken dialogue with correct spelling, and convey non-speech information (background noise, music, other sounds), speaker identity, and manner of speaking
  • Placement: do not cover action or visual elements needed to understand the content, do not overlap one another, and do not run off the edge of the screen
  • Synchronization: coincide with the corresponding speech and sounds, and display at a speed viewers can read
  • Completeness: run from the beginning to the end of the program

Other Territories

For deliveries to territories other than the US and Canada, the partner is responsible for determining whether the applicable territorial rules require captions for the delivery.

Delivery Method

When captions/SDH are supplied, they may be delivered as:

  • EIA-608/CEA-708 embedded in-stream in the video file, or
  • A sidecar caption/SDH file

Roku prefers a human-readable sidecar file (.ttml, .dfxp, .vtt, or .srt).

Delivery Rules

  • Sidecar captions/SDH must be timed to timecode hour 00:00:00:00. The Roku encoder does not honor timecode embedded in the video file.
  • Do not provide an empty file (a file with no text) as a sidecar caption/SDH deliverable.
  • Roku supports TTML and WebVTT positional data and places the text as defined in the file.
  • When CC/SDH is supplied with a QuickTime video file, it must be delivered as a sidecar closed caption file. Roku does not support the QuickTime text track.
  • Supported text styling is limited to bold (<b>) and italic (<i>) tags, text color, and text positioning. The same rules apply to Full Subtitles; see Text Styling Support.

Supported Formats

Format NamePositional DataStyle DataExtensionEncodingDelivery TypeLanguages
Timed Text Markup Language (TTML)YY.ttmlUTF-8SidecarFollows audio language of video file or dub file
Web Video Text Track (WebVTT)YY.vtt or .webvttUTF-8SidecarFollows audio language of video file or dub file
Distribution Format Exchange Profile (DFXP)NN.dfxpUTF-8SidecarFollows audio language of video file or dub file
EBU Subtitle Data Exchange Format (STL)NN.stlUTF-8SidecarFollows audio language of video file or dub file
SubRip Text (SRT)NN.srtUTF-8SidecarFollows audio language of video file or dub file
EIA-608/CEA-708NNn/an/aEmbedded in MPEG streamEmbedded in video file

CC/SDH language: CC/SDH follows the language of the main or dub audio track it accompanies. Unlike Full Subtitles, it does not require a separate language-code declaration.

Legacy Format (supported, not preferred)

Format NamePositional DataStyle DataExtensionEncodingDelivery TypeLanguages
SCC (legacy; use a format above when possible)NN.sccASCIISidecarFollows audio language of video file or dub file

Full Subtitles

If the audio is not in the primary language of the distribution territory, the delivery must include a dub, subtitles, or both in that territory's primary language. See Track Types Compared for the differences between text tracks.

Delivery Rules

  • Subtitles must not be burned into (hardcoded onto) the video.
  • Roku prefers a human-readable sidecar file (.ttml, .dfxp, .vtt, or .srt).
  • Sidecar subtitles must be timed to timecode hour 00:00:00:00. The Roku encoder does not honor timecode embedded in the video file.
  • Do not provide an empty file (a file with no text) as a sidecar subtitle deliverable.
  • Roku supports TTML and WebVTT positional data and places the text as defined in the file.

Text Styling Support

Closed Captions/SDH and Full Subtitles support the following text styling:

  • Bold (<b>) and italic (<i>) tags
  • Text color
  • Text positioning

Supported Formats

Format NamePositional DataStyle DataExtensionEncodingDelivery TypeLanguages
Timed Text Markup Language (TTML)YY.ttmlUTF-8SidecarMust conform to a supported language code; include region code where possible
Web Video Text Track (WebVTT)YY.vtt or .webvttUTF-8SidecarMust conform to a supported language code; include region code where possible
Distribution Format Exchange Profile (DFXP)NN.dfxpUTF-8SidecarMust conform to a supported language code; include region code where possible
EBU Subtitle Data Exchange Format (STL)NN.stlUTF-8SidecarMust conform to a supported language code; include region code where possible
SubRip Text (SRT)NN.srtUTF-8SidecarMust conform to a supported language code; include region code where possible

Full Subtitle language: each Full Subtitle track has its own language tag. A title can have subtitle tracks in multiple languages, regardless of which audio tracks are delivered.


Glossary

TermDefinition
SDHSubtitles for the deaf or hard of hearing. In this specification, SDH and closed captions serve the same function.
EIA-608/CEA-708Broadcast caption standards embedded directly in the video stream (in-stream), as opposed to a sidecar file.
Forced narrativeA non-toggleable text track that displays only for specific unintelligible moments (foreign dialogue, unreadable text, inaudible audio) within the viewer's selected audio track.
Burned-in / hardcoded subtitlesSubtitle text permanently rendered into the video image itself, rather than delivered as a separate, toggleable track. Not permitted for Full Subtitles.
Conformed and syncedCaptions that have been time-aligned and verified to match the final program cut exactly.
Positional dataInformation within a caption/subtitle file specifying where on screen the text should appear, rather than defaulting to a fixed position.

Did this page help you?