VTT

Was ist eine VTT-Datei?

Das Untertitelformat, das HTML5-Video erwartet. SRT mit Kopfzeile und Gestaltungsmöglichkeiten.

Was VTT ist

VTT ist ein reines Textformat, das sich in jedem Editor öffnen lässt. Eingesetzt wird es für Untertitel und das Web.

Die Endung lautet .vtt, der volle Name WebVTT. Beides sagt weniger aus als das, was die Datei halten kann — und davon handelt der Rest dieser Seite.

Woher VTT kommt

W3C hat es 2010 veröffentlicht. Die Spezifikation ist WebVTT.

Das Alter ist aus einem praktischen Grund interessant: je älter ein Format, desto mehr Programme hatten Zeit, es zu lernen.

Die Spezifikation ist öffentlich

Sie ist vollständig veröffentlicht, das Format lässt sich also aus dem Dokument umsetzen statt durch Nachsehen. Deshalb taucht es in so vielen Programmen auf, und deshalb gehen Dateien von vor zwanzig Jahren heute noch auf. Veröffentlicht heißt allerdings nicht lizenzfrei: Wo ein Format einen Codec einpackt, ist die Patentfrage eine eigene, die der Standard nicht mitbeantwortet.

Es wird nichts weggeworfen

VTT speichert seinen Inhalt exakt. Erneutes Speichern ändert nichts, es lässt sich also beliebig oft öffnen, bearbeiten und wieder ablegen, ohne dass sich Schaden ansammelt — genau das macht es zu einem Arbeitsformat und nicht zu einem Ausgabeformat.

Was VTT öffnet

VLC und Subtitle Edit lesen es, und die meisten Programme derselben Art ebenfalls.

Wenn eine Datei nicht aufgeht, liegt es selten am Format — häufiger daran, dass das Programm älter ist als das Format. Die Umwandlung in etwas Älteres ist der verlässliche Weg daran vorbei, und dafür gibt es den Rest dieser Website.

Im Browser öffnen

Jeder aktuelle Browser liest es.

Damit lässt es sich bedenkenlos auf eine Seite stellen oder an eine Nachricht hängen, ohne sich zu fragen, was die Gegenseite installiert hat.

Es ist ein Arbeitsformat

VTT ist zum Öffnen und Ändern gedacht. Behalte die Datei in diesem Format, solange die Arbeit läuft, und exportiere daraus, wann immer eine fertige Fassung gebraucht wird.

Das Format, das der Browser erwartet

HTML-Video nimmt Untertitel ausschließlich über ein track-Element entgegen, das auf eine VTT-Datei zeigt — nicht auf SRT, nicht auf ASS. Bekommt der Browser eines der beiden anderen Formate hingeworfen, ignoriert er es kommentarlos. Das erklärt den größten Teil des Traffics auf dieser Seite: Jemand hat Untertitel, hat sie neben ein Video auf einer Webseite gelegt, und es erscheint nichts.

Das Format selbst wurde absichtlich nah an SubRip gehalten, damit eine Umwandlung trivial bleibt. Nummerierung der Sequenzen ist optional statt Pflicht, bei den Zeitstempeln steht vor den Millisekunden ein Punkt statt eines Kommas, und die Datei muss mit dem Wort WEBVTT in der ersten Zeile beginnen. Diese Kopfzeile ist keine Formsache — fehlt sie, wird die Datei ohne Fehlermeldung ignoriert.

Warum die Untertitel nicht erscheinen

Vier Ursachen, in der Reihenfolge, in der man sie prüfen sollte. Die WEBVTT-Kopfzeile fehlt, meist weil eine SRT-Datei nur umbenannt wurde. Die Zeitstempel verwenden noch Kommas, aus demselben Grund. Dem track-Element fehlen kind und srclang, oder es fehlt das default-Attribut, und die Zuschauerin hat Untertitel nie eingeschaltet. Oder — die Ursache, die am meisten Zeit kostet — die Datei liegt auf einer anderen Domain ohne passende Cross-Origin-Kopfzeilen, und der Browser verweigert sie stillschweigend.

Dieser letzte Fall verdient besondere Aufmerksamkeit, weil nirgends ein sichtbarer Fehler auftaucht. Das Video läuft, das Untertitelmenü bleibt leer, und nichts auf der Seite deutet auf den Grund hin. Wird die VTT-Datei von derselben Domain ausgeliefert wie die Seite selbst, entfällt das Problem vollständig — ein guter Grund, Untertitel neben dem Video statt auf einer separaten Asset-Domain zu hosten.

Positionierung: line, align und size

Jede Sequenz kann nach ihrem Zeitstempel Einstellungen tragen — eine vertikale Position, eine horizontale Ausrichtung, eine Breite, eine Zeilennummer. Das kann SRT gar nicht ausdrücken, und es ist der eigentliche Grund, VTT für alles zu bevorzugen, was mehr als eine reine Abschrift sein soll.

Der übliche Anwendungsfall ist, eine Sequenz aus dem Weg zu räumen. Untertitel erscheinen standardmäßig unten im Bild, genau dort, wo Sender ihre Bauchbinden platzieren und wo die Bedienleiste eines Players sitzt. Eine line-Einstellung, die eine Sequenz für ein paar Sekunden nach oben schiebt, sind zwei Wörter in der Datei und lösen ein Problem, das sich sonst nirgendwo per Styling beheben lässt.

Was das WebVTT-Element alles außer Untertiteln kann

Eine VTT-Datei muss keine Untertitel enthalten. Das track-Element hat ein kind-Attribut, und die übrigen Werte sind nicht bloß Vollständigkeit: chapters erzeugt eine navigierbare Kapitelliste in Playern, die das unterstützen, descriptions trägt Audiodeskriptionstext für Bildschirmleseprogramme, und metadata trägt beliebige Sequenzen, auf die JavaScript reagieren kann, während das Video läuft.

Genau darüber lassen sich interaktive Abschriften, synchronisierte Folien und zeitgesteuerte Anmerkungen bauen. Die Sequenzen feuern, sobald die Wiedergabeposition sie erreicht, die Seite tut damit, was sie will, und sichtbar wird nichts, es sei denn, die Seite zeigt es an. Ein kleines Ablaufsystem, das sich als Untertitelformat tarnt.

Untertitel oder Bildunterschriften — der Unterschied, den das Gesetz kennt

Das track-Element unterscheidet zwischen subtitles und captions, und das ist keine Wortklauberei. Subtitles setzen voraus, dass die zuschauende Person hört und nur die Sprache nicht versteht. Captions setzen voraus, dass sie nicht hört, und enthalten deshalb auch nicht-sprachliche Informationen — eine zuschlagende Tür, einsetzende Musik, wer außerhalb des Bildes spricht.

Seit dem 28. Juni 2025 gilt in Deutschland das Barrierefreiheitsstärkungsgesetz, das viele private Anbieter zu barrierefreien digitalen Angeboten verpflichtet, mit den WCAG als anerkanntem Maßstab. Für vorproduzierte Videos zählt dabei die Bildunterschriftenvariante mit Nichtsprachinformationen — ein als captions ausgezeichneter Track, der nur übersetzten Dialog enthält, erfüllt die Kennzeichnung, nicht die Anforderung.

Woher VTT-Dateien meist kommen

Überwiegend aus automatischer Transkription. So gut wie jede Plattform und die meisten Transkriptionsdienste exportieren WebVTT, und die maschinelle Ausgabe ist gut genug, um korrigiert zu werden, und bei weitem nicht gut genug, um ungeprüft zu veröffentlichen — Eigennamen, überlappende Sprecher und Fachwörter sind die typischen Fehlerquellen, und ausgerechnet die tragen oft die Bedeutung.

Der andere Weg ist Konvertierung. Zeitliche Feinabstimmung ist in Desktop-Untertitelprogrammen für SRT deutlich besser unterstützt, deshalb ist es üblich, in SRT zu korrigieren und zu timen und erst beim Veröffentlichen nach VTT umzuwandeln. Das funktioniert gut, solange eine Datei die Ursprungsversion bleibt und die andere daraus erzeugt wird — nicht zwei Kopien, die still auseinanderlaufen.

Was beim Umwandeln erhalten bleibt und was nicht

Unser Konverter überträgt aus einer VTT-Datei Text und Zeitstempel, in ganzen Millisekunden — das ist alles, was das gemeinsame Zwischenformat kennt. Beim Lesen einer VTT-Datei zählt von jeder Positionsangabe nach dem Pfeil nur das erste Token; line-, position-, align- und size-Angaben sowie eigene Sequenz-Bezeichner werden dabei verworfen. Eine Sequenz, die absichtlich oben im Bild platziert war, um eine eingeblendete Werbetafel nicht zu verdecken, kommt nach der Umwandlung mittig unten an — genau über der Werbetafel.

Beim Schreiben nach ASS wird eine einzige fest vorgegebene Formatvorlage erzeugt, Arial 48, weiß — die Umwandlung erfindet also eine Optik, die im VTT nie vorgesehen war. Umgekehrt wird beim Lesen einer ASS-Datei jeder Formatierungsblock gelöscht, Positionierung, Schriftarten, Farben und Karaoke-Effekte überstehen das nicht. Der ganze Vorgang läuft im Browser, ohne dass die Datei irgendwohin übertragen wird.

Die Eckdaten auf einen Blick

Kennungen und Herkunft des Formats VTT.
Endung.vtt
Medientyptext/vtt
Herausgegeben vonW3C
Erstmals veröffentlicht2010
SpezifikationWebVTT