ForHosting KIT · Vidéo

Convertissez vos sous-titres SRT en WebVTT

Transformez un fichier de sous-titres SRT en WebVTT accepté par les lecteurs web : 00:00:01,250 devient 00:00:01.250, l’en-tête WEBVTT est ajouté et les sous-titres sur plusieurs lignes restent intacts, avec le nombre de blocs produits. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Transformez un texte de sous-titres SubRip en WebVTT conforme aux standards sans remplacer vous-même la ponctuation ni reconstruire les blocs. Le convertisseur ajoute l’en-tête WEBVTT requis, remplace les virgules des temps SRT par des points décimaux, conserve les sous-titres multilignes et indique le nombre de repères produits. Chaque ligne temporelle est contrôlée avant le résultat : une entrée endommagée provoque donc une erreur explicite plutôt qu’un fichier peu fiable.

Intégrez vos sous-titres SRT à un flux WebVTT

SRT et WebVTT se ressemblent, mais ces fichiers ne sont pas interchangeables. Les lecteurs web attendent généralement un fichier commençant par la signature WEBVTT, tandis qu’un fichier SRT débute souvent par un repère numéroté. Les séparateurs de millisecondes diffèrent aussi : SRT emploie une virgule et WebVTT un point.

Collez ou envoyez le document SRT complet dans le champ srt. Le convertisseur normalise les fins de ligne courantes, retire une éventuelle marque d’ordre des octets Unicode initiale, lit chaque repère dans l’ordre et produit un document WebVTT. Les lignes restent dans leur ordre d’origine, y compris dans les sous-titres multilignes.

Les index numériques servent de structure et ne sont pas recopiés. La réponse fournit le texte converti dans vtt ainsi que le nombre de repères, pratique pour les contrôles automatisés.

Détectez les temps incorrects avant publication

Les erreurs de sous-titres sont parfois discrètes : un repère peut employer un point à la place de la virgule requise en SRT, omettre un chiffre des millisecondes, perdre la flèche ou contenir une minute impossible. Cette capacité vérifie chaque ligne selon la forme HH:MM:SS,mmm --> HH:MM:SS,mmm. Les minutes et secondes doivent être comprises entre 00 et 59, les millisecondes comporter exactement trois chiffres et la fin ne peut pas précéder le début.

Si une entrée enfreint ces règles, la requête entière renvoie une erreur identifiant le repère concerné au lieu de générer silencieusement un fichier incomplet. Les textes vides et les index non numériques inattendus sont également refusés. Aucun temps ambigu n’est deviné ni réparé, car une estimation pourrait décaler le dialogue.

Corrigez l’entrée signalée, puis renvoyez le document.

Utilisez une sortie déterministe sur vos sites et automatisations

Le texte WebVTT renvoyé peut être enregistré avec l’extension .vtt et servi sous le type text/vtt. Dans une page vidéo HTML, référencez ce fichier depuis un élément track et choisissez la langue et le libellé appropriés. La conversion est déterministe : une entrée identique donne une sortie identique, avec des fins de ligne Unix, une ligne vide après l’en-tête, des séparations entre repères et un saut de ligne final.

Le résultat convient donc au contrôle de versions, aux builds reproductibles, aux migrations et aux tests. La capacité se limite à la structure : elle ne traduit pas les dialogues, ne transcrit pas l’audio, ne recale pas les temps, ne fusionne pas les sous-titres superposés et n’analyse pas la vidéo.

Préparez des sous-titres pour une vidéo HTML5

Convertissez la livraison SRT d’un monteur en WebVTT avant de la relier à un élément track HTML.

Validez les exports dans votre CI

Arrêtez le build dès qu’un repère contient un temps incorrect au lieu de publier des sous-titres défectueux.

Migrez une bibliothèque de sous-titres

Produisez des ressources WebVTT stables depuis des textes SRT existants au cours d’une migration reproductible.

Que modifie la conversion ?

Elle ajoute l’en-tête WEBVTT, remplace les virgules des millisecondes par des points, retire les index SRT numériques et conserve le texte.

Quel format temporel est accepté ?

Chaque repère doit suivre HH:MM:SS,mmm --> HH:MM:SS,mmm, avec des minutes et secondes valides et trois chiffres de millisecondes.

Que se passe-t-il si une ligne temporelle est incorrecte ?

La requête échoue avec une erreur identifiant l’entrée SRT. Aucun document WebVTT partiel n’est renvoyé.

Les sous-titres multilignes sont-ils conservés ?

Oui. Toutes les lignes suivant le temps d’un repère restent dans le même ordre.

Cet outil traduit-il ou recale-t-il les sous-titres ?

Non. Seul le format du conteneur change ; le texte et les temps valides restent inchangés.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/video/subtitle-srt-to-vtt

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/video/subtitle-srt-to-vtt \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"srt":"1\n00:00:01,250 --> 00:00:03,500\nWelcome to the presentation.\n\n2\n00:00:04,000 --> 00:00:06,125\nLet us begin."}'
{
  "srt": "1\n00:00:01,250 --> 00:00:03,500\nWelcome to the presentation.\n\n2\n00:00:04,000 --> 00:00:06,125\nLet us begin."
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "video.subtitle_srt_to_vtt",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_mb500
max_minutes60
max_megapixels3.9
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Utilisez une sortie déterministe sur vos sites et automatisations

Testez-la gratuitement dans votre navigateur ou utilisez l’API au tarif de $0.002 par élément pour automatiser vos documents.

Quel est le prix de la conversion par API ?

Chaque requête API coûte $0.002 par élément. La version proposée dans le navigateur est gratuite.

Consulter la documentation complète du KIT →