coderef

Text tracksBaseline · Widely available

The <track> element is used as a child of the media elements that lets you specify a timed text track to be displayed in parallel with the media element.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Jul 29, 2015. Widely available since Jan 29, 2018.

Browser support

DesktopChrome
1–22Not supported
23+Supportedsince Nov 6, 2012
Current: 155
Edge
12+Supportedsince Jul 29, 2015
Current: 154
Firefox
1–30Not supported
31+Supportedsince Jul 22, 2014
Current: 157
Safari
1–5.1Not supported
6+Supportedsince Jul 25, 2012
Current: 27
MobileChrome Android
18–18Not supported
25+Supportedsince Feb 27, 2013
Current: 155
Firefox Android
4–30Not supported
31+Supportedsince Jul 22, 2014
Current: 157
Safari iOS
1–5Not supported
6+Supportedsince Sep 10, 2012
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

Full syntax and examples are on MDN: addTextTrack.

Feature detection

JS · check before using
if ("TextTrack" in globalThis) {
  // TextTrack is available
} else {
  // load a polyfill or use a fallback
}

Sub-features

Support for each part of the feature (46). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
HTMLMediaElement.addTextTrack231231625316
HTMLMediaElement.textTracks231231625316
HTMLTrackElement231231625316
HTMLTrackElement.cuechange_event32146810326810
HTMLTrackElement.default231231625316
HTMLTrackElement.kind231231625316
HTMLTrackElement.label231231625316
HTMLTrackElement.readyState231231625316
HTMLTrackElement.src231231625316
HTMLTrackElement.srclang231231625316
HTMLTrackElement.track231231625316
TextTrack231231625317
TextTrack.activeCues231231625317
TextTrack.addCue231231625317
TextTrack.cuechange_event231231625317
TextTrack.cues231231625317
TextTrack.id331831833318
TextTrack.inBandMetadataTrackDispatchType✕✕318✕318
TextTrack.kind231231625317
TextTrack.label231231625317
Show 26 more
Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
TextTrack.language231231625317
TextTrack.mode231231625317
TextTrack.removeCue231231625317
TextTrackCue231231625317
TextTrackCue.endTime231231625317
TextTrackCue.enter_event231231625317
TextTrackCue.exit_event231231625317
TextTrackCue.id231231625317
TextTrackCue.pauseOnExit231231625317
TextTrackCue.startTime231231625317
TextTrackCue.track231231625317
TextTrackCueList231231625316
TextTrackCueList.getCueById231231625316
TextTrackCueList.length231231625316
TextTrackList231231625317
TextTrackList.addtrack_event231231625317
TextTrackList.change_event331831733317
TextTrackList.getTrackById331831833318
TextTrackList.length231231625317
TextTrackList.removetrack_event331831733317
track231231625316
track.default231231625316
track.kind231231625316
track.label231231625316
track.src231250625506
track.srclang231231625316