Kernpunten
Een SRT-bestand (SubRip Subtitle, extensie
.srt) is een tekstbestand met ondertitels: genummerde blokken, elk met een begin- en eindtijd in de vormuren:minuten:seconden,millisecondenen de tekst die getoond moet worden. Het bevat geen video of audio, opent in elke teksteditor en wordt door vrijwel elke speler en videoplatform geaccepteerd. Je kunt er een met de hand schrijven, uit platte tekst genereren of uit een transcript exporteren, en daarna met een validator controleren voordat je hem uploadt.
Heb je ooit ondertitels aangezet in een videospeler, dan is er een goede kans dat een SRT-bestand het werk deed. Het is een van de oudste ondertitelformaten die nog dagelijks worden gebruikt en een van de eenvoudigste bestandsformaten die er zijn, en precies daarom komt het overal voor.
Deze pagina behandelt het hele formaat op één plek: wat er in een bestand staat, de exacte regels voor elk onderdeel met de primaire bronnen, hoe je er een maakt en repareert, en hoe het verschilt van WebVTT.
Hoe ziet een SRT-bestand er van binnen uit?
Een SRT-bestand is een lijst met cues, en elke cue heeft dezelfde vier onderdelen: een volgnummer, een timingregel, een of twee regels tekst en een lege regel. Open een willekeurig .srt-bestand in Kladblok of TextEdit en je ziet blokken zoals deze:
1
00:00:01,600 --> 00:00:04,200
Welkom terug op het kanaal.
2
00:00:04,400 --> 00:00:07,900
Vandaag kijken we naar hoe
ondertitelbestanden echt werken.
3
00:00:08,100 --> 00:00:10,000
<i>(deur gaat dicht)</i>Van boven naar beneden gelezen zegt de tweede cue: toon deze twee regels van 4,4 seconden tot 7,9 seconden in de video. Er zijn geen kopteksten, geen opmaaksectie en geen binaire gegevens, dus het bestand blijft klein en overleeft het geopend, bewerkt en opgeslagen worden door vrijwel elk programma.
Wat zijn de regels van het SRT-formaat?
Het dichtst bij een referentie voor SubRip komen de beschrijvingen die archieven en containerformaten bijhouden. De formaatbeschrijving van de Library of Congress geeft de timecode als uren:minuten:seconden,milliseconden, geschreven als 00:00:00,000, met de pijl --> tussen begin en einde, en de ondertiteldocumentatie van Matroska beschrijft hetzelfde blok van vier delen.
| Onderdeel | Regel | Voorbeeld |
|---|---|---|
| Volgnummer | Een geheel getal op een eigen regel, beginnend bij 1 en oplopend | 2 |
| Timingregel | Begin en einde als uren:minuten:seconden,milliseconden, gescheiden door --> met aan elke kant een spatie | 00:00:04,400 --> 00:00:07,900 |
| Scheidingsteken voor milliseconden | Een komma, geen punt; de punt hoort bij WebVTT | ,400 |
| Tekst | Een of meer regels die samen worden getoond; een regeleinde in het bestand is een regeleinde op het scherm | Vandaag kijken we naar hoe |
| Lege regel | Sluit de cue af; het volgende nummer begint de volgende | (lege regel) |
| Opmaak | Eenvoudige tags zoals <i>, <b> en <u>, door veel spelers gehonoreerd en door andere genegeerd | <i>(deur gaat dicht)</i> |
Twee details breken meer bestanden dan al het andere bij elkaar. Het eerste is de komma: een timingregel met punten, 00:00:04.400, is een WebVTT-gewoonte, en sommige tools weigeren die in een SRT. Het tweede is de lege regel: een cue zonder lege regel loopt over in de volgende, en de speler voegt ze samen of laat er een weg.
Codering
Sla SRT-bestanden op als UTF-8. Het dekt elk schrift, van Latijnse letters met accenten tot Arabisch, Chinees en emoji, en het is wat actuele spelers verwachten. Bestanden uit oudere Windows-tools staan soms in een regionale verouderde codering, en daarom veranderen letters met accenten in vraagtekens of rijtjes vreemde symbolen. Het bestand in een teksteditor opnieuw opslaan als UTF-8 lost dat op. Sommige programma’s zetten ook een onzichtbare byte order mark aan het begin van een UTF-8-bestand; de meeste spelers negeren die, maar als een strenge tool de eerste cue weigert, is opslaan als UTF-8 zonder die markering het eerste wat je moet proberen.
Regellengte is een leesregel, geen formaatregel
Het formaat zelf beperkt niet hoe lang een regel mag zijn; stijlgidsen doen dat. De beschrijving van de Library of Congress noemt een limiet van 32 tekens per regel, de BBC Subtitle Guidelines stellen 37 tekens voor uitzendingen, en de Netflix English (USA) Timed Text Style Guide staat 42 tekens per regel toe, hoogstens twee regels. Een speler toont een langere regel toch, meestal door hem af te breken, dus de limiet gaat erom of mensen de ondertitel op tijd kunnen lezen, wat de leessnelheidscontrole in onze SRT-validator meet aan de richtlijn die je kiest.
Waar worden SRT-bestanden voor gebruikt?
- Videoplatforms: upload een SRT naast een video en kijkers krijgen ondertitels die ze kunnen aanzetten.
- Desktop- en tv-spelers: VLC en veel andere spelers laden een SRT die naast het videobestand staat met dezelfde naam.
- Vertaling: vertalers vervangen de tekstregels en laten de timing met rust, zodat er één SRT per taal ontstaat.
- Bewerkingssoftware: de gangbare videobewerkingsprogramma’s importeren SRT als ondertitelspoor.
- Toegankelijkheid: ondertitels voor doven en slechthorenden, met geluidsbeschrijvingen tussen haakjes en sprekersnamen, passen in de tekstregels van een gewone SRT.
Hoe maak ik een SRT-bestand?
Automatisch uit een video
Voor een YouTube-video plak je de link in de YouTube-transcripttool en druk je op de transcriptpagina op SRT: de timing komt uit de eigen ondertitels van de video. Voor je eigen opnames en bestanden transcribeert de SozAI-app de audio in 99 talen en exporteert ondertitels.
Uit tekst die je al hebt
Heb je een script of een transcript als platte tekst, dan maakt de gratis TXT-naar-SRT-generator van elke alinea een cue en geeft hem een duur op basis van zijn lengte, met 150 woorden per minuut, nooit korter dan 2 seconden of langer dan 8. Splits lange alinea’s eerst: een cue van meer dan 20 woorden raakt het plafond van 8 seconden en komt te snel uit om te lezen. Hij draait in je browser en er wordt niets geüpload.
Met de hand
Voor een korte clip is een SRT in een teksteditor schrijven heel redelijk: volg het blok van vier delen, sla op als subtitles.srt in UTF-8 en je bent klaar. Voorbij een of twee minuten video wordt timen met de hand vervelend, en een van de twee routes hierboven is sneller.
Waarom werkt mijn SRT-bestand niet?
| Probleem | Gebruikelijke oorzaak | Oplossing |
|---|---|---|
| Ondertitels verschijnen helemaal niet | Verkeerde extensie, verkeerde codering of een foute timingregel | Haal het bestand door de SRT-validator, die het kapotte blok noemt |
| Ondertitels zijn even veel te vroeg of te laat | De video heeft een intro of een montage waar het bestand niets van weet | Schuif alle timecodes in één keer op met de tool om ondertiteltijd te verschuiven |
| Ondertitels lopen steeds verder uit de pas naarmate de video speelt | Het bestand is getimed voor een andere beeldsnelheid, bijvoorbeeld 23.976 tegenover 25 | Zie waarom ondertitels uit de pas lopen |
| Letters met accenten zien er onleesbaar uit | Opgeslagen in een verouderde codering | Sla opnieuw op als UTF-8 |
| Het platform weigert het bestand | Het verwacht WebVTT | Zet om met de VTT-naar-SRT-converter |
Waarin verschilt SRT van WebVTT en framegebaseerde timecode?
WebVTT (.vtt) is het W3C-formaat dat HTML5-videospelers gebruiken. De WebVTT-specificatie van het W3C schrijft de milliseconden na een punt met drie cijfers en maakt de uren optioneel, en een bestand begint met een kopregel WEBVTT; het voegt ook positionering en opmaak toe die SRT niet heeft. De timing is hetzelfde moment anders geschreven, dus het ene naar het andere omzetten is een kwestie van leestekens en kopregels, uitgebreider behandeld in VTT vs SRT.
Videobewerkers tellen tijd in frames in plaats van milliseconden, als SMPTE-timecode, HH:MM:SS:FF. Een SRT slaat werkelijke tijd op, dus wanneer ondertitels worden gemaakt uit de timecode van een montage, bepaalt de beeldsnelheid de uitkomst: bij 29,97 beelden per seconde is een uur non-drop-timecode in werkelijke tijd 3,6 seconden langer dan het label zegt. Onze timecode-converter zet SMPTE-timecode, inclusief drop-frame, om in SRT-tijdstempels en terug.
Heb je alleen de woorden nodig zonder timing, dan haalt de Subtitle to Text-tool de nummers en timecodes uit een SRT of VTT en laat leesbare alinea’s over.

