Skip to content

Playlists & guide data

M3U vs. M3U8: What's the Difference for IPTV?

Updated 1 min read

Two printed lists side by side

M3U8 is an M3U playlist saved in UTF-8 text encoding. For IPTV, the extension shows up in two places: your channel playlist (a list of channels, which may end in .m3u or .m3u8), and individual HLS streams, where an .m3u8 file lists short video segments for one channel. Most modern players handle both automatically.

M3U: the original playlist format

M3U started as a simple list of media files. IPTV providers extended it with #EXTINF lines and attributes such as tvg-id and group-title to describe channels. The original format didn't define a text encoding, which could garble accented channel names.

M3U8: same format, UTF-8 encoded

The “8” means UTF-8, so characters from any language display correctly. A channel playlist ending in .m3u8 is otherwise the same as an .m3u one, and players treat them alike.

M3U8 in HLS streaming

HTTP Live Streaming (HLS), standardized in RFC 8216, uses M3U8 files as media playlists. When you open a channel, the player downloads that channel's .m3u8, which lists the next few seconds of video as small segments (and sometimes several quality levels). The player keeps refreshing it to follow the live broadcast. This is why many IPTV stream addresses end in .m3u8.

What this means for you

  • If a player asks for an M3U URL, an .m3u8 channel playlist URL works too.
  • A stream ending in .m3u8 is HLS; one ending in .ts is a raw MPEG-TS stream. Some providers let you choose; HLS usually behaves better on mobile networks and in browsers.
  • If accented channel names look garbled, the playlist's encoding is the cause, not your player.

Related: What is an IPTV playlist? and Can you watch IPTV in a browser?.

Sources

Keep exploring

Step-by-step setup guides and a comparison of player apps for your devices.