Skip to content

Convertisseur de sous

Transformez les événements timedtext JSON3 de YouTube en sous-titres WebVTT, avec l'en-tête WEBVTT obligatoire et le minutage HH:MM:SS.mmm.

Glissez-déposez votre fichier JSON ici

ou cliquez pour parcourir

Prend en charge les fichiers .json, .json3, .xml, .html jusqu'à 50 Mo

Architecture du moteur principal

À propos de JSON vers VTT

Le format JSON3 de YouTube timedtext n'est accepté ni par les éléments track HTML5 ni par la plupart des plateformes vidéo Web. Ce convertisseur analyse le tableau d'événements JSON3, assemble les fragments de texte segs, calcule le minutage des cues et écrit un WebVTT valide avec l'en-tête WEBVTT obligatoire. Le fichier est prêt pour la vidéo HTML5, YouTube Studio, Vimeo et les lecteurs JavaScript.

Inspecteur de payload et syntaxe

JSON vers VTT Inspection de la syntaxe et structure du code

Comparaison côte à côte de la syntaxe de code illustrant les définitions d'en-tête, la syntaxe d'horodatage et le formatage du payload de cues

Synchronisation à la milliseconde
input.json
JSON SOURCE
{
"events": [
{ "tStartMs": 1000, "dDurationMs": 3000,
"segs": [{ "utf8": "Hello, world!" }] },
{ "tStartMs": 4500, "dDurationMs": 3500,
"segs": [{ "utf8": "This is a subtitle file." }] }
]
}
output.vtt
VTT RÉSULTAT
WEBVTT
 
00:00:01.000 --> 00:00:04.000
Hello, world!
 
00:00:04.500 --> 00:00:08.000
This is a subtitle file.
 
00:00:08.500 --> 00:00:12.000
Converted locally!
Fiche technique

JSON vs VTT Spécifications techniques

Conforme aux standards
Format d'entrée

JSON

JSON

JSON3 est le format de sous-titres interne de YouTube, exporté via l'API timedtext. Le fichier est un objet JSON avec un tableau d'événements. Chaque événement a tStartMs (milliseconde de début), dDurationMs (durée en ms) et segs (tableau de fragments de texte, chacun avec un champ utf8). Les utilisateurs téléchargent généralement ce format avec youtube-dl, yt-dlp ou des outils similaires.

Format de sortie

VTT

VTT

Le VTT (WebVTT) est le format de sous-titres standard W3C pour la vidéo Web, requis par l'élément track HTML5 et accepté par YouTube, Vimeo et les lecteurs vidéo JavaScript comme Video.js et JW Player. Un fichier VTT doit commencer par le texte littéral WEBVTT sur la première ligne, suivi de blocs de cues. Chaque cue utilise des horodatages HH:MM:SS.mmm --> HH:MM:SS.mmm (point avant les millisecondes, heures complétées par des zéros). Le VTT prend aussi en charge des paramètres de cue facultatifs (line, position, align, size), des balises de style en ligne, des commentaires NOTE et des blocs CSS.

Différences de Format

JSON3 utilise un tableau d'événements YouTube ; le VTT utilise un en-tête WEBVTT et des blocs de cues
JSON3 stocke tStartMs et dDurationMs ; le VTT stocke des horodatages HH:MM:SS.mmm --> HH:MM:SS.mmm
JSON3 est un format propriétaire de YouTube ; le VTT est le standard W3C pour la vidéo Web
Les navigateurs ne peuvent pas charger JSON3 via un élément track ; le VTT est le format natif de sous-titres HTML5

Dépannage de conversion et pièges courants

Solutions pratiques pour la compatibilité des lecteurs, l'encodage des caractères et la synchronisation temporelle

4 pièges courants
GOTCHA #1

Le timing des sous-titres est décalé ou asynchrone sur le lecteur

Les vidéos présentent parfois des fréquences d'images différentes (23,976 fps vs 25 fps). Utilisez notre outil de synchronisation pour ajuster le décalage global.

GOTCHA #2

Les caractères accentués s'affichent sous forme de symboles corrompus

Les anciens fichiers encodés en Windows-1252 peuvent poser problème. Notre outil normalise la sortie en UTF-8 propre.

GOTCHA #3

Superposition de sous-titres lorsque plusieurs personnes parlent

Chaque format gère les dialogues simultanés différemment. Ajustez la durée des répliques dans notre Éditeur de Sous-titres.

GOTCHA #4

Les logiciels de montage (Premiere, DaVinci, Final Cut) refusent le fichier

Les logiciels professionnels imposent des règles strictes. Notre convertisseur élimine les erreurs de syntaxe et produit des fichiers propres et normalisés.

Caractéristiques

Analyse automatiquement le tableau d'événements JSON3 et les fragments de texte segs
Convertit les horodatages JSON3 en millisecondes au minutage VTT HH:MM:SS.mmm
Traitement côté client — vos fichiers ne quittent jamais votre appareil
Prend en charge l'encodage UTF-8 pour les caractères CJK et non latins
Traitement dans le navigateur · Les fichiers restent sur votre appareil
Gratuit, sans inscription, sans filigrane, fichiers jusqu'à 50 Mo chacun

Pourquoi Convertir ?

Les éléments vidéo HTML5 exigent le VTT via la balise track. Les fichiers JSON3 ne se chargent dans aucun navigateur.
YouTube Studio accepte le téléversement de VTT pour les sous-titres, mais ne reconnaît pas le format JSON3.
Vimeo exige le VTT pour le téléversement de sous-titres codés via son interface Web.
Les lecteurs vidéo JavaScript comme Video.js, Plyr et JW Player utilisent le VTT comme source principale de sous-titres.
WebVTT est le format natif de sous-titres pour la lecture vidéo accessible dans le navigateur.
Les plateformes de cours en ligne acceptent couramment le VTT pour les sous-titres et captions des vidéos.
Le VTT prend en charge positionnement, styles et métadonnées que JSON3 ne peut pas représenter.
Scenarios

Cas d'Utilisation Courants

Intégrations vidéo HTML5

Ajoutez des sous-titres à une vidéo de site Web avec un élément track pointant vers le fichier VTT. Les navigateurs ne chargent pas les fichiers JSON3 via cet élément.

Téléversement de sous-titres YouTube

Téléversez des fichiers VTT dans YouTube Studio au lieu de saisir les sous-titres manuellement. YouTube accepte le VTT, mais pas le JSON3.

Sous-titres Vimeo

Ajoutez des sous-titres codés aux vidéos Vimeo en téléversant un fichier VTT via le panneau des paramètres de sous-titres.

Plateformes d'e-learning

Ajoutez des sous-titres aux vidéos de cours sur Coursera, Canvas ou votre propre LMS lorsque le VTT est le format Web accepté.

Lecteurs vidéo JavaScript

Activez les sous-titres dans Video.js, Plyr, JW Player ou des lecteurs Web similaires qui lisent le VTT comme source de sous-titres.

Format Ecosystem

Formats Associés

JSON (YouTube JSON3)

JSON3 est le format de sous-titres interne de YouTube, exporté via l'API timedtext. Le fichier est un objet JSON avec un tableau d'événements. Chaque événement a tStartMs (milliseconde de début), dDurationMs (durée en ms) et segs (tableau de fragments de texte, chacun avec un champ utf8). Les utilisateurs téléchargent généralement ce format avec youtube-dl, yt-dlp ou des outils similaires.

SRT (SubRip)

L'alternative universelle : elle fonctionne sur les télévisions connectées et les lecteurs de bureau. Choisissez SRT plutôt que VTT si votre cible n'est pas un navigateur.

ASS (Advanced SubStation Alpha)

L'alternative stylisée : elle prend en charge polices, couleurs et positionnement. Choisissez ASS si le style visuel compte plus que la compatibilité Web.

Comment ça marche

  1. 1

    Téléversez ou glissez votre fichier .json dans la zone de l'outil.

  2. 2

    L'analyseur lit la structure JSON et itère le tableau d'événements.

  3. 3

    Chaque paire d'horodatages est reformatée en notation VTT : heures complétées, flèche insérée et point conservé pour les millisecondes.

  4. 4

    Les événements sans segs, qui contiennent uniquement du minutage, sont automatiquement ignorés.

  5. 5

    Le fichier .vtt obtenu commence par WEBVTT et contient des cues valides, séparées par des flèches, pour les lecteurs Web.

Foire aux questions

JSON3 est le format de sous-titres interne de YouTube. Il est servi via l'API timedtext sous forme d'objet JSON avec un tableau d'événements. Chaque événement a tStartMs (milliseconde de début), dDurationMs (durée en ms) et segs (tableau de fragments de texte, chacun avec un champ utf8).

Les fragments utf8 de chaque événement sont assemblés dans leur ordre d'origine. Par exemple, « Hello » et « world » deviennent la ligne de sous-titre complète « Hello world ».

Oui. La sortie contient l'en-tête WEBVTT obligatoire et un minutage de cue valide, ce qui la rend compatible avec YouTube Studio, Vimeo, l'élément track HTML5, Video.js, Plyr et JW Player.

Utilisez yt-dlp : yt-dlp --write-auto-sub --sub-format json3 <URL-de-la-vidéo>. Le fichier .json3 téléchargé peut être importé directement dans cet outil. Vous pouvez aussi le récupérer via l'API timedtext de YouTube dans un navigateur.

Certains événements de JSON3 contiennent uniquement des informations de minutage (comme les marqueurs aAppend), sans fragments de texte. Ces événements sont automatiquement ignorés pendant la conversion et n'affectent pas la sortie VTT.

Le VTT (WebVTT) est le format de sous-titres standard W3C pour la vidéo Web, requis par l'élément track HTML5 et accepté par YouTube, Vimeo et les lecteurs vidéo JavaScript comme Video.js et JW Player. Un fichier VTT doit commencer par le texte littéral WEBVTT sur la première ligne, suivi de blocs de cues. Chaque cue utilise des horodatages HH:MM:SS.mmm --> HH:MM:SS.mmm (point avant les millisecondes, heures complétées par des zéros). Le VTT prend aussi en charge des paramètres de cue facultatifs (line, position, align, size), des balises de style en ligne, des commentaires NOTE et des blocs CSS.

Prêt à convertir vos sous-titres ?

Déposez votre fichier JSON ici et convertissez-le en VTT instantanément.