SSubToolDesk
fr
SRT → VTT

Convertissez SubRip (.srt) en WebVTT

Rendez un fichier .srt valide pour l'élément HTML5 <track> et les lecteurs vidéo modernes. En-tête WEBVTT ajouté, codes temporels reformatés, rien n'est envoyé pour y arriver.

Détecté: …
Déposez un fichier, collez le texte ou modifiez-le directement
…
Local

Vos fichiers ne touchent jamais un serveur. Chaque conversion sur cette page s'exécute localement dans votre navigateur grâce à l'API FileReader de JavaScript. Rien n'est envoyé, enregistré ou stocké. Sans risque pour les enregistrements confidentiels Zoom/Teams, les vidéos non publiées et les entretiens juridiques.

Comment fonctionne la conversion de SRT en VTT

Si vous avez déjà essayé de glisser un fichier .srt directement dans une balise HTML5 <track kind="captions" src="captions.srt">, vous avez probablement découvert que les navigateurs l'ignorent purement et simplement. L'élément <track> (et le menu natif de sous-titres que tout navigateur moderne construit autour) ne comprend que le WebVTT. Le SubRip, bien qu'il soit le format le plus largement pris en charge parmi les lecteurs et éditeurs de bureau, ne fait tout simplement pas partie de la spécification HTML5.

La correction est mécanique mais exigeante : WebVTT nécessite une ligne littérale WEBVTT en haut du fichier, et le séparateur de millisecondes de chaque code temporel doit être un point au lieu de la virgule du SRT (00:00:09,400 → 00:00:09.400). Si l'un des deux détails est incorrect, le navigateur échouera silencieusement à afficher les sous-titres, sans aucun message d'erreur. Le convertisseur de SubToolDesk analyse votre SRT localement, le reconstruit avec un en-tête valide et des codes temporels corrigés, et renumérote les sous-titres de façon propre, tout cela dans votre onglet de navigateur.

Instructions étape par étape

  • Glissez votre fichier .srt sur le convertisseur ci-dessus, ou collez son contenu dans le panneau gauche.
  • Confirmez que le badge de format détecte SRT.
  • Appuyez sur Télécharger pour enregistrer un fichier .vtt valide, nommé comme votre fichier d'origine.
  • Référencez-le depuis un élément <track> : <track kind="captions" src="/captions.vtt" srclang="fr" label="Français">.

Pourquoi convertir du SRT en WebVTT

Un fichier .srt se synchronise bien dans un éditeur de bureau, mais ne fait rien dans un navigateur. Convertir en WebVTT répond presque toujours à l'un de ces besoins :

  • Raison : vous ajoutez des sous-titres à un élément <video> auto-hébergé et avez besoin d'un format que la balise HTML5 <track> comprend réellement.
  • Raison : vous répondez à une exigence d'accessibilité (comme le critère de sous-titrage du WCAG 2.1) et avez besoin de sous-titres conformes aux normes, pas d'un format que les navigateurs ignorent silencieusement.
  • Raison : votre plateforme vidéo, votre CMS ou l'intégration de captures d'écran de votre site de documentation n'accepte que les fichiers .vtt.
  • Raison : vous avez reçu des fichiers .srt d'un monteur, d'un freelance ou d'un prestataire de sous-titrage, et devez remettre à un développeur quelque chose de prêt à intégrer.
  • Raison : vous migrez une bibliothèque vidéo depuis une plateforme qui exportait du SRT vers un lecteur personnalisé construit autour du sous-titrage natif du navigateur.
  • Raison : vous voulez la correction sans installer ffmpeg ni écrire un script de conversion ponctuel pour un seul fichier.

Avant et après : un exemple réel

Un court fichier SRT de trois sous-titres, codes temporels à virgule et numérotation séquentielle inclus, converti avec Retirer les étiquettes d'intervenant et Retirer les balises de formatage tous deux désactivés (l'état par défaut sur cette page, puisque rien n'a besoin d'être retiré pour produire un WebVTT valide) :

Before
1
00:00:01,200 --> 00:00:04,000
Bon retour, aujourd'hui nous passons en revue les chiffres du T3.

2
00:00:04,300 --> 00:00:07,900
Merci de m'avoir invité. Entrons directement dans le sujet.

3
00:00:08,100 --> 00:00:11,500
Le chiffre d'affaires a augmenté de huit pour cent sur un an.
After
WEBVTT

1
00:00:01.200 --> 00:00:04.000
Bon retour, aujourd'hui nous passons en revue les chiffres du T3.

2
00:00:04.300 --> 00:00:07.900
Merci de m'avoir invité. Entrons directement dans le sujet.

