Quick answer
The M3U format is a list of tracks or streams, born for music players and adopted by IPTV in its extended M3U8 variant, which adds metadata: channel name, group, logo and the identifier used for the programme guide.
The file contains no video. It contains addresses pointing elsewhere: if those addresses stop responding, the list remains valid but plays nothing. That is why a playlist that “works” stops working without anybody having touched it.
How an M3U file is built
An extended playlist file starts with a header line and continues in pairs of lines: one describes the channel, the next carries the address of the stream.
#EXTM3U x-tvg-url="https://example.tld/epg.xml"
#EXTINF:-1 tvg-id="channel.one.it" tvg-name="Channel One" tvg-logo="https://example.tld/logos/one.png" group-title="General",Channel One
https://example.tld/live/channel-one/index.m3u8Each element has a precise job:
#EXTM3Uopens the file; thex-tvg-urlattribute tells the player where to find the programme guide.#EXTINF:-1opens the channel description. The-1means indefinite duration, as for a live stream.tvg-idis the identifier linking the channel to its schedule in the EPG file. It is the field that causes the most trouble: if it does not match exactly, the guide stays empty for that channel.tvg-nameandtvg-logoare the name and logo shown in the interface.group-titledefines the group, meaning how channels are gathered together in menus.- The text after the comma is the name displayed when
tvg-nameis absent. - The following line is the stream address, typically an HLS
.m3u8manifest.
Local playlist, remote playlist, Xtream portal
There are three ways a service hands over the source, and each changes how the app behaves.
| Method | What you receive | Refresh | Note |
|---|---|---|---|
| Local file | An .m3u file to load into the player | Manual: the file stays as it is | Useful for testing, awkward over time |
| Remote address | A URL that returns the playlist | The player re-downloads it periodically | The most common case |
| Xtream Codes portal | Server address, username and password | Dynamic: channels, EPG and archive arrive through the API | Requires a player that supports it |
The third case is the one that most often causes confusion: someone holding Xtream Codes credentials does not have “a list”, and looking for an .m3u file leads nowhere. What is needed is a player that states support for it — the relevant column is in the comparison table.
On iPhone and iPad, players such as UHF, IPTVX, Smarters Player Lite and GSE import M3U and M3U8 playlists or Xtream credentials, depending on the format the service supplies; the comparison for Apple devices is in the guide to iOS IPTV players.
Why a playlist stops working
The file is static; the addresses inside it are not — on how transmission works, the introductory guide explains the segment mechanism. The most frequent causes, in order of likelihood:
The origin server no longer responds. The address pointed at a stream that has been moved, switched off or cut. No player setting can make up for that.
The playlist has expired. Many services generate addresses carrying a temporary token: once it expires, the address remains formally valid but the server refuses the request.
The connection limit has been reached. If the service allows two simultaneous devices and you have three active, the third gets an error the player often shows as a black screen.
The stream format is not supported by the device. The channel is there and responding, but that hardware cannot decode the codec. You can recognise it because other channels in the same list work.
The fastest way to tell these cases apart is to open the playlist with VLC on a computer, as described in the guide for Windows and macOS. The other technical guides are collected in the dedicated section.
The legal point, which is independent of the format
An M3U file is an open, neutral format, exactly like a .txt file. What matters is what the addresses inside it point to and who has the right to distribute those streams.
There is a perfectly lawful use of the format: many public and local broadcasters distribute their own stream freely, and some open-source collections aggregate their official addresses. A legitimate service, in the same way, hands its subscribers a personal playlist: that is the standard way IPTV is distributed.
Frequently asked questions
How do I open an M3U file?
With any IPTV player, or with VLC for a quick check. With a text editor you can read its contents: it is plain text.
Where can I find the best IPTV lists?
If the question means collections of premium channels, we do not point to them: they are unauthorised redistributions. The legitimate source of a playlist is the service you subscribe to, which supplies it along with your access.
What are self-updating lists?
Remote playlists that the player re-downloads at regular intervals. “Self-updating” therefore describes how the player reads them, not a property of the file.
Can I create my own M3U list?
Yes, with a text editor, following the structure shown above. It makes sense for gathering streams you have the right to play, such as the free live feeds of broadcasters who publish them.
Can I use an M3U list on an iPhone?
Yes. You install a player from the App Store — UHF, IPTVX, Smarters Player Lite or GSE — and paste the .m3u address, or import the file from the Files app or iCloud Drive. The player comparison is in the guide to iOS IPTV players.
The list works on my phone but not on the TV.
Nearly always a codec or local network problem rather than one with the playlist. The causes are collected in the buffering guide.