Le format M3U

M3U est un format de liste de lecture en texte brut, apparu bien avant la vidéo en ligne — il servait à l'origine pour des listes audio. Sa simplicité explique sa longévité : un fichier M3U se lit dans n'importe quel éditeur de texte et se corrige à la main.

Définition et fonctionnement

Un fichier M3U est une suite de lignes. Certaines décrivent une entrée, d'autres donnent son adresse. Le lecteur parcourt le fichier de haut en bas et construit sa liste. Il n'y a ni base de données, ni requête : tout est déjà écrit dans le fichier.

La variante M3U8 désigne le même format encodé en UTF-8. C'est l'encodage à privilégier dès que des accents ou des caractères non latins apparaissent dans les noms.

Structure d'un fichier

Un fichier valide commence toujours par un en-tête, puis alterne une ligne de description et une ligne d'adresse. Exemple entièrement fictif :

#EXTM3U
#EXTINF:-1 tvg-id="exemple.chaine.1" tvg-name="Chaîne Exemple 1" group-title="Généralistes",Chaîne Exemple 1
https://example.com/flux/exemple-1
#EXTINF:-1 tvg-id="exemple.chaine.2" tvg-name="Chaîne Exemple 2" group-title="Documentaires",Chaîne Exemple 2
https://example.com/flux/exemple-2
  • #EXTM3U — en-tête obligatoire, sur la toute première ligne. Sans lui, beaucoup de lecteurs refusent le fichier.
  • #EXTINF:-1 — déclare une entrée. Le nombre est la durée en secondes ; -1 signifie « durée inconnue », ce qui est le cas d'un flux continu.
  • Après la virgule vient le nom affiché. C'est ce que verra l'utilisateur.
  • La ligne suivante contient l'adresse. Elle doit suivre immédiatement la ligne #EXTINF, sans ligne vide entre les deux.

Attributs courants

  • tvg-id — identifiant servant à relier l'entrée à un guide des programmes. C'est la clé de jointure avec un fichier XMLTV.
  • tvg-name — nom technique, parfois différent du nom affiché.
  • group-title — regroupe les entrées par catégorie dans l'interface du lecteur.
  • tvg-logo — adresse d'une image de logo. Un logo manquant n'empêche jamais la lecture.

Les attributs sont optionnels et leur prise en charge varie d'un lecteur à l'autre. Un attribut ignoré n'est pas une erreur.

Compatibilité

Le M3U est le format le plus largement accepté : la quasi-totalité des lecteurs le gèrent, ainsi que des logiciels généralistes comme VLC. Cette universalité en fait le format de repli quand un autre mode de configuration échoue.

En contrepartie, la liste est figée : si la source évolue, le fichier doit être remplacé. C'est la différence principale avec un accès de type Xtream, qui reconstruit la liste à chaque connexion.

Avantages et limites

Avantages

  • Format ouvert et lisible
  • Correction manuelle possible
  • Compatibilité très large
  • Aucun logiciel spécifique requis

Limites

  • Liste figée au moment du fichier
  • Pas de guide des programmes intégré
  • Fichiers volumineux difficiles à charger
  • Identifiants parfois visibles en clair

Erreurs fréquentes

  • En-tête #EXTM3U absent ou précédé d'une ligne vide.
  • Ligne #EXTINF sans adresse à la ligne suivante.
  • Virgule manquante avant le nom affiché.
  • Guillemets non fermés dans un attribut, qui décalent toute la ligne.
  • Fichier enregistré en ANSI au lieu d'UTF-8, produisant des accents corrompus.
  • Plusieurs entrées partageant le même tvg-id, ce qui perturbe l'association au guide.
  • Retours à la ligne Windows mal interprétés par certains lecteurs anciens.

Notre validateur M3U détecte ces cas localement, sans transmettre le fichier.

Sécurité et confidentialité

Une playlist contient souvent une adresse de serveur et parfois des identifiants dans l'URL. Partager le fichier tel quel, ou une capture d'écran non masquée, revient à partager l'accès lui-même.

Masquez systématiquement le nom d'utilisateur, le mot de passe et l'adresse du serveur avant tout envoi, y compris à un support. N'utilisez que des playlists dont vous disposez légitimement.

Statut normatif : ce que M3U n'a pas

Une précision qui change la façon de lire tout ce qui précède : aucune spécification normative unique ne définit l'ensemble du format M3U. Ce qui circule est un ensemble de conventions que les lecteurs appliquent avec des variations, et qui ne sont écrites nulle part en un seul endroit faisant autorité.

Les attributs tvg-id, tvg-name, tvg-logo et group-title en particulier ne proviennent d'aucun document normatif. Un lecteur peut les ignorer sans être en faute.

Il existe une exception, et elle est utile à connaître : HLS, lui, dispose d'une spécification publiée — la RFC 8216 de l'IETF, d'août 2017, de catégorie « Informational ». C'est elle qui définit les balises #EXT-X- et qui impose que #EXTM3U soit la première ligne de toute playlist HLS.

La conséquence pratique : quand un lecteur refuse votre fichier alors qu'un autre l'accepte, aucun des deux n'a nécessairement tort.

Vérifier localement, sans rien transmettre

Trois outils de ce site traitent une playlist entièrement dans votre navigateur. Leurs limites comptent autant que leurs contrôles.

  • Le détecteur de format dit ce que vous avez : playlist simple, playlist HLS, ou tout autre chose. Il n'ouvre aucune adresse.
  • Le validateur M3U contrôle la syntaxe ligne par ligne. Il ne teste aucun flux : une playlist déclarée saine peut parfaitement ne pas fonctionner.
  • Le masqueur d'identifiants remplace vos accès par des étiquettes avant que vous ne partagiez une ligne.

Questions fréquentes

Quelle différence entre M3U et M3U8 ?

L'extension .m3u8 signale conventionnellement un fichier encodé en UTF-8, ce qui permet les accents et les alphabets non latins dans les noms de chaînes. Elle ne dit rien du contenu : un .m3u8 peut être une simple liste de chaînes comme une playlist HLS. Seules les balises présentes dans le fichier permettent de trancher.

L'en-tête #EXTM3U est-il obligatoire ?

Pour une playlist HLS, oui : la RFC 8216 impose qu'il soit la première ligne. Pour une playlist de chaînes ordinaire, il n'existe aucun document normatif qui l'impose — mais de nombreux lecteurs refusent le fichier sans lui, ce qui revient au même en pratique.

À quoi sert la ligne #EXTINF ?

Elle porte les métadonnées de l'entrée qui suit : une durée, des attributs facultatifs comme tvg-id ou group-title, puis, après une virgule, le nom affiché à l'écran. L'adresse du média occupe la ligne suivante. Une #EXTINF sans virgule laisse le nom manquant, ce qui suffit à faire échouer certains lecteurs.

Une adresse de playlist peut-elle contenir mon mot de passe ?

Fréquemment, oui. Beaucoup d'adresses de playlist portent l'identifiant et le mot de passe en clair dans leurs paramètres ou dans leur chemin. Partager une playlist entière, ou une capture d'écran non masquée, revient donc souvent à partager son accès.

Le validateur teste-t-il si les flux fonctionnent ?

Non. Il contrôle la syntaxe du fichier dans votre navigateur, sans contacter aucune des adresses qu'il contient. Une playlist déclarée saine peut parfaitement ne rien lire : la validité du format et la disponibilité d'une source sont deux questions distinctes.

Sources et limites

Dernière vérification : 2 août 2026. Prochaine revue : février 2027.

  • Les balises HLS, le type de média et l'obligation de placer #EXTM3U en première ligne d'une playlist HLS proviennent de la RFC 8216 (consultée le 2 août 2026).
  • Le reste de cette page décrit des conventions observées, sans document normatif à citer. C'est signalé plutôt que masqué.
  • Les contrôles attribués aux outils sont ceux réellement implémentés dans ce dépôt.

Non vérifié : le comportement de chaque lecteur face à un fichier partiel, les limites de taille qu'ils appliquent, et l'interprétation qu'ils font des attributs tvg-*. Aucun test manuel dans une application n'a été effectué.

À lire ensuite