SRT ou VTT : quelle différence, et quel fichier de sous-titres choisir ?
Ce qui distingue ligne par ligne les deux fichiers de sous-titres les plus courants, quelles plateformes acceptent lequel, et comment convertir l’un en l’autre sans casser la synchronisation.
Mis à jour le 8 min de lecturePar l’équipe AutoCap
La réponse courte
Utilisez le SRT lorsque vous mettez des sous-titres en ligne sur une plateforme vidéo sans savoir ce qu’elle attend. C’est le plus simple des deux, et YouTube, Vimeo et LinkedIn l’acceptent tous. Utilisez le VTT (WebVTT) lorsque les sous-titres seront lus dans une page web que vous maîtrisez (un lecteur HTML5, une plateforme de formation, votre propre site) ou lorsque vous avez besoin de quelque chose que le SRT ne sait pas exprimer, comme placer un sous-titre en haut de l’image.
Les deux sont du texte brut. Les deux contiennent la même chose : une liste de sous-titres, chacun avec un temps de début, un temps de fin et les mots à afficher. On convertit l’un en l’autre en quelques secondes. Les différences sont minimes, mais ce sont précisément ces détails qui font échouer une importation.
Qu’est-ce qu’un fichier SRT ?
SRT signifie SubRip Subtitle. Le format tire son nom de SubRip, un logiciel gratuit qui extrait les sous-titres des DVD, avec leur synchronisation, dans un fichier texte. Chaque sous-titre comporte quatre parties :
- Un numéro de séquence, qui commence à 1.
- Une ligne d’horodatage : les temps de début et de fin séparés par
-->, chacun au formatheures:minutes:secondes,millisecondes. - Une ou plusieurs lignes de texte.
- Une ligne vide qui termine le sous-titre.
Les heures, les minutes et les secondes s’écrivent toujours sur deux chiffres, et les millisecondes sur trois : dix secondes et demie s’écrivent donc 00:00:10,500. Le centre d’aide de Vimeo énonce la même règle dans sa page de dépannage consacrée aux fichiers de sous-titres.
C’est tout le format. Certains lecteurs appliquent quelques balises de type HTML dans les fichiers SRT, comme <i> pour l’italique, mais rien n’est garanti. YouTube, par exemple, indique ne prendre en charge que les fichiers SRT basiques, n’y reconnaître aucune balise de style et exiger du texte en UTF-8 simple.
Qu’est-ce qu’un fichier VTT ?
VTT est l’abréviation de WebVTT (Web Video Text Tracks), une spécification du W3C. C’est le format qu’utilisent les navigateurs pour les sous-titres associés à une vidéo HTML5. Ses sous-titres ressemblent beaucoup à ceux du SRT, et il ajoute ce dont un lecteur web a besoin : positionnement, mise en forme, commentaires et balisage des intervenants.
Un fichier WebVTT doit commencer par le mot WEBVTT suivi d’une ligne vide, et être encodé en UTF-8. Servi par un site web, son type MIME est text/vtt. Les numéros de sous-titres sont facultatifs : un sous-titre peut avoir n’importe quel identifiant, ou aucun. Les horodatages placent un point avant les millisecondes, et les heures peuvent être omises lorsqu’elles sont nulles : 00:10.500 est donc valide.
Les mêmes sous-titres dans les deux formats
Voici trois sous-titres extraits d’un court tutoriel, d’abord en SRT :
1
00:00:01,200 --> 00:00:03,800
Welcome back. Today we're testing
three ways to light a small room.
2
00:00:04,100 --> 00:00:06,500
The first one costs nothing:
just move the desk to the window.
3
00:00:07,000 --> 00:00:08,400
[laughs] Seriously, try it.Et les mêmes sous-titres en WebVTT, avec quelques fonctionnalités que le SRT n’a pas :
WEBVTT
NOTE Lighting tutorial, English captions, v2
STYLE
::cue(.sound) {
color: yellow;
}
1
00:00:01.200 --> 00:00:03.800
<v Maya>Welcome back. Today we're testing
three ways to light a small room.
2
00:00:04.100 --> 00:00:06.500 line:10%
<v Maya>The first one costs nothing:
just move the desk to the window.
laugh
00:07.000 --> 00:08.400
<c.sound>[laughs]</c> Seriously, try it.La version VTT, lue de haut en bas : l’en-tête obligatoire ; un commentaire NOTE que les lecteurs ignorent ; un bloc STYLE qui colore tout ce qui porte la classe .sound ; des balises de voix qui nomment l’intervenant ; un paramètre de sous-titre (line:10%) qui place le deuxième sous-titre près du haut de l’image ; un identifiant textuel (laugh) au lieu d’un numéro ; et un dernier horodatage sans les heures.
Les différences qui comptent
L’en-tête
Un fichier VTT sans WEBVTT sur sa première ligne n’est pas valide, et un analyseur strict le rejettera. Le SRT n’a pas d’en-tête du tout : le fichier commence par le sous-titre numéro 1. Voilà pourquoi renommer captions.srt en captions.vtt ne fonctionne pas : l’en-tête manque et les horodatages utilisent toujours des virgules.
Horodatages
Le SRT écrit 00:00:04,100. Le VTT écrit 00:00:04.100, ou 00:04.100. Une virgule au lieu d’un point semble anodin, mais un analyseur qui attend l’un peut refuser l’autre.
Positionnement
Les paramètres de sous-titre VTT se placent sur la ligne d’horodatage, après le temps de fin :
line: position verticale, en numéro de ligne ou en pourcentage ;position: retrait horizontal, en pourcentage ;size: largeur de la zone du sous-titre ;align: alignement du texte (start, center, end, left ou right) ;vertical: texte vertical, pour les systèmes d’écriture qui l’exigent ;region: zone nommée définie dans un blocREGION, utile pour les sous-titres qui défilent.
C’est ainsi que l’on déplace un sous-titre pour dégager un bandeau de nom ou un autre texte à l’écran. Le SRT de base n’offre aucun moyen de positionner un sous-titre.
Mise en forme
Le VTT prend en charge des balises en ligne : gras, italique, souligné, balises de classe (<c>) et annotations ruby. Il accepte aussi des blocs STYLE contenant du CSS pour le pseudo-élément ::cue. Chaque lecteur décide de ce qu’il en applique. YouTube prend en charge le positionnement dans les fichiers VTT, mais limite la mise en forme au gras, à l’italique et au souligné. Si les sous-titres doivent avoir une apparence précise partout, la seule méthode fiable est de les incruster dans la vidéo.
Commentaires, intervenants et langues
Les blocs NOTE contiennent des commentaires (une note du traducteur, un numéro de version, un rappel) que les spectateurs ne voient jamais. Les balises de voix (<v Maya>) indiquent qui parle d’une façon lisible par les logiciels, et les balises de langue signalent un passage dans une autre langue. Le SRT n’a rien de tout cela : chaque ligne de texte d’un sous-titre SRT est affichée au spectateur.
Sous-titres, chapitres et descriptions
Sur une page web, un fichier VTT est associé à une vidéo avec l’élément <track>, et son attribut kind indique à quoi sert le fichier. La norme HTML définit cinq types :
subtitles: transcription ou traduction des dialogues, pour les spectateurs qui entendent l’audio mais ne le comprennent pas. C’est la valeur par défaut quandkindest absent.captions: les dialogues, plus les effets sonores, la musique et les autres éléments audio utiles, pour les cas où le son est indisponible ou difficile à entendre.descriptions: descriptions textuelles de ce qui est à l’écran, destinées à être lues par une synthèse vocale pour les spectateurs qui ne voient pas la vidéo.chapters: titres de chapitres pour naviguer dans la vidéo.metadata: données destinées aux scripts, non affichées aux spectateurs.
<video controls src="lighting.mp4">
<track kind="captions" src="lighting.en.vtt"
srclang="en" label="English" default>
<track kind="chapters" src="lighting.chapters.vtt"
srclang="en">
</video>Les navigateurs attendent ces fichiers au format WebVTT : un site qui ne dispose que de fichiers SRT doit donc d’abord les convertir. Deux détails pratiques tirés de la documentation MDN : srclang est obligatoire lorsque le type est subtitles, et le fichier de piste doit provenir de la même origine que la page, sauf si l’élément vidéo possède un attribut crossorigin.
SRT ou VTT en un coup d’œil
| Caractéristique | SRT | VTT (WebVTT) |
|---|---|---|
| Extension de fichier | .srt | .vtt |
| Origine | SubRip, un programme d’extraction de sous-titres de DVD | Spécification WebVTT du W3C |
| En-tête | Aucun | WEBVTT sur la première ligne (obligatoire) |
| Identifiants de sous-titre | Numéros séquentiels | Facultatifs, texte libre |
| Horodatage | 00:01:04,100 | 00:01:04.100 ou 01:04.100 |
| Heures | Toujours écrites | Facultatives si nulles |
| Positionnement | Absent du format de base | line, position, size, align, vertical, region |
| Mise en forme | Balises simples lues par certains lecteurs ; ignorées par YouTube | Balises en ligne, plus CSS dans des blocs STYLE |
| Commentaires | Non | Blocs NOTE |
| Balisage des intervenants | Non | Balises de voix <v> |
| Encodage | UTF-8 conseillé (exigé par YouTube) | UTF-8 obligatoire |
| Élément <track> HTML5 | Non | Oui |
| Idéal pour | Mise en ligne sur les plateformes vidéo, transmission de fichiers à d’autres outils | Lecteurs web, plateformes de formation, sites que vous maîtrisez |
Quelles plateformes acceptent quel format
Les exigences d’importation évoluent : consultez la page d’aide de la plateforme avant un gros lot. Situation en septembre 2026 :
- YouTube accepte les deux, parmi de nombreux autres formats. Les fichiers SRT doivent être basiques, en UTF-8 simple et sans mise en forme ; les fichiers VTT peuvent inclure un positionnement, avec une mise en forme limitée au gras, à l’italique et au souligné. Pas à pas : comment importer un fichier SRT sur YouTube.
- Vimeo accepte SRT et WebVTT pour les sous-titres, recommande WebVTT et demande un encodage UTF-8.
- Le centre d’aide de LinkedIn explique comment joindre un fichier SRT lorsque vous publiez une vidéo depuis la version ordinateur du site.
- La vidéo HTML5 sur votre propre site utilise le WebVTT via
<track>.
Les vidéos courtes au format vertical sont un cas à part. Sur TikTok, Instagram Reels et YouTube Shorts, incruster les sous-titres dans l’image est souvent plus pratique, car le style accompagne la vidéo, quels que soient l’application ou les réglages avec lesquels elle est lue. Les compromis sont détaillés dans sous-titres ouverts ou codés.
Convertir l’un en l’autre
Du SRT au VTT
- Ajoutez
WEBVTTen première ligne, suivi d’une ligne vide. - Sur chaque ligne d’horodatage, remplacez la virgule avant les millisecondes par un point :
00:00:04,100devient00:00:04.100. - Enregistrez le fichier en UTF-8 avec l’extension
.vtt.
Les numéros de sous-titres peuvent rester : en VTT, ils deviennent simplement des identifiants. Ne remplacez les virgules que sur les lignes d’horodatage : un rechercher-remplacer aveugle modifierait aussi toutes les virgules du texte des sous-titres. Le convertisseur SRT en VTT gratuit effectue ces trois étapes pour vous.
Du VTT au SRT
- Supprimez l’en-tête
WEBVTTet tous les blocsNOTE,STYLEetREGION. - Numérotez les sous-titres à partir de 1, en remplaçant les éventuels identifiants textuels.
- Écrivez chaque horodatage en entier au format
HH:MM:SS,mmm: ajoutez00:là où les heures étaient omises, et remplacez le point par une virgule. - Supprimez les paramètres de sous-titre comme
line:10%à la fin des lignes d’horodatage. - Retirez les balises de voix, de classe, de langue, ruby et d’horodatage. Si une balise de voix nommait un intervenant que les spectateurs doivent identifier, transformez-la en libellé visible.
Dans ce sens, la conversion perd des informations (positions, styles et balisage des intervenants) : conservez donc le VTT d’origine. Le convertisseur VTT en SRT se charge de la renumérotation et de la réécriture des horodatages. Si les sous-titres convertis sont systématiquement en avance ou en retard, c’est un autre problème : décalez tous les sous-titres d’un coup avec l’outil de décalage de sous-titres.
Lequel choisir ?
- Pour une mise en ligne sur YouTube, Vimeo ou LinkedIn : le SRT fonctionne sur les trois. Sur YouTube ou Vimeo, passez au VTT si vous avez besoin de positionner les sous-titres.
- Pour votre propre site ou lecteur de formation : le VTT, associé avec
<track kind="captions">. - Pour transmettre des sous-titres à un monteur ou à un traducteur : demandez ce que lisent ses outils. À défaut de réponse, le SRT est le choix par défaut le plus sûr.
- Pour conserver une copie maître : exportez les deux à partir de la même transcription corrigée, pour qu’une correction se retrouve dans les deux fichiers.
Quel que soit votre choix, les mots et la synchronisation comptent plus que le format du fichier. Un fichier parfaitement formaté avec un nom mal compris dans le sous-titre 12 reste faux. Le générateur de fichiers SRT et le générateur de fichiers VTT d’AutoCap produisent les deux formats, avec les offres payantes, à partir de la transcription que vous avez corrigée et avec une synchronisation pour chaque mot : les deux fichiers ne divergent donc jamais.
Questions
Peut-on renommer un fichier .srt en .vtt ?
Le renommer ne suffit pas. Un fichier VTT doit comporter WEBVTT sur sa première ligne et un point au lieu d’une virgule avant les millisecondes. Ajoutez l’en-tête et corrigez les horodatages, ou passez le fichier dans un convertisseur SRT en VTT.
YouTube préfère-t-il le SRT ou le VTT ?
YouTube accepte les deux. Le SRT est le choix le plus simple. Utilisez le VTT si un sous-titre doit s’afficher ailleurs qu’à l’emplacement par défaut : YouTube prend en charge le positionnement dans les fichiers VTT, mais ignore les balises de mise en forme dans les fichiers SRT.
Quel format de sous-titres prend en charge la mise en forme ?
Le WebVTT. Il accepte des balises en ligne et du CSS via des blocs STYLE, même si chaque lecteur décide de ce qu’il en applique. Le SRT n’a pas de mise en forme standard, et YouTube ignore les balises dans les fichiers SRT.