3
00:00:08.100 --> 00:00:11.500
Le chiffre d'affaires a augmenté de huit pour cent sur un an.

Le texte des sous-titres, la synchronisation, et même les numéros de bloc restent inchangés. Seul l'en-tête WEBVTT est ajouté et chaque virgule avant les millisecondes devient un point, exactement les deux changements qu'un navigateur exige pour accepter le fichier.

Avant et après

Entrée SRT :
1
00:00:09,400 --> 00:00:12,900
Le chiffre d'affaires a augmenté de huit pour cent.

Sortie VTT :
WEBVTT

1
00:00:09.400 --> 00:00:12.900
Le chiffre d'affaires a augmenté de huit pour cent.

Pourquoi cela compte pour les développeurs web

La vidéo accessible et sous-titrée est à la fois une exigence d'utilisabilité et de conformité pour la plupart des sites destinés au public (le critère de succès 1.2.2 du WCAG 2.1 exige des sous-titres pour les médias préenregistrés), et l'élément <track> est le moyen normalisé de les fournir sans dépendre d'une plateforme vidéo tierce. Si votre chaîne de montage (ou un freelance) ne vous remet que des fichiers .srt, les convertir ici vous redonne une ressource WebVTT prête à intégrer en quelques secondes, sans installer ffmpeg ni écrire de script de conversion.

Traité où vous êtes, pas sur nos serveurs

Comme il s'agit d'un reformatage de texte brut, aucun fichier multimédia n'est jamais touché ni envoyé, seulement le texte des sous-titres, et uniquement dans votre propre onglet de navigateur. Cela compte autant pour une vidéo de démonstration produit interne que pour une page marketing publique.

Utiliser le résultat dans un élément <track>

Une fois le fichier converti téléchargé, ajoutez-le à votre balisage <video> avec un élément enfant <track> :

<video controls>
  <source src="demo.mp4" type="video/mp4">
  <track
    kind="captions"
    src="/captions.vtt"
    srclang="fr"
    label="Français"
    default>
</video>

L'attribut default indique au navigateur d'activer cette piste automatiquement ; omettez-le si vous proposez plusieurs pistes de langue et voulez que le spectateur choisisse. Les navigateurs valident strictement l'en-tête WEBVTT : un en-tête manquant ou mal orthographié est la raison la plus courante pour laquelle les sous-titres échouent silencieusement à apparaître, même quand le reste du fichier est bien formé.

Pour qui ce convertisseur est conçu

Les développeurs front-end et full-stack qui ajoutent des sous-titres à un lecteur vidéo auto-hébergé sont le public principal, mais les équipes de production vidéo qui livrent des ressources à un développeur l'utilisent aussi pour remettre quelque chose dont le bon fonctionnement est garanti, plutôt que de laisser la conversion de format comme une tâche en attente sur le bureau de quelqu'un d'autre. Il est tout aussi utile pour les sites de documentation open source qui intègrent des captures d'écran vidéo, les équipes d'outils internes qui sous-titrent des vidéos de formation pour la conformité en accessibilité, et quiconque migre une bibliothèque vidéo depuis une plateforme qui exportait du SRT vers un lecteur personnalisé attendant un sous-titrage natif du navigateur.

Ce que ce convertisseur conserve et modifie

Conservé :

  • Chaque mot du texte du dialogue, exactement comme écrit, y compris toute faute de frappe du fichier source.
  • La synchronisation à la milliseconde près pour chaque sous-titre, reportée exactement.
  • Un bloc par sous-titre, dans l'ordre d'origine, avec les numéros de sous-titre renumérotés de façon séquentielle à partir de 1.
  • Tout préfixe d'intervenant ou balise en ligne dans le texte du sous-titre, sauf si vous activez Retirer les étiquettes d'intervenant ou Retirer les balises de formatage.

Modifié ou supprimé :

  • La virgule avant les millisecondes devient un point dans chaque code temporel, puisque WebVTT exige 00:00:04.000, et non le 00:00:04,000 du SRT.
  • Une ligne d'en-tête WEBVTT est ajoutée en haut du fichier, puisque WebVTT l'exige et que le SRT n'en a pas.
  • Les préfixes d'intervenant en texte brut comme INTERVENANT 1 :, mais seulement si Retirer les étiquettes d'intervenant est activé ; ils sont laissés en place par défaut.
  • Les balises de formatage telles que <i> ou <b>, mais seulement si Retirer les balises de formatage est activé ; elles sont laissées en place par défaut.

Problèmes courants et comment les résoudre

  • Le navigateur n'affiche toujours pas les sous-titres après conversion : vérifiez que le badge de format au-dessus du convertisseur affichait bien SRT avant la conversion ; un collage mal tronqué peut perturber la détection des sous-titres et produire une sortie vide ou mal formée.
  • Des balises <i> ou <b> apparaissent encore en texte littéral dans les sous-titres : c'est normal, Retirer les balises de formatage est désactivé par défaut sur cette page puisque WebVTT prend en charge ces balises nativement ; activez-le seulement si vous voulez du texte brut à la place.
  • Des noms comme INTERVENANT 1 : sont reportés directement dans la sortie VTT : activez Retirer les étiquettes d'intervenant si vous préférez qu'ils n'y soient pas ; ils sont conservés par défaut car ce convertisseur suppose que vous voulez un reformatage structurel fidèle, pas une modification du contenu.
  • La sortie affiche encore une virgule au lieu d'un point avant les millisecondes : vérifiez que vous avez bien téléchargé la sortie .vtt et non une copie du fichier .srt d'origine ; le badge de format et l'étiquette de sortie au-dessus du convertisseur confirment lequel vous regardez.
  • Les sous-titres n'apparaissent pas même si le fichier semble correct : ouvrez le fichier .vtt dans un éditeur de texte et confirmez que la toute première ligne est exactement WEBVTT, sans rien avant, pas même une marque d'ordre des octets ou une ligne vide ; les navigateurs rejettent le fichier silencieusement si cette ligne n'est pas la première.
  • Les lettres accentuées ou le texte non anglais apparaissent comme des caractères corrompus du type é dans le fichier converti : le fichier .srt source n'a pas été enregistré en UTF-8 ; réexportez-le ou réenregistrez-le en UTF-8 avant de convertir, puisque WebVTT, comme SRT, suppose un texte en UTF-8.

Ce qui ne change pas dans la conversion

Le texte du dialogue et la synchronisation à la milliseconde près sont reportés exactement comme écrits. C'est un reformatage structurel, pas une nouvelle transcription. Si votre SRT d'origine contient des fautes de frappe, elles se retrouveront aussi dans la sortie VTT ; cet outil corrige la conformité du format, pas l'exactitude du contenu. Si vous souhaitez aussi nettoyer les étiquettes d'intervenant ou les balises de style en ligne pendant la conversion, les interrupteurs Retirer les étiquettes d'intervenant et Retirer les balises de formatage ci-dessus s'appliquent au texte du sous-titre avant sa réécriture en syntaxe WebVTT, afin que vous puissiez combiner conversion de format et nettoyage de contenu en une seule passe plutôt que d'exécuter deux outils séparés.

Questions fréquentes

Pourquoi mon navigateur rejette-t-il un fichier .srt dans un élément <track> ?

L'élément HTML5 <track> exige spécifiquement du WebVTT. Les navigateurs n'analysent pas nativement le SRT pour le sous-titrage vidéo. Convertir en .vtt est indispensable pour utiliser l'API native de sous-titres.

Qu'ajoute exactement le convertisseur pour obtenir un WebVTT valide ?

Il ajoute en tête la ligne d'en-tête WEBVTT obligatoire, remplace le séparateur de millisecondes de chaque code temporel par un point à la place d'une virgule, et renumérote les identifiants de sous-titre : les trois éléments qui manquent à un SRT pour qu'un navigateur accepte le fichier.

Puis-je ajouter un positionnement ou un style aux sous-titres après la conversion ?

Oui, cet outil produit une sortie texte WebVTT propre et conforme aux normes, que vous pouvez ensuite modifier à la main pour ajouter des réglages de sous-titre (comme align ou position) ou des balises de voix <v>, puisque la structure de base est déjà valide.

Les sous-titres resteront-ils synchronisés correctement après la conversion ?

Oui, la synchronisation est conservée à la milliseconde près ; seuls le caractère séparateur et l'en-tête changent, jamais les valeurs d'horodatage elles-mêmes.

Cela fonctionne-t-il pour des sous-titres exportés depuis Premiere ou DaVinci Resolve ?

Oui. Les deux exportent du SRT standard, que cet analyseur lit nativement quel que soit le logiciel qui a généré le fichier.

Certains navigateurs prennent-ils réellement en charge le .srt directement, même s'il n'est pas conforme à la spécification ?

Chrome et Firefox ont ajouté une prise en charge non standard du SRT via l'API TextTrack, mais elle est inconstante et non garantie selon les navigateurs ou les versions. La spécification HTML5 exige uniquement WebVTT, donc convertir en .vtt est le seul moyen de garantir que les sous-titres s'affichent partout.