An M3U file is a plain-text list of media locations. It holds no video and no audio — only pointers. Open one in a text editor and you will see a channel name on one line and a URL on the next. That is the whole format.
What is actually inside
A playlist that a player can read starts with a single header line, then repeats one two-line block per channel: an #EXTINF line carrying the metadata, and the stream URL underneath it.
#EXTM3U
#EXTINF:-1 tvg-id="Example.uk" tvg-logo="https://example.org/logo.png" group-title="News",Example News
https://example.org/live/news.m3u8
#EXTINF:-1 tvg-id="Example2.uk" group-title="News",Example News 2
https://example.org/live/news2.m3u8The attributes matter more than they look. tvg-id is what a TV guide matches against, tvg-logo is the tile artwork, and group-title is the category your player sorts by. A playlist missing tvg-id can never show a working EPG, no matter which XMLTV file you load.
M3U and M3U8 are the same idea
An .m3u8 file is an M3U file encoded as UTF-8. In practice, .m3u8 has also come to mean an HLS stream manifest — a playlist of short video segments rather than a list of channels. That distinction matters when a link will not open, and it is covered properly in M3U vs M3U8.
Why free playlists stop working
Every entry points at somebody else's server, and that server can change at any time. The common causes, in rough order of frequency:
- The broadcaster moved the stream to a new CDN host and the old URL now 404s.
- The stream is geo-restricted, so it answers 403 outside its licensed region.
- The URL carries an expiring token, so it dies hours after the list was generated.
- The channel stopped broadcasting, but the playlist entry was never cleaned up.
This is why any page promising a fixed list of working links is wrong the moment it is published. The honest approach is to test the entries you care about now, rather than trusting a list's age.
Check before you import
Paste a playlist into our M3U checker to see how many entries it has, whether the header is present, how many entries are missing guide IDs or logos, and which URLs are duplicated. It runs entirely in your browser — the file is never uploaded.