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 :

  1. Un numéro de séquence, qui commence à 1.
  2. Une ligne d’horodatage : les temps de début et de fin séparés par -->, chacun au format heures:minutes:secondes,millisecondes.
  3. Une ou plusieurs lignes de texte.
  4. 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 :

lighting-tutorial.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 :

lighting-tutorial.vtt
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 bloc REGION, 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 quand kind est 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.
player.html
<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

Comparaison du SRT et du VTT
CaractéristiqueSRTVTT (WebVTT)
Extension de fichier.srt.vtt
OrigineSubRip, un programme d’extraction de sous-titres de DVDSpécification WebVTT du W3C
En-têteAucunWEBVTT sur la première ligne (obligatoire)
Identifiants de sous-titreNuméros séquentielsFacultatifs, texte libre
Horodatage00:01:04,10000:01:04.100 ou 01:04.100
HeuresToujours écritesFacultatives si nulles
PositionnementAbsent du format de baseline, position, size, align, vertical, region
Mise en formeBalises simples lues par certains lecteurs ; ignorées par YouTubeBalises en ligne, plus CSS dans des blocs STYLE
CommentairesNonBlocs NOTE
Balisage des intervenantsNonBalises de voix <v>
EncodageUTF-8 conseillé (exigé par YouTube)UTF-8 obligatoire
Élément <track> HTML5NonOui
Idéal pourMise en ligne sur les plateformes vidéo, transmission de fichiers à d’autres outilsLecteurs 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

  1. Ajoutez WEBVTT en première ligne, suivi d’une ligne vide.
  2. Sur chaque ligne d’horodatage, remplacez la virgule avant les millisecondes par un point : 00:00:04,100 devient 00:00:04.100.
  3. 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

  1. Supprimez l’en-tête WEBVTT et tous les blocs NOTE, STYLE et REGION.
  2. Numérotez les sous-titres à partir de 1, en remplaçant les éventuels identifiants textuels.
  3. Écrivez chaque horodatage en entier au format HH:MM:SS,mmm : ajoutez 00: là où les heures étaient omises, et remplacez le point par une virgule.
  4. Supprimez les paramètres de sous-titre comme line:10% à la fin des lignes d’horodatage.
  5. 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.

Sous-titrez votre prochaine vidéo automatiquement.

Importez un MP4 ou un MOV, obtenez des sous-titres synchronisés mot par mot, corrigez ce que la transcription a manqué et exportez une vidéo sous-titrée. L’offre gratuite ne demande aucune carte bancaire.