Zum Inhalt springen
OneKitly

SRT zu Text: ein sauberes Transkript aus Untertiteln gewinnen

Veröffentlicht am 5.8.2026 · 11 Min. Lesezeit · Entwickler-Tools

Daniel Okonkwo

Daniel OkonkwoFront-end-Entwickler und Tech-Redakteur bei OneKitly

Web-Performance · Dateiformate

Anhand von 3 Quellen geprüft

Profil ansehen
Kurz gesagt

Dieser Konverter entfernt genau zwei Dinge: die Untertitelnummer und die Zeitzeile. Alles zwischen Zeitzeile und Leerzeile kommt unverändert durch — eine bewusste Entscheidung und zugleich das, was die meisten falsch verstehen. Gib ihm eine Untertiteldatei, und die Kursiv-Tags überleben als <i>…</i>, die Farb-Tags als <font color=…>, die Positionsanweisung als {\an8}, die Geräuschbeschreibungen als [MÖWEN], die Dialogstriche als Bindestrich plus Leerzeichen, und in einer WebVTT-Datei überleben die Sprecher-Tags als <v Roger Bingham>, dazu Klassen-Tags und die eingebetteten <00:00:07.500>-Stempel für wortweise Hervorhebung. Was es dir auf der WebVTT-Seite abnimmt, ist die Struktur um die Untertitel herum: WEBVTT-Header, NOTE-Kommentarblöcke, STYLE-Blöcke, REGION-Blöcke, Cue-Bezeichner und die Einstellungsliste nach dem Pfeil werden sämtlich verworfen. Das Zweite betrifft die Zusammenführungsoption. „Jeden Untertitel in eine Zeile zusammenführen“ verbindet die Zeilen innerhalb eines Untertitels; sie verbindet nie einen über zwei Untertitel verteilten Satz, und nichts in der Datei ließe das zu — ein Untertitelumbruch entscheidet, wie viel Text auf den Schirm passt, nicht wo ein Satz endet. Eine Zeile „Die Sache mit dem Hafen“ gefolgt von einem Untertitel „ist, dass er nie richtig zufror“ kommt in beiden Modi als zwei Zeilen heraus. Rollende Untertitel, die eine Zeile beim Scrollen wiederholen, werden ebenfalls nicht entdoppelt. Rechne mit einem Durchgang Suchen-und-Ersetzen für die Auszeichnung und einem Durchlesen für die Verbindungen.

Nummern und Zeitstempel zu entfernen ist die leichte Hälfte. Über die Lesbarkeit entscheiden Kursiv-Tags, Dialogstriche, Geräuschbeschreibungen und über zwei Untertitel gebrochene Sätze — und dieser Konverter überlässt sie dir allesamt.

Die leichte Hälfte: Nummern, Zeiten, Leerzeilen

Eine SubRip-Datei besteht aus vier wiederholten Dingen: einem Zähler, einer Zeitzeile, einer oder mehreren Textzeilen und einer Leerzeile, die den Block schließt. Drei dieser vier sind Gerüst. Entferne sie, und du hast ein Transkript — hier fängt jeder Untertitel-zu-Text-Konverter an, und hier gelingt es allen. Dieser liest jeden Block, springt vor, bis er eine Zeile mit dem Pfeil findet, und behält alles danach bis zur Leerzeile. Der Zähler wird verworfen, ob er in der Reihe steht oder nicht, eine Datei mit doppelten oder unsortierten Nummern konvertiert also problemlos.

Eine Folge, die man kennen sollte: Ein Untertitel ganz ohne Text zählt trotzdem als Untertitel. Manche Encoder geben einen leeren Block aus, um eine Einblendung vom Schirm zu nehmen; der Konverter findet dessen Zeitzeile, behält das Nichts danach, und das Transkript beginnt mit zwei Leerzeilen vor dem ersten echten Satz. Harmlos, aber es sieht nach einem Fehler deines Exports aus statt nach einer Eigenheit deiner Quelle — deshalb lohnt es, es zu erkennen.

Die schwere Hälfte: alles, was der Konverter stehen lässt

Untertiteltext ist kein reiner Text. Das ursprüngliche SubRip-Programm unterstützte einen kleinen, von HTML abgeleiteten Satz an Formatierungen — fett, kursiv, unterstrichen und farbig — und diese Tags reisen mit der Datei. Fansubs und Rips fügen mehr hinzu: {\an8}, um eine Einblendung an den oberen Bildrand zu heben, wenn sie mit eingebranntem Text kollidieren würde, und Geräuschbeschreibungen in eckigen Klammern wie [MÖWEN] oder [MUSIK], die zur Untertitelung für Gehörlose und Schwerhörige gehören. Zwei Sprecher in einem Untertitel werden konventionell mit Bindestrich und Leerzeichen am Anfang jeder Zeile markiert. Nichts davon wird hier entfernt, und nichts sollte ohne deine Entscheidung entfernt werden: Ob ein Transkript seine Geräuschbeschreibungen behält, hängt ganz davon ab, wozu es dient.

WebVTT bringt sein eigenes Vokabular mit, und die Behandlung durch den Konverter zerfällt sauber in zwei Teile. Die Struktur um die Untertitel wird bewältigt: die WEBVTT-Kopfzeile, NOTE-Kommentarblöcke, STYLE-Blöcke mit CSS, REGION-Blöcke für Scrollbereiche, der optionale Bezeichner über der Zeitzeile und die Einstellungsliste nach dem Pfeil — Ausrichtung, Position, Zeile, Region — werden allesamt entfernt, denn sie stehen nie im Untertitelrumpf. Die Auszeichnung im Rumpf wird überhaupt nicht behandelt. Ein Sprecher-Tag, das die Spezifikation als öffnendes Tag v mit einer den Sprecher benennenden Annotation definiert, landet in deinem Transkript als der wörtliche Text <v Roger Bingham>. Klassen-Tags landen als <c.yellow>…</c>. Wortweise Hervorhebung landet als nackte Stempel wie <00:00:07.500> mitten im Satz.

Das aufzuräumen ist Suchen-und-Ersetzen und dauert eine Minute, aber tu es in der richtigen Reihenfolge. Entferne zuerst die Tag-Paare, denn nur die spitzen Klammern zu löschen ließe verwaisten Attributtext zurück. Entscheide dann über die eckigen Klammern — behalten für ein Barrierefreiheits-Transkript, streichen für eine Übersetzungsvorlage. Entscheide zuletzt über die Striche, die in einem Zwei-Sprecher-Untertitel echte Information tragen und in einem Ein-Sprecher-Untertitel bloßes Rauschen sind. Erst danach lohnt es sich, auf Sinn zu lesen.

Ein Satz, zwei Untertitel: die Verbindung, die kein Werkzeug für dich herstellen kann

Untertitel brechen dort, wo der Bildschirm endet, nicht dort, wo der Satz endet. Ein einzelner Teilsatz erstreckt sich regelmäßig über zwei Untertitel, und im Transkript werden daraus zwei Zeilen, die sich wie Fragmente lesen. Der Konverter bietet eine Zusammenführungsoption, und man sollte genau sagen, was sie zusammenführt: Das Kästchen verbindet die Zeilen innerhalb eines Untertitels, aus einer zweizeiligen Einblendung wird also eine Zeile. Über Untertitelgrenzen hinweg verbindet es nicht und kann es nicht. Getestet an einer Datei, deren erster Untertitel „Die Sache mit dem Hafen“ lautet und deren zweiter „ist, dass er nie richtig zufror“, liefern beide Modi zwei getrennte Zeilen.

Das ist weniger ein Mangel als eine Grenze der Eingabe. Nichts in einer SubRip-Datei markiert das Satzende; das einzige verfügbare Signal sind Interpunktion und Großschreibung im Text selbst, und beide sind über Sprachen hinweg unzuverlässig. Die Heuristik, die von Hand gut genug funktioniert, ist einfach: Verbinde einen Untertitel mit dem vorigen, wenn dieser nicht mit Punkt, Frage-, Ausrufezeichen oder schließendem Anführungszeichen endet und wenn der nächste weder mit einem Großbuchstaben noch mit einem Dialogstrich beginnt. Von einer Maschine angewandt zerlegt diese Regel deutsche Substantive, Abkürzungen und Auslassungspunkte; von einem sprachkundigen Leser angewandt kostet sie bei einem Spielfilm-Transkript ein paar Minuten.

Das andere wiederkehrende Durcheinander kommt von der Live-Untertitelung. Sendeuntertitel rollen oft: Eine Zeile erscheint unten und wandert nach oben, wenn die nächste kommt, und der Encoder schreibt beide Zustände als eigene Untertitel — derselbe Satz steht also zwei- oder dreimal hintereinander in der Datei. Der Konverter entdoppelt nicht — er hat keinen Grund dazu, denn eine tatsächlich wiederholte Dialogzeile ist ebenfalls möglich —, sodass ein Transkript aus einer Livesendung leicht doppelt so lang ausfällt wie es sollte. Das aufzuräumen heißt durchlesen, und es ist das stärkste Argument dafür, beim Lieferanten der Datei die aufpoppende statt der rollenden Fassung zu erbitten.

SRT oder VTT: derselbe Konverter zweimal

Es gibt auf dieser Seite zwei Konverter, einen für SubRip und einen für WebVTT, und in der Praxis verhalten sie sich identisch. Beide lesen Blöcke, beide überspringen alles ohne Zeitzeile, beide verwerfen NOTE- und STYLE-Blöcke, beide akzeptieren Komma oder Punkt vor den Millisekunden, und beide akzeptieren einen Zeitstempel mit oder ohne Stundenfeld. Der einzige formale Unterschied: Der WebVTT-Konverter erkennt und überspringt den WEBVTT-Headerblock namentlich — und der SubRip-Konverter verwirft ihn ohnehin, denn ein Headerblock enthält keine Zeitzeile und wird daher nie zu einem Untertitel. Nebeneinander an derselben WebVTT-Datei getestet, liefern beide byteweise gleiche Ausgabe.

Das ist bequem statt schlampig: Du kannst jedes der beiden Formate auf jeder der beiden Seiten einfügen und bekommst dasselbe Transkript — genau das wolltest du. Es heißt aber auch, dass dir keine der beiden Seiten sagt, dass deine Datei fehlerhaft ist. Fehlt der Pfeil in einer Zeitzeile oder ist er falsch geschrieben, verschwindet der ganze Block stillschweigend aus der Ausgabe, statt einen Fehler auszulösen, und das einzige Symptom ist eine niedrigere Untertitelzahl als erwartet. Die Zahl steht unter dem Eingabefeld; vergleiche sie mit der letzten Nummer in deiner Datei, bevor du dem Ergebnis traust.

Was der Konverter entfernt und was er im Transkript stehen lässt
ElementWie es in der Datei stehtWas der Konverter tutWas dir bleibt
Nummer und Zeitzeile1 / 00:00:01,000 --> 00:00:04,000EntferntNichts
WebVTT-Header, NOTE-, STYLE-, REGION-BlöckeWEBVTT / NOTE Transkribiert am 11.02.2026EntferntNichts
Cue-Bezeichner und Cue-Einstellungenhello-1 / align:start position:10%EntferntNichts
Kursiv-, Fett- und Farb-Tags<i>…</i>, <b>…</b>, <font color="#ffff00">…</font>Wörtlich behaltenErst die Tag-Paare, dann die Klammern entfernen
Positionsanweisung und Geräuschbeschreibungen{\an8}, [MÖWEN], [MUSIK]Wörtlich behaltenAnweisung löschen; über die Klammern entscheiden
Dialogstriche und Sprecher-Tags- Hast du es gesehen? / <v Roger Bingham>Wörtlich behaltenIn die gewünschten Sprecherangaben umwandeln
Ein über zwei Untertitel verteilter SatzUntertitel 1 bricht mitten im Teilsatz ab, Untertitel 2 beginnt kleinZwei getrennte Zeilen, in beiden ModiVon Hand verbinden: keine Satzzeichen am Ende, kein Großbuchstabe am Anfang
SRT-zu-TXT-KonverterExtrahiere das reine Transkript aus einer SRT-Untertiteldatei, indem du Nummern und Zeitstempel entfernst. Füge die Untertitel ein und erhalte sauberen Text — ein Untertitel pro Block oder in einzelne Zeilen zusammengeführt — bereit zum Korrekturlesen, Übersetzen oder Weiterverwenden. Kopiere oder lade das Ergebnis.Tool ausprobieren

Häufige Fragen

Entfernt es Kursiv-Tags, Dialogstriche und [MUSIK]-Angaben?
Nein. Es entfernt die Untertitelnummer und die Zeitzeile und reicht den Rest genau so durch, wie er geschrieben steht. An einer Datei mit allen gängigen Fällen getestet, enthält die Ausgabe weiterhin <i>…</i>, <b>…</b>, <font color="#ffff00">…</font>, die ASS-artige Positionsanweisung {\an8}, die Geräuschbeschreibung [MÖWEN], die Zwei-Sprecher-Striche am Zeilenanfang und — bei WebVTT-Eingabe — das Sprecher-Tag <v Roger Bingham>, Klassen-Tags wie <c.yellow>…</c> und eingebettete Stempel wie <00:00:07.500>. Das ist vertretbar, denn ob ein Transkript seine Geräuschbeschreibungen behalten soll, hängt von seinem Zweck ab: Ein Barrierefreiheitsprotokoll will sie, eine Übersetzungsvorlage nicht. Es bedeutet aber, dass die Konvertierung einer von zwei Schritten ist. Plane danach einen Suchen-und-Ersetzen-Durchgang ein und entferne vollständige Tag-Paare statt nur der spitzen Klammern, sonst bleibt verwaister Attributtext wie color="#ffff00" in deinem Fließtext stehen.
Ein Satz läuft über zwei Untertitel. Wie bekomme ich ihn in eine Zeile?
Nicht mit dem Zusammenführungshäkchen — das verbindet die Zeilen innerhalb eines Untertitels, nicht zwei Untertitel miteinander, und die Beschriftung lädt zum Missverstehen ein. Geprüft an einer Datei, in der Untertitel 1 mitten im Teilsatz endet und Untertitel 2 ihn fortsetzt: Blockmodus wie Zusammenführungsmodus liefern zwei getrennte Zeilen. Die Verbindung muss von dir kommen, denn nichts in der Datei markiert sie. Die funktionierende Regel ist auf beiden Seiten negativ: Verbinde einen Untertitel mit dem vorigen, wenn dieser nicht mit Punkt, Frage-, Ausrufezeichen, Doppelpunkt oder schließendem Anführungszeichen endet und wenn der aktuelle weder mit einem Großbuchstaben noch mit einem Dialogstrich beginnt. Mach das als manuelles Durchlesen statt als Skript: Abkürzungen, Auslassungspunkte und im Deutschen großgeschriebene Substantive brechen sie oft genug, dass ein automatischer Durchlauf mehr Reparatur kostet, als er spart.
Was unterscheidet den SRT- vom VTT-Konverter?
Im beobachtbaren Verhalten keiner. Es ist dieselbe Routine mit einem Schalter, und der Schalter bewirkt nur, dass die WebVTT-Fassung den WEBVTT-Headerblock namentlich erkennt — den die SubRip-Fassung ohnehin verwirft, weil dieser Block keine Zeitzeile hat und daher nie zu einem Untertitel wird. Beide verwerfen NOTE- und STYLE-Blöcke, beide akzeptieren Komma oder Punkt vor den Millisekunden, beide akzeptieren einen Zeitstempel mit oder ohne Stundenfeld, und beide ignorieren alles nach dem Pfeil in einer Zeitzeile. Mit derselben WebVTT-Datei gefüttert, geben beide Seiten identischen Text zurück. Nimm der Übersicht halber die Seite, die zu deiner Datei passt, aber erwarte nicht, dass die VTT-Seite Sprecher-Tags aufräumt oder die SRT-Seite ein .vtt ablehnt: Beides geschieht nicht. Zu beachten ist auf beiden Seiten nur die Untertitelzahl unter dem Eingabefeld. Eine fehlerhafte Zeitzeile lässt ihren ganzen Block ohne Fehlermeldung verschwinden, und eine Zahl unter der letzten Nummer deiner Datei ist der einzige Hinweis.
Warum wiederholt mein Transkript dieselbe Zeile zwei- oder dreimal?
Weil die Quelle Roll-up-Untertitelung ist. Live erscheint eine Zeile unten in einem Zwei- oder Dreizeilenfenster und wandert nach oben, wenn die nächste kommt; der Encoder hält jeden Zustand des Fensters als eigenen Untertitel fest. Derselbe Satz steht daher in aufeinanderfolgenden Untertiteln, mitunter dreimal, und die Datei ist ein getreues Protokoll dessen, was zu jedem Zeitpunkt auf dem Schirm war, nicht dessen, was gesagt wurde. Der Konverter entdoppelt nicht, und er sollte nicht raten: Eine tatsächlich zur Wirkung wiederholte Dialogzeile sieht in der Datei genauso aus. Die Wiederholungen zu entfernen heißt durchlesen — die Zeilen zu sortieren, um sie zu finden, zerstört die Reihenfolge, also gehe der Reihe nach vor. Kannst du auf die Quelle einwirken, bitte um Pop-on-Untertitel: Jeder Satz wird einmal geschrieben, und das Transkript kommt sauber heraus.
Ich will den Text, aber auch die Zeiten. Was soll ich nehmen?
Nicht diesen Konverter, der die Zeiten absichtlich entfernt und keine Möglichkeit bietet, sie zu behalten. Nimm stattdessen den SRT-zu-CSV-Konverter: Er schreibt eine Zeile je Untertitel mit Index, Start, Ende und Text, sodass die Zeiten in eigenen Spalten stehen und der Text lesbar und durchsuchbar bleibt. Diese Form willst du auch, wenn das Transkript von jemand anderem bearbeitet oder übersetzt wird, denn sie hält jede Zeile an den Moment gebunden, zu dem sie gehört, und lässt sich danach wieder in eine Untertiteldatei verwandeln. Reiner Text ist die richtige Ausgabe, wenn das Ziel Fließtext ist — eine Zusammenfassung, ein Suchindex, ein Dokument — und die falsche, sobald jemand weiter unten wissen muss, wann etwas gesagt wurde.

Artikel, die dich interessieren könnten

Alle Ratgeber
AnleitungUnsynchrone Untertitel: den Versatz messen und eine SRT-Datei um exakt so viele Sekunden verschiebenMiss den Versatz an zwei Stellen, statt ihn einmal zu schätzen. Ist er konstant, repariert eine einzige Verschiebung die Datei. Wächst er, ist es ein Bildraten-Konflikt — 25 fps gegen 23,976 driftet 2,5625 Sekunden pro Minute — und keine Verschiebung behebt das.AnleitungUntertitel in die Tabelle und zurück: was den Umweg überstehtEin Komma wird zitiert, ein Anführungszeichen verdoppelt, und ein zweizeiliger Untertitel behält beide Zeilen — Byte für Byte über drei aufeinanderfolgende Umwege geprüft. Ändern kann die Datei jetzt noch die Tabelle in der Mitte.AnleitungZwei Untertitelspuren zu einer zweisprachigen Fassung verbinden: was wirklich mit den Untertiteln geschiehtUntertitel 12 der englischen Spur ist nicht Untertitel 12 der französischen, weil Übersetzer Sätze anders trennen und zusammenziehen. Zwei Strategien gibt es zum Paaren; dieser Zusammenführer nutzt keine davon — er verschränkt. Das kommt dabei heraus, und so weit reicht es.AnleitungDen Ton aus einem Video holen, ohne eine zweite VerlustgenerationDie Tonspur in deinem Video ist bereits einmal durch einen verlustbehafteten Encoder gelaufen. Ob das Herausholen dich einen zweiten Durchgang kostet, hängt ganz davon ab, welchen der drei Knöpfe du drückst — und „nach MP3 extrahieren“, der Griff aller, ist der, der kostet.AnleitungEin Video unter das Upload-Limit bringen, ohne zu ratenDer Qualitätsregler kann keine Dateigröße anpeilen — dafür ist er nicht da. Aber das Limit und die Länge deines Clips legen die erlaubte Bitrate bereits fest, und eine Division sagt dir, ob die genutzte Auflösung überhaupt hineinpassen kann.RatgeberStandbilder aus einem Video holen — und warum sie weicher aussehen als das VideoHinter drei Knöpfen stecken drei Befehle: ein Bild zu einem Zeitpunkt, eine feste Anzahl über den Clip verteilt, oder eines alle N Sekunden. Hier stehen die exakten Argumente, die Obergrenze von 60 Bildern und der Grund, warum ein Bild aus der Mitte eines komprimierten Clips nie so scharf wird wie ein Keyframe.

Ähnliche Tools

SubRip hat keine Spezifikation. Die Library of Congress führt es als nur teilweise dokumentiert und schlecht normiert, also entscheidet der Player, der Encoder oder die Plattform, die sie liest, was als gültige .srt-Datei gilt — und zwei davon werden früher oder später uneins sein. Alles hier Beschriebene wurde an der tatsächlichen Ausgabe des Werkzeugs geprüft, nicht an einer Norm, denn für dieses Format gibt es keine. WebVTT ist anders — es hat eine veröffentlichte W3C-Spezifikation — bleibt aber ein Candidate Recommendation Draft und keine fertige Empfehlung. Behalte die Originaldatei, teste die konvertierte in genau dem Player oder Upload-Werkzeug, das du wirklich verwenden willst, bevor du etwas wegwirfst, und behandle jede Aussage darüber, was „alle Player“ tun — auch die auf dieser Seite — als etwas, das du an deinem prüfst.

Quellen

Hast du einen Fehler in diesem Artikel entdeckt?

SRT zu Text: ein sauberes Transkript aus Untertiteln gewinnen — OneKitly