How to check an M3U8 playlist
- Enter the playlist URL, choose a saved
.m3u8 file, or paste the playlist text. - Select Inspect. The playlist is parsed on your device in a moment.
- Review the findings. Each one explains the problem, its line number and what to do next.
- For a master playlist, inspect one of its variant playlists to check segments and timing.
What the inspector checks
- Playlist type: multivariant (master) or media playlist, plus extended M3U channel lists that are not HLS.
- Variant streams: declared bandwidth, average bandwidth, resolution, codecs, frame rate, HDR range and HDCP level.
- Renditions: audio, subtitle and closed-caption groups, default selections and references that point to groups that do not exist.
- Media segments: target duration, media sequence, segment count, listed duration, discontinuities, gaps and byte ranges.
- Live or on demand: VOD and EVENT playlist types, EXT-X-ENDLIST and the live window length.
- Encryption: AES-128 and SAMPLE-AES keys, initialization vectors and DRM key systems such as FairPlay, Widevine and PlayReady.
- Specification rules: required tags, attribute syntax, protocol version compatibility and tags in the wrong place, following RFC 8216.
Why an M3U8 link is not working
When a stream refuses to play, the playlist is a good first place to look. These are the problems the inspector finds most often:
- The link returns a web page. Login pages, error pages and player pages are HTML, not playlists. Copy the direct
.m3u8 address instead. - The link has expired. Many services sign playlist URLs with short-lived tokens. HTTP 403 or 404 responses usually mean you need a fresh link.
- The host blocks other websites. CORS rules can stop browsers from reading a playlist from another site, even though a dedicated player can.
- Segments are longer than the target duration. Players use the target duration to schedule loading. Segments that exceed it can cause stalls, especially on live streams.
- A variant points to a missing audio or subtitle group. The player may refuse to start or play without sound.
- The stream is DRM-protected. It only plays in apps the provider authorizes.
Declared information is not verified media
A playlist describes a stream; it does not prove the stream exists. A variant that declares 1920×1080 and H.264 may point to segments that have expired, are blocked in your region or contain different video. The inspector labels values as declared and never downloads segments, keys or licenses on its own, which keeps the check fast and private.