Playlist format comparison

M3U8 vs M3U: What Is the Difference?

M3U8 and M3U are both playlist formats, but M3U8 is the UTF-8 version commonly used for HLS streaming. M3U often refers to older or generic media playlists, while M3U8 is safer for international text, IPTV metadata, and web HLS manifests.

Last updated: June 20, 2026

Playback, history, favorites, subtitles, and browser conversion stay on this device. HLS requests go through the proxy only when you turn on the CORS proxy.

Smart CORS proxy

Use the Cloudflare Worker proxy for manifests, keys, and segments when direct browser playback is blocked.

Video preview

Link health report

Parse variants, bitrate, segment duration, encryption, and live/VOD status, then sample media segments for dead links. Segment checks are limited by browser CORS, so enable the proxy for the most accurate result.

M3U8 vs M3U comparison

FeatureM3U8M3U
EncodingUTF-8 text by convention.May use local or legacy encodings unless specified.
Common useHLS manifests, IPTV playlists, browser streaming.Generic audio/video playlists and older media players.
HLS tagsCommonly includes #EXT-X tags for variants, segments, keys, and live/VOD state.May include simple #EXTINF entries but usually not full HLS control tags.
International namesBetter for non-English channel names and metadata.More likely to show broken characters if encoding is guessed incorrectly.
Browser playbackExpected by most HLS web players when loading stream manifests.Usually treated as a generic playlist, not a full HLS manifest.
Best fitStreaming, IPTV, HLS testing, adaptive bitrate playback.Local playlist files for media libraries and simple channel lists.

The extension is not the whole story

A file ending in .m3u8 should be UTF-8, but players ultimately parse the text and tags inside the file. A generic .m3u playlist can contain stream URLs, and an .m3u8 playlist can contain simple entries, but HLS players expect M3U8-style tags when doing adaptive streaming.

Why IPTV playlists use both names

IPTV providers often distribute .m3u or .m3u8 files interchangeably because both are text playlists. For modern channel names, logos, groups, and non-English metadata, M3U8 is usually safer because UTF-8 avoids character encoding problems.

When M3U8 is required

Use M3U8 when the playlist is an HLS manifest with #EXT-X-STREAM-INF, #EXT-X-KEY, #EXT-X-ENDLIST, or segment URLs. Those tags tell an HLS player how to choose quality, fetch media segments, decrypt AES-128 streams, and decide whether the stream is live or VOD.

How to test either file

If the file contains HLS URLs, paste it into an online M3U8 player or validator. If it is an IPTV playlist, load it into an editor that preserves group-title, tvg-id, tvg-name, and tvg-logo attributes, then play channels to find dead entries before exporting a cleaned file.

  • What is an M3U8 file explains HLS playlist tags, segments, variants, keys, and live/VOD state.
  • IPTV M3U editor loads M3U and M3U8 playlists, lets you play channels, edit names, and export a cleaned file.
  • M3U8 link troubleshooting covers the access and segment problems that make HLS playlist URLs fail.

Frequently asked questions

What is the difference between M3U8 and M3U?

M3U8 is the UTF-8 version of the M3U playlist format and is commonly used for HLS streaming. M3U is a broader older playlist format that may use different text encodings.

Can I rename .m3u to .m3u8?

Only if the file is valid UTF-8 and the player accepts it. Renaming the extension does not fix malformed tags, broken URLs, or incorrect character encoding inside the playlist.

Which format should I use for IPTV?

Use M3U8 when possible because UTF-8 handles international channel names and metadata more reliably. Many IPTV players accept both .m3u and .m3u8 files.

Is every M3U8 file an HLS stream?

No. M3U8 means UTF-8 playlist. HLS commonly uses M3U8, but a simple M3U8 file can also list media URLs without being a full adaptive HLS manifest.

Why does my M3U playlist show broken characters?

Broken characters usually mean the playlist was saved in one encoding and read as another. Saving or exporting as UTF-8 M3U8 usually fixes channel names and metadata.