Skip to content
IPTV Subscription 8K - 8K TV Subscription

Playlists and formats

M3U vs M3U8

M3U and M3U8 look like two formats, but they’re the same idea: a plain-text list of media addresses. The “8” means the file is saved in UTF-8 text encoding. The confusion comes from the name being used for two different jobs in IPTV: your channel list, and the small playlists that make up an HLS stream.

Updated · 2 min read

Also available in Dansk · Norsk · Svenska

The short history

M3U started as a simple playlist format for music players: a text file with one media location per line. Extended M3U added lines starting with #EXTINF to carry a title and duration for each entry. The original files had no fixed text encoding, which caused garbled names when a list contained accents or non-Latin scripts. M3U8 fixed that by requiring UTF-8.

Apple later adopted the M3U8 format for HTTP Live Streaming (HLS), specified in RFC 8216. That gave .m3u8 a second meaning: the index file of a live or on-demand stream.

Two jobs, one name

IPTV channel listHLS stream playlist
What it listsYour channels, each with a name, logo, group and stream addressThe short video segments (a few seconds each) that make up one stream
Typical sizeHundreds to many thousands of linesA handful of lines, updated every few seconds for live TV
Tags you’ll see#EXTM3U, #EXTINF, tvg-id, group-title#EXT-X-TARGETDURATION, #EXT-X-MEDIA-SEQUENCE, #EXT-X-STREAM-INF
Where you use itAdded once to your app as your “playlist”Opened automatically when you play a channel
File extension.m3u or .m3u8.m3u8

So when a provider says “M3U link”, they mean your channel list. When a stream format setting says “HLS (.m3u8)”, it means how each channel is delivered once you press play.

Does the choice affect playback?

The channel-list extension doesn’t. What does affect playback is the stream format each channel uses: MPEG-TS or HLS. Many apps let you choose, and many providers let you pick it in the link itself. Our guide to HLS vs MPEG-TS explains which to choose, and what’s in an M3U URL shows where the choice sits in the link.

When encoding matters

If channel names show as é or question marks instead of accented letters, the list is being read with the wrong encoding. Fixes, in order:

  1. Ask your provider for the UTF-8 (.m3u8) version of the link.
  2. If you use a downloaded file, open it in a text editor and save it with UTF-8 encoding.
  3. Check that your app has no text-encoding option set to something other than UTF-8.

For how the file is laid out line by line, and what each tag means, see the M3U tags reference.

FAQ

M3U and M3U8 questions

Can I rename an .m3u file to .m3u8?

Only if the text inside is already UTF-8. Renaming doesn’t change the encoding. If channel names contain accents or non-Latin letters and they display wrongly, save the file as UTF-8 in a text editor; many IPTV apps accept either extension.

Which should I use in my IPTV app?

Whichever your provider gives you. Most apps accept both. If you can choose between an .m3u link and an .m3u8 link, it usually makes no difference to the channel list. The stream format setting (MPEG-TS or HLS) matters more for playback.

Is an .m3u8 link always an HLS stream?

No. It can be a channel list saved as UTF-8, or an HLS playlist for a single stream. Open it in a text editor: a channel list has many #EXTINF lines with channel names; an HLS playlist has #EXT-X tags and short media segments.

Sources

Facts on this page were checked against these sources. Details were correct when checked; apps and devices change, so we review this page regularly.

  1. RFC 8216: HTTP Live Streaming, IETF (2017-08)

Start watching on your own screen

Plans from £5.83 a month on the 12-month plan, no contract and no auto-renewal. Test it first with a 24-hour free trial.