SRT in VTT umwandeln

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.

  • Wo es läuft In deinem Browser. Die Datei wird nicht hochgeladen.
  • Verlustfrei Es geht nichts verloren. VTT enthält genau das, was auch SRT enthielt.
  • Größenbegrenzung Bis 100 MB pro Datei, kostenlos und ohne Konto.

Bis zu 100 Dateien auf einmal. Gemischte Formate sind kein Problem.

Warum ein Browser die SRT-Datei einfach ignoriert

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.

Zwei mechanische Unterschiede, mehr ist es nicht

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.

Nur die Endung zu ändern reicht nicht

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.

Die Nummerierung der Untertitel entfällt

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.

Kursivschrift und andere Tags kommen unverändert an

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.

Die fertige VTT-Datei ins track-Element einbinden

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.

Die Datei lädt, das Menü bleibt trotzdem leer

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.

Die SRT-Datei als Original behalten, VTT als Build-Ergebnis behandeln

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.

Die richtige Auslieferung, damit der Browser die Datei überhaupt annimmt

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.

Wo diese Umwandlung läuft

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 in VTT umwandeln — so geht es

  1. Leg deine SRT-Datei auf dieser Seite ab, oder klick, um eine auszuwählen.
  2. Wähl VTT als Ziel. Die Umwandlung läuft in deinem Browser, die Datei wird nicht hochgeladen.
  3. Lade die fertige VTT-Datei herunter.

SRT und VTT im Vergleich: was sich ändert

SRT im Vergleich zu VTT
SRTVTT
Vollständiger NameSubRip-UntertitelWebVTT
Dateiendung.srt.vtt
Medientypapplication/x-subriptext/vtt
Erstmals veröffentlicht20002010
Herausgegeben vonW3C
SpezifikationWebVTT
LizenzlageOffener StandardOffener Standard
Heutiger StandAktuellAktuell
Öffnet im BrowserKein BrowserJeder Browser
Stattdessen erwogenASSASS

Was erhalten bleibt

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.

Das Ergebnis öffnen

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.

Wofür die beiden Formate gedacht sind

VTT kommt von W3C und stammt aus 2010, festgehalten in WebVTT. VLC und Subtitle Edit lesen das Format.

SRT zu VTT: häufige Fragen

Werden meine SRT-Dateien irgendwo hochgeladen?

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.

Ist das Umwandeln von SRT in VTT kostenlos?

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.

Geht beim Umwandeln von SRT in VTT Qualität verloren?

Nein. VTT speichert denselben Inhalt, ohne etwas wegzuwerfen — das Ergebnis ist qualitativ mit dem Original identisch.

Ist SRT zu VTT verlustfrei?

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.

Mehr über diese Formate