Un fichier SRT est déjà du texte brut : renommé en .txt, il garde tout, numéros et codes temporels compris. Pour ne garder que les répliques, trois voies fiables : l'export « Texte brut » de Subtitle Edit, quatre rechercher-remplacer avec expressions régulières dans Notepad++ ou VS Code, ou une seule ligne de PowerShell sous Windows, sans rien installer. Word y arrive aussi, avec ses caractères génériques. Le 17 octobre 2026, nous avons testé les rechercher-remplacer et la ligne PowerShell sur notre propre fichier en français, puis sur huit copies volontairement mal formées.

Quelle méthode choisir ?

  • Tout garder : renommez sous-titres.srt en sous-titres.txt. Rien ne se perd, mais numéros, codes temporels et balises restent dans le texte.
  • Le texte seul, souvent ou pour beaucoup de fichiers : Subtitle Edit, gratuit pour Windows, macOS et Linux.
  • Dans un éditeur de texte : quatre étapes dans Notepad++ ou VS Code.
  • Sous Windows, sans rien installer : une ligne de PowerShell.
  • Dans Word : les caractères génériques, avec un piège sur les systèmes français.
  • Contenu confidentiel : une méthode locale plutôt qu'un convertisseur en ligne.
  • Du TXT vers le SRT : possible seulement si le texte ou la vidéo fournit les temps.

Ce qui disparaît à la conversion

Chaque sous-titre d'un fichier SRT compte un numéro, une ligne de temps, une ou deux lignes de texte et une ligne vide ; notre guide du fichier SRT détaille ce format. Pour obtenir du texte, numéros, temps et balises disparaissent ; les répliques restent.

Extrait de notre fichier sous-titres.srt avec codes temporels et balises surlignés en orange, puis le même dialogue dans sous-titres.txt, un sous-titre par ligne
Notre fichier d'exemple et le texte obtenu, 17 octobre 2026.

Notre fichier contient exprès les cas qui font échouer les recettes simplistes :

  • Des balises : <i> pour l'italique, <font color> pour la couleur et {\an8}, qui place un sous-titre en haut de l'image.
  • Une couleur qui porte du sens. Pour les sous-titres destinés aux sourds et malentendants à la télévision, la charte de qualité publiée sur le site de l'Arcom prévoit un code couleur : jaune pour une personne hors champ, par exemple. Retirer les balises efface cette information.
  • Un bruit entre crochets, [Sonnerie de téléphone], la forme que l'aide de YouTube donne en exemple.
  • Un sous-titre réduit à un nombre, « 112 », qui ressemble à un numéro de sous-titre.
  • Une ligne qui commence par une année, « 2026 a été une bonne année ».

Subtitle Edit : l'export en texte brut

Subtitle Edit est gratuit et open source ; sa version 5.3 est sortie le 14 octobre 2026 pour Windows, macOS et Linux. D'après sa description, il fonctionne hors ligne et ne transmet pas le contenu de vos fichiers. Les libellés ci-dessous viennent de sa traduction française officielle :

  1. Ouvrez le fichier SRT.
  2. Choisissez Fichier > Exporter > Texte brut… La fenêtre « Exporter en texte brut » affiche un aperçu.
  3. Choisissez « Enlever les sauts de ligne » pour un sous-titre par ligne, ou « Joindre les lignes » pour un seul bloc de texte. « Ne pas changer » garde les lignes telles quelles.
  4. Laissez cochée « Retirer la mise en forme » : d'après le code source, l'option est active par défaut et retire <i> comme {\an8}.
  5. Laissez décochés « Afficher les numéros de ligne » et « Afficher l'horodatage ».
  6. Vérifiez dans l'aperçu l'espace entre les sous-titres. D'après le code source, « Ajouter une nouvelle ligne après le texte » et « Ajouter une ligne entre les sous-titres » sont cochées par défaut, ce qui peut donner deux lignes vides.
  7. Choisissez l'encodage UTF-8, puis « Enregistrer… ».

Pour un dossier entier, passez par Outils > Convertir par lots… Nous n'avons pas installé Subtitle Edit : les libellés viennent de ses fichiers de langue, le comportement de son code source.

Notepad++ et VS Code : quatre rechercher-remplacer

Dans Notepad++, ouvrez Recherche > Remplacer..., choisissez « Expression régulière » sous « Mode de recherche » et laissez décochée la case « . comprend EOL ». Dans VS Code, appuyez sur Ctrl+H et activez les expressions régulières avec le bouton .*. Travaillez sur une copie et appliquez chaque étape à tout le fichier (« Remplacer tout » dans Notepad++). Voici le fichier complet de notre test :

sous-titres.srt
1
00:00:01,000 --> 00:00:03,200
Bonjour à tous, merci d'être venus.

2
00:00:03,400 --> 00:00:06,800
Aujourd'hui, on parle de sous-titres
et de lettres comme é, è, ç ou œ.

3
00:00:07,000 --> 00:00:10,000
<i>Le colis coûte 1 234,56 euros</i>
<i>et arrive le 25/10/2026.</i>

4
00:00:10,200 --> 00:00:11,500
{\an8}[Sonnerie de téléphone]

5
00:00:11,700 --> 00:00:14,000
Quel numéro faut-il appeler ?

6
00:00:14,200 --> 00:00:15,400
112

7
00:00:15,600 --> 00:00:18,000
- On reprend à quelle heure ?
- À 10 h 30.

8
00:00:18,200 --> 00:00:20,500
2026 a été une bonne année
pour les « vidéos accessibles ».

9
00:00:20,700 --> 00:00:23,000
<font color="#FFFF00">(dans le couloir) Salut, à demain !</font>

Les quatre étapes, dans la syntaxe de Notepad++ :

  1. Retirer les balises : recherchez <[^>]+>|\{\\[^}]*\} et remplacez par rien.
  2. Remplacer numéro et temps par une marque : recherchez ^(?:\d+\R)?[ \t]*\d{1,2}:\d\d:\d\d[,.]\d{1,3}[ \t]*-->[ \t]*\d{1,2}:\d\d:\d\d[,.]\d{1,3}[^\r\n]*\R et remplacez par @@@. Un nombre ne disparaît que si une ligne de temps le suit : « 112 » reste.
  3. Tout mettre sur une ligne : recherchez [ \t]*(?:\R[ \t]*)+ et remplacez par une espace.
  4. Transformer la marque en saut de ligne : recherchez \x20?@@@\x20? et remplacez par \r\n. Supprimez ensuite la première ligne, restée vide.

Dans VS Code, écrivez \r?\n à la place de \R aux étapes 2 et 3, et \n comme remplacement à l'étape 4. Enregistrez le résultat en UTF-8 :

sous-titres.txt
Bonjour à tous, merci d'être venus.
Aujourd'hui, on parle de sous-titres et de lettres comme é, è, ç ou œ.
Le colis coûte 1 234,56 euros et arrive le 25/10/2026.
[Sonnerie de téléphone]
Quel numéro faut-il appeler ?
112
- On reprend à quelle heure ? - À 10 h 30.
2026 a été une bonne année pour les « vidéos accessibles ».
(dans le couloir) Salut, à demain !

Pour un seul paragraphe, remplacez encore \r?\n par une espace. Nous avons lancé les étapes avec le moteur de JavaScript, celui de VS Code, sur notre fichier en fins de ligne Windows (CRLF) et Unix (LF), puis avec Perl, qui suit les mêmes règles que Notepad++, sur ces deux versions et une copie avec BOM : même texte à chaque fois, accents intacts. Notepad++ lui-même n'était pas installé.

Le Bloc-notes de Windows, lui, ne convient pas : dans sa version 11.2607, examinée le 15 octobre 2026, la barre de remplacement ne propose que deux options, la casse et la reprise au début du document, sans expressions régulières. Il reste utile pour vérifier l'encodage, affiché dans la barre d'état.

Fichiers mal formés : notre test

Beaucoup de recettes supposent un fichier parfait. Nous avons comparé nos quatre étapes à une recette plus courte, qui joint les lignes puis supprime les numéros suivis d'un temps au format exact. Le test a porté sur huit copies des trois premiers sous-titres, chacune avec un seul défaut, en fins de ligne Windows :

Huit copies de notre fichier, un défaut chacune, testées le 17 octobre 2026
Défaut de la copieRecette courteNos quatre étapes
aucuntexte propretexte propre
ligne vide manquante après le sous-titre 1sous-titres 1 et 2 sur une ligne, avec 2 00:00:03,400 --> 00:00:06,800texte propre
deux lignes vides de troptexte propretexte propre
données de position après le tempsX1:100 X2:620 Y1:420 Y2:480 dans le textetexte propre
espace après le tempstexte propretexte propre
point au lieu de la virgulenuméro et temps restenttexte propre
heures sur un chiffre, 0:00:03,400numéro et temps restenttexte propre
aucun numérotous les temps restenttexte propre

La recette courte a laissé des restes dans cinq cas sur huit. Nos quatre étapes ont donné un texte propre dans les huit cas, en JavaScript, en Perl et dans Windows PowerShell 5.1. Notre fichier allemand avait donné le même résultat le 15 octobre 2026. Une limite : les temps WebVTT sans les heures et l'en-tête WEBVTT ne sont pas traités ; pour un fichier .vtt, voyez notre guide du format VTT.

Garder les codes temporels

Pour garder l'heure de début de chaque sous-titre, modifiez l'étape 2 : recherchez ^(?:\d+\R)?[ \t]*(\d{1,2}:\d\d:\d\d)[,.]\d{1,3}[ \t]*-->[ \t]*\d{1,2}:\d\d:\d\d[,.]\d{1,3}[^\r\n]*\R et remplacez par `@@@[$1] `. Les autres étapes ne changent pas :

sous-titres-horodatage.txt (extrait)
[00:00:01] Bonjour à tous, merci d'être venus.
[00:00:03] Aujourd'hui, on parle de sous-titres et de lettres comme é, è, ç ou œ.
[00:00:07] Le colis coûte 1 234,56 euros et arrive le 25/10/2026.
[00:00:10] [Sonnerie de téléphone]

Dans Subtitle Edit, cochez « Afficher l'horodatage », choisissez un format et décochez « Ajouter une nouvelle ligne après l'horodatage » pour avoir le temps et le texte sur la même ligne. Quel format choisir ?

  • Pour citer ou retrouver un passage : l'heure de début suffit, comme ci-dessus.
  • Pour revenir plus tard à un SRT : gardez début et fin avec les millisecondes, sinon les temps se décalent (voir la dernière partie).
  • Pour une transcription : un repère à chaque changement de personne ; notre guide de la transcription horodatée montre les conventions.

Word : caractères génériques et point-virgule

Ouvrez le fichier SRT dans Word en affichant tous les types de fichiers dans la fenêtre d'ouverture. Lors de notre test du 15 octobre 2026, sur notre fichier allemand, Word a reconnu correctement l'UTF-8, l'UTF-8 avec BOM et l'ANSI. Ouvrez ensuite « Rechercher et remplacer » (Ctrl+H), affichez toutes les options et cochez « Utiliser des caractères génériques » :

  1. \<[!\>]@\> remplacé par rien retire les balises.
  2. \{\\[!\}]@\} remplacé par rien retire {\an8}.
  3. [0-9]@^13[0-9:,]@ --\>[ 0-9:,]@^13 remplacé par rien retire chaque paire numéro et temps.

Décochez les caractères génériques, puis remplacez ^p^p par ###, ^p par une espace et ### par ^p. Chaque sous-titre forme alors un paragraphe.

Le piège du point-virgule. L'aide de Microsoft écrit les répétitions avec une virgule, comme {1,}. Sur notre ordinateur de test, dont le séparateur de liste Windows est le point-virgule, Word a refusé {1,} comme modèle non valide ; {1;} et @ (une ou plusieurs fois) ont fonctionné. Or le point-virgule est le séparateur de liste par défaut de Windows en français pour la France, la Belgique, la Suisse et le Canada, d'après les données régionales de Windows. Écrivez donc @, qui fonctionne partout.

Dans notre fichier allemand, l'étape 3 a trouvé exactement les neuf paires numéro et temps, et le texte final était identique à celui des expressions régulières. Reproduite en JavaScript sur notre fichier français, la même logique trouve aussi neuf paires et laisse « 112 ». Pour enregistrer : Fichier > Enregistrer sous, type « Texte brut », puis « Autre codage » et UTF-8 dans « Conversion de fichier ». Word a alors écrit un BOM et des fins de ligne Windows.

Sans rien installer : une ligne de PowerShell

Windows PowerShell 5.1 est présent sur tout Windows. Cette ligne applique les quatre étapes à sous-titres.srt et écrit sous-titres.txt. Nous l'avons lancée telle quelle le 17 octobre 2026, sur les trois versions de notre fichier et sur les huit copies mal formées : même texte qu'avec les étapes ci-dessus à chaque fois.

Windows PowerShell 5.1
((Get-Content sous-titres.srt -Raw -Encoding UTF8) -replace '<[^>]+>|\{\\[^}]*\}' -replace '(?m)^(?:\d+\r?\n)?[ \t]*\d{1,2}:\d\d:\d\d[,.]\d{1,3}[ \t]*-->[ \t]*\d{1,2}:\d\d:\d\d[,.]\d{1,3}[^\r\n]*\r?\n', '@@@' -replace '[ \t]*(?:\r?\n[ \t]*)+', ' ' -replace ' ?@@@ ?', "`r`n").Trim() | Set-Content sous-titres.txt -Encoding UTF8

Pour garder les heures de début, mettez entre parenthèses la première heure du deuxième motif, (\d{1,2}:\d\d:\d\d), et remplacez '@@@' par '@@@[$1] ' ; nous avons testé cette variante aussi. Trois détails comptent dans Windows PowerShell 5.1 :

  • -Encoding UTF8 à la lecture. Sans lui, Get-Content a lu notre fichier comme « é » au lieu de « é ».
  • Des guillemets simples autour des motifs. Entre guillemets doubles, PowerShell remplace $1 par une variable vide avant l'expression régulière, et des lettres disparaissent.
  • Pas de > pour enregistrer. La redirection écrit de l'UTF-16 ; Set-Content sans -Encoding écrit en ANSI. -Encoding UTF8 écrit de l'UTF-8 avec BOM. PowerShell 7 écrit par défaut de l'UTF-8 sans BOM.

Accents abîmés : « é » au lieu de « é »

Si le texte converti affiche « é », le fichier SRT n'y est en général pour rien : c'est le programme de conversion qui a lu l'UTF-8 comme du Windows-1252, souvent appelé ANSI. Voici notre fichier lu par Get-Content sans -Encoding ; nous avons vérifié que c'est exactement la lecture en Windows-1252 :

sous-titres.srt lu comme Windows-1252 (extrait)
Bonjour à tous, merci d'être venus.
et de lettres comme é, è, ç ou œ.
2026 a été une bonne année
pour les « vidéos accessibles ».
  • Python, avant sa version 3.15 sortie en octobre 2026, lisait lui aussi les fichiers avec la page de codes ANSI sous Windows ; depuis, l'UTF-8 est la valeur par défaut. Dans un script, indiquez de toute façon encoding='utf-8-sig'.
  • Le BOM, trois octets invisibles au début de certains fichiers UTF-8, gêne les scripts qui le gardent : le premier numéro n'est plus en début de ligne et reste dans le texte. Notepad++, PowerShell avec -Encoding UTF8 et Python avec utf-8-sig le retirent.
  • Réparer un texte déjà abîmé : encodez-le en Windows-1252 et relisez-le en UTF-8. Dans PowerShell : [Text.Encoding]::UTF8.GetString([Text.Encoding]::GetEncoding(1252).GetBytes($texte)). Sur notre fichier, tous les accents, le « œ » et les guillemets sont revenus intacts.

Notre guide du fichier SRT explique pourquoi ces caractères se transforment ainsi.

Nettoyer le texte

  • Bruits entre crochets : recherchez \[[^\]]*\] et remplacez par rien. Faites-le avant d'ajouter des temps, car le motif supprimerait aussi [00:00:07].
  • Indications entre parenthèses : \([^)\r\n]*\) ? retire « (dans le couloir) ». Vérifiez d'abord que vos parenthèses ne contiennent pas de dialogue.
  • Répliques : deux personnes dans un même sous-titre donnent une ligne comme « - On reprend à quelle heure ? - À 10 h 30. » Séparez-les à la main.
  • Répétitions : dans les sous-titres en direct, chaque ligne revient souvent deux fois. Notepad++ propose Édition > Ligne > Supprimer les lignes en double consécutives, et Enlever les lignes vides dans le même menu.
  • Paragraphes : les sous-titres coupent les phrases pour la lecture, pas pour le sens. Ajoutez des paragraphes là où le sujet ou la personne change.

Subtitle Edit propose aussi Outils > Retirer le texte pour les malentendants… Pour un usage lié à l'accessibilité, gardez au contraire les bruits et les noms : un texte tiré des sous-titres ne contient que ce qui est dit.

Convertisseurs en ligne : où va votre fichier

Un convertisseur en ligne évite toute installation, mais votre fichier quitte parfois votre ordinateur. Ce que les sites disent eux-mêmes :

  • Phrase indique que le fichier reste dans votre navigateur, en UTF-8, jusqu'à 2 Mio et 500 000 caractères (page consultée le 17 octobre 2026).
  • MConverter indique supprimer les fichiers de ses serveurs quatre heures après la conversion (15 octobre 2026).

Nous n'avons pas vérifié ces affirmations. Pour un entretien, une réunion client ou tout fichier qui contient des noms, convertissez sur votre ordinateur ; notre guide pour retranscrire un entretien aborde aussi la protection des données.

Du TXT au SRT : d'où viennent les temps

Le chemin inverse est plus difficile, car un texte brut n'a pas de temps. Trois cas :

  • Le texte a déjà des heures de début, comme notre version horodatée. Un rechercher-remplacer ou un petit script peut reconstruire le SRT ; la fin de chaque sous-titre vient alors du début du suivant.
  • Vous avez le texte et la vidéo. Dans Subtitle Edit, Fichier > Importer > Texte brut… ouvre « Importer du texte brut ». Dans la version 5.3, le bouton « Synchroniser les horodatages via un alignement forcé… » cale le texte sur la piste audio sans le retranscrire, d'après l'aide intégrée. Pour vos propres vidéos YouTube, la « Synchronisation automatique » de YouTube Studio fait ce travail ; d'après l'aide de YouTube, le texte doit être dans la langue parlée, et la fonction est déconseillée au-delà d'une heure ou avec un son médiocre. Voir aussi notre guide pour télécharger les sous-titres YouTube.
  • Vous n'avez que le texte : les temps ne peuvent qu'être estimés d'après la vitesse de lecture, puis corrigés sur la vidéo.

Nous avons reconstruit un SRT à partir de notre texte horodaté et l'avons comparé à l'original. Le fichier était valide, mais sept sous-titres sur neuf commençaient trop tôt, de 200 à 700 millisecondes, faute de millisecondes dans le texte. Les pauses entre sous-titres avaient disparu, et les sous-titres de deux lignes revenaient sur une seule ligne, jusqu'à 70 caractères, loin des 42 que fixe Netflix pour le français. Conservez donc le fichier SRT d'origine, et exportez avec les millisecondes si vous comptez y revenir.