Common M3U8 tags and lines
| Tag or line | Meaning | Why it matters |
|---|---|---|
| #EXTM3U | Marks the file as an extended M3U/M3U8 playlist. | A valid HLS playlist should start with this line. |
| #EXT-X-STREAM-INF | Describes a variant stream in a master playlist. | Players use it to choose resolution, bandwidth, and codecs. |
| #EXTINF | Gives the duration of the next media segment. | Segment timing affects buffering, trimming, and live latency. |
| #EXT-X-KEY | Points to an encryption key for AES-128 HLS. | The key URL must be reachable for encrypted playback or conversion. |
| #EXT-X-ENDLIST | Marks the playlist as complete. | Its presence usually means VOD; absence usually means live. |
| .ts or .m4s URL | Points to an actual media segment. | Dead or blocked segment URLs can break playback after the manifest loads. |
An M3U8 file is not usually the video file
Most M3U8 files are playlists, not finished media files. The playlist tells the player which segment URLs to fetch and in what order. That is why copying only the .m3u8 link may work for streaming but does not behave like downloading a single MP4 file.
Master playlist vs media playlist
A master playlist lists multiple variants, such as 1080p, 720p, or audio-only tracks. A media playlist lists the actual segments for one variant. When you paste a master M3U8 into a player, the player chooses a media playlist based on bandwidth, codec support, and device conditions.
Why M3U8 links expire or fail
Many M3U8 URLs are signed CDN links with expiration times, or they require browser-readable CORS headers, a matching Referer, and reachable media segments. A valid-looking playlist can still fail if any child playlist, key URL, or segment URL is blocked or dead.
How to inspect an M3U8 file
Open the URL or paste it into an HLS tester. Check that it starts with #EXTM3U, identify whether it is master or media playlist, inspect #EXT-X-KEY for encryption, look for #EXT-X-ENDLIST, then run a segment health check to confirm playback can continue past the first request.
Related M3U8 guides
- HLS stream tester lets you paste an M3U8 URL and inspect playback plus segment health.
- M3U8 link troubleshooting explains CORS, Referer, expired URLs, dead segments, codecs, and DRM limits.
- M3U8 vs M3U compares UTF-8 HLS playlists with older M3U playlist files.
Frequently asked questions
What is an M3U8 file?
An M3U8 file is a UTF-8 playlist file used by HLS streaming. It usually points to video segments, quality variants, audio tracks, subtitles, and encryption keys instead of storing the video itself.
Does an M3U8 file contain video?
Usually no. An M3U8 file contains text instructions and URLs. The actual video is stored in media segments such as .ts or .m4s files that the player fetches while streaming.
How do I open an M3U8 file?
Paste the M3U8 URL into an HLS player, or open it with a desktop player such as VLC. For browser debugging, use an online player that can show CORS, Referer, encryption, and segment-health problems.
Is M3U8 the same as HLS?
No. HLS is the streaming protocol, while M3U8 is the playlist file format HLS commonly uses to list variants, segments, subtitles, and keys.
Why does an M3U8 link stop working?
M3U8 links often stop working because signed URLs expire, CORS blocks browser access, the origin requires a specific Referer, a key URL is blocked, or one or more media segments are dead.