Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
SRT kannst du hier kostenlos und ohne Konto in VTT umwandeln: Datei oben ablegen, und ein, zwei Sekunden später steht das Ergebnis zum Herunterladen bereit. Die Umwandlung läuft in deinem eigenen Browser, die Datei wird also nie hochgeladen — das klappt unter Windows, macOS und Linux ebenso wie auf iPhone und Android, und es funktioniert selbst dann noch, wenn du das Netz abschaltest.
Bis zu 100 Dateien auf einmal. Gemischte Formate sind kein Problem.
Sie werden nacheinander umgewandelt und kommen zusammen als ZIP zurück.
SRT in VTT
Das track-Element in HTML-Video akzeptiert nur WebVTT, kein anderes Untertitelformat. Bekommt der Browser eine SRT-Datei vorgesetzt, passiert nichts — keine Fehlermeldung in der Konsole, kein Eintrag im Untertitelmenü, das Video läuft einfach ohne Untertitel weiter. Diese Stille bringt die meisten hierher, denn die Datei ist korrekt, das Markup ist korrekt, nur das Format stimmt nicht.
Für öffentliche Stellen in Deutschland ist das mehr als ein kosmetisches Problem: Die Barrierefreie-Informationstechnik-Verordnung (BITV 2.0) verlangt Untertitel für Videoinhalte auf Behördenwebseiten, und ein Video ohne funktionierende Untertitelspur erfüllt diese Vorgabe nicht, auch wenn eine SRT-Datei mit korrektem Text im Projektordner liegt.
Der erste ist das Komma. SubRip schreibt 00:01:32,500 mit Komma vor den Millisekunden, WebVTT schreibt 00:01:32.500 mit einem Punkt. Ein einziges Zeichen je Zeitangabe, zweimal pro Untertitelblock, und ein Parser, der auf das Komma trifft, bricht die Auswertung ab.
Der zweite ist die Kopfzeile. Eine WebVTT-Datei muss mit dem Wort WEBVTT in einer eigenen ersten Zeile beginnen, bevor irgendetwas anderes folgt — keine Dokumentation, sondern eine Pflichtangabe. Fehlt sie, wird die Datei komplett zurückgewiesen. Das Ergebnis dieser Umwandlung beginnt mit WEBVTT, gefolgt von einer Leerzeile, und jede Zeitangabe wird mit Stunden, Minuten, Sekunden und Millisekunden neu geschrieben, mit führenden Nullen und einem Punkt statt Komma.
Das probiert fast jeder zuerst, und nachvollziehbar: Beide Dateien sind Text, die Struktur sieht ähnlich aus, und eine Endung zu ändern dauert eine Sekunde. Funktionieren kann es trotzdem nicht, weil keiner der beiden Unterschiede von oben im Dateinamen steckt. Das Ergebnis ist eine Datei, die behauptet, WebVTT zu sein, als solche ausgeliefert wird und beim Parser bei der ersten Zeile scheitert.
Teuer wird das, weil der Fehler wie etwas anderes aussieht. Wer umbenannt hat, prüft als Nächstes das track-Element, den Dateipfad, den MIME-Type und den Player — nichts davon ist die Ursache. Eine ordentliche Umwandlung schließt diese Möglichkeit von vornherein aus.
SubRip nummeriert jeden Block ab eins, in der Zeile über der Zeitangabe. Diese Umwandlung liest diese Zahlen, verwendet sie für nichts und schreibt sie nicht ins WebVTT. Die Ausgabe besteht aus Kopfzeile, Leerzeile und danach Blöcken aus Zeitangabe und Text, jeweils durch eine Leerzeile getrennt.
Das ist eine bewusste Entscheidung, kein Verlust. WebVTT behandelt die Zeile vor der Zeitangabe als optionale Kennung, nicht als Zähler, und weder ein Browser noch ein Player verlassen sich darauf. Was wirklich an einen einzelnen Untertitel gebunden werden kann — eine Position, eine Ausrichtung, eine Breite — steht als Einstellung hinter der Endzeitangabe, und eine bloße Nummer davor wäre nur zusätzlicher Text.
Der Text jedes Untertitelblocks wird wörtlich aus der SRT-Datei übernommen. Nichts wird entfernt, maskiert oder neu interpretiert. Beide Formate schreiben Kursiv- und Fettschrift mit denselben spitzen Klammern, deshalb bleibt eine Betonung, die in der SRT-Datei so gesetzt wurde, auch auf der Webseite bestehen.
Das lohnt sich vor der Veröffentlichung zu prüfen. Ein programmspezifischer Code, den manche Desktop-Software in einer SRT-Datei versteht — etwa eine Positionsangabe in geschweiften Klammern —, kommt ebenso unverändert an, und ein Browser weiß damit nichts anzufangen. Er erscheint als sichtbarer Text mitten im Untertitel. Stammt die SRT-Datei aus einem Fansub- oder Schnittprogramm-Workflow, die ersten Zeilen der Ausgabe kurz durchsehen.
Das track-Element gehört ins video-Element, mit src auf die .vtt-Datei, kind gesetzt, srclang mit dem Sprachcode und einem label, das im Untertitelmenü erscheint. Das Attribut default fügt hinzu, wer will, dass die Untertitel beim Start bereits eingeschaltet sind — sonst muss die Zuschauerin das Menü erst finden, und viele tun das nicht.
Das Attribut kind verdient mehr Aufmerksamkeit, als es meistens bekommt. subtitles setzt voraus, dass jemand hört, aber die Sprache nicht versteht; captions setzt voraus, dass jemand nicht hört, und beschreibt dann auch Geräusche und Musik. Wo Untertitel eine Barrierefreiheitspflicht erfüllen sollen, reicht ein als captions markierter Track mit reiner Übersetzung formal aus, erfüllt den eigentlichen Zweck aber nicht.
Sind Kopfzeile und Zeitangaben korrekt und die Untertitel erscheinen trotzdem nicht, liegt die Ursache in der Seite, nicht in der Datei. Dem track-Element können kind oder srclang fehlen, oder niemand hat die Untertitel je eingeschaltet, weil kein default-Attribut gesetzt ist.
Am meisten Zeit kostet meist ein anderer Grund: eine VTT-Datei, die von einer anderen Herkunft als die Seite selbst ausgeliefert wird — eine separate Asset-Domain, ein Bucket, eine CDN-Adresse — wird ohne passende CORS-Header stillschweigend abgelehnt. Das Video läuft, das Menü bleibt leer, und nichts auf der Seite verrät den Grund. Die .vtt-Adresse direkt im Browser zu öffnen zeigt schnell, ob überhaupt eine gültige Datei ankommt.
Untertitel-Editoren, Transkriptionsdienste und Desktop-Werkzeuge arbeiten so gut wie ausschließlich mit SRT — das gesamte Ökosystem geht von diesem Format aus. Text und Timing dort zu korrigieren und erst beim Veröffentlichen umzuwandeln ist die vernünftige Arbeitsteilung.
Der Fehler, den es zu vermeiden gilt, ist die Pflege beider Dateien parallel. Zwei zunächst identische Dateien laufen auseinander, sobald jemand einen Tippfehler nur in der einen behebt, und dieses Auseinanderlaufen fällt niemandem auf, bis eine Zuschauerin einen Untertitel liest, den das Transkript so nicht enthält. Die VTT-Datei wie ein Build-Ergebnis behandeln: neu erzeugen, nie von Hand ändern.
Diese Umwandlung schreibt den Medientyp text/vtt fest, und der Server, der die Datei später ausliefert, muss denselben Typ senden. Die meisten aktuellen Hosting-Umgebungen ordnen die .vtt-Endung korrekt zu, ältere Konfigurationen fallen mitunter auf einen generischen Binärtyp oder text/plain zurück, und ein Browser darf eine Untertiteldatei mit falschem Typ ablehnen.
Zwei weitere Details sparen später Zeit. Untertiteldateien sind klein und ändern sich selten, deshalb lohnt sich langes Caching — nur sollte der Dateiname bei einer Korrektur mitversioniert werden, statt sich auf einen Cache-Purge zu verlassen, sonst zeigt ein Gerät noch Tage nach der Korrektur die alte Fassung. Und die Endung .vtt sollte auch dann bleiben, wenn eine Build-Pipeline Dateinamen sonst mit Hashes versieht, weil manche Player und Validierungswerkzeuge sich beim Prüfen einer Untertitelspur an der Endung orientieren.
Im Browser, in JavaScript, ohne Upload und ohne Warteschlange. Die Datei wird als Text eingelesen, zu einer Liste von Untertitelblöcken mit Millisekunden-genauer Zeit geparst und als WebVTT zurückgeschrieben. Es gibt keinen Server dazwischen, weshalb die Umwandlung sofort abgeschlossen ist und keine Anmeldung nötig ist.
Die freie Obergrenze liegt bei 100 MB, und keine Untertiteldatei kommt dem je nahe — ein ganzer Spielfilm sind wenige zehn Kilobyte Text. Die Ausgabe wird als UTF-8 geschrieben, aber eingelesen wird die SRT-Datei ebenfalls als UTF-8, ohne Erkennung einer anderen Kodierung. Ist eine ältere deutschsprachige SRT-Datei noch in Windows-1252 oder ISO-8859-1 gespeichert — beides bei SubRip verbreitet, weil das Format seine eigene Kodierung nirgendwo angeben kann —, kommen Umlaute und ß bereits beim Einlesen falsch an, und die feste UTF-8-Ausgabe schreibt diesen Fehler nur sauber weiter, statt ihn zu beheben. Zeigt das Ergebnis Fragezeichen oder falsche Zeichen anstelle von Umlauten, die Quelldatei vorher in einem Editor nach UTF-8 speichern und erst dann hier umwandeln.
| SRT | VTT | |
|---|---|---|
| Vollständiger Name | SubRip-Untertitel | WebVTT |
| Dateiendung | .srt | .vtt |
| Medientyp | application/x-subrip | text/vtt |
| Erstmals veröffentlicht | 2000 | 2010 |
| Herausgegeben von | — | W3C |
| Spezifikation | — | WebVTT |
| Lizenzlage | Offener Standard | Offener Standard |
| Heutiger Stand | Aktuell | Aktuell |
| Öffnet im Browser | Kein Browser | Jeder Browser |
| Stattdessen erwogen | ASS | ASS |
Es geht nichts verloren. SRT und VTT speichern ihren Inhalt verlustfrei — die Umwandlung tauscht die Verpackung, nicht die Qualität, und du kannst sie wiederholen, ohne dass sich Schäden aufsummieren.
VTT öffnet sich in jedem aktuellen Browser. SRT unterstützen noch weniger Browser. Wenn die Datei auf eine Webseite oder in ein Formular soll, ist das meist der ganze Grund für die Umwandlung.
VLC und Subtitle Edit lesen sowohl SRT als auch VTT — du kannst das Ergebnis also gegen das Original prüfen, ohne ein zweites Programm zu brauchen.
VTT kommt von W3C und stammt aus 2010, festgehalten in WebVTT. VLC und Subtitle Edit lesen das Format.
Nein. Diese Umwandlung läuft vollständig in deinem Browser, die Datei verlässt dein Gerät also nicht. Du kannst das selbst nachprüfen: Öffne den Netzwerk-Tab der Entwicklerwerkzeuge und wandle etwas um. Zu sehen sind die Seite selbst und die Statistik- und Werbeanfragen, mit denen dieser Dienst bezahlt wird — und keine einzige, die deine Datei trägt.
Ja. Kein Konto, kein Wasserzeichen und kein Tageskontingent, das sich verbraucht — es läuft auf deinem eigenen Rechner, du darfst also so oft wiederkommen, wie du willst. Dateien bis 100 MB verarbeitet der Browser, 100 auf einmal.
Nein. VTT speichert denselben Inhalt, ohne etwas wegzuwerfen — das Ergebnis ist qualitativ mit dem Original identisch.
Es geht nichts verloren. SRT und VTT speichern ihren Inhalt verlustfrei — die Umwandlung tauscht die Verpackung, nicht die Qualität, und du kannst sie wiederholen, ohne dass sich Schäden aufsummieren.