This article is part of our guide M3U Playlists Explained: Format, Structure and How to Use Them.
You may see links and files ending in .m3u and others ending in .m3u8. They are closely related, and in many IPTV players they work the same way. The difference lies in text encoding and in how the formats are commonly used.
The short answer
- M3U is a plain text playlist format. Historically, the text encoding was not fixed.
- M3U8 is an M3U playlist encoded in UTF-8, which supports characters from all languages reliably.
- M3U8 is also the playlist format used by HLS (HTTP Live Streaming), where it lists short video segments rather than channels.
Why encoding matters
Text encoding decides how characters are stored. Older M3U files could use local encodings, which sometimes turned accented or non-Latin channel names into garbled symbols in players. UTF-8 avoids this by using one universal encoding. That is why modern playlists are often UTF-8 encoded, whatever their extension.
M3U8 and HLS
HLS is a widely used way to deliver video over the internet. Its playlists use the .m3u8 extension and are specified in RFC 8216. An HLS playlist typically lists:
- The short video segments that make up a stream, played one after another, or
- Several versions of the same stream at different qualities, so the player can switch between them (adaptive bitrate).
So an .m3u8 link might be a channel list (like an IPTV M3U playlist) or a single stream made up of segments. Players handle both, but the purpose is different. Our article on how IPTV works explains segments and adaptive bitrate in more detail.
Comparison
| M3U | M3U8 | |
|---|---|---|
| Text encoding | Not fixed historically | UTF-8 |
| Typical IPTV use | Channel playlists | Channel playlists or HLS stream playlists |
| Special characters | May display incorrectly with old encodings | Displayed reliably |
| Player support | Very wide | Very wide |
Which one does your player need?
In practice, most IPTV players accept both. If your provider gives you an M3U URL, use it as provided — do not rename the extension, as some servers generate different output depending on the requested format.
If channel names show strange characters, the playlist may not be UTF-8 encoded or your player may not detect the encoding. Try a different player or ask your provider.
How to tell which kind of playlist you have
Open the file — or a downloaded copy of the link — in a text editor and look at the tags:
| You see | What it is |
|---|---|
#EXTM3U followed by #EXTINF lines and stream addresses | A channel playlist, as used by IPTV players |
Tags starting with #EXT-X-, such as #EXT-X-TARGETDURATION or #EXT-X-STREAM-INF | An HLS stream playlist listing segments or quality levels |
You rarely need to check this yourself — players work it out automatically — but it helps when a link behaves unexpectedly. If a playlist will not load at all, work through our M3U troubleshooting steps.
Frequently asked questions
Can I rename an .m3u file to .m3u8?
For a local file, renaming only works if the contents are already UTF-8 encoded. For links from a provider, do not change the URL.
Is M3U8 better quality than M3U?
No. The playlist format does not affect video quality. It only describes where the streams are.
Can VLC play M3U8 links?
Yes. VLC supports both M3U and M3U8 playlists, including HLS streams.
The difference in one line
M3U8 is M3U in UTF-8 encoding, and it is also the playlist format for HLS streaming. For IPTV, players usually accept both — just use the link your provider gives you. For the full picture of the format, read M3U playlists explained.
