M3U8 Inspector

Paste a playlist, choose an .m3u8 file or enter a link. The inspector explains what the playlist declares, checks it against the HLS specification and points out why a stream may not load.

Runs in your browser. Playlists are parsed on this device; URL checks go straight from your browser to the stream host, without cookies.

Inspect a playlist

Your browser requests the playlist directly from its host, without cookies or sign-in details. Segments, keys and other playlists are never downloaded automatically.

HTTPS only. If the host blocks browser access (CORS), save the playlist and use the File or Paste text tab.

Save the streams you are allowed to keep

When a playlist checks out, a Windows app can do the rest.

Direct Link Downloader

Save M3U8 and HLS streams as MP4 on Windows.

  • Reads the qualities, audio tracks and live status of a pasted .m3u8 link
  • Saves supported, unprotected HLS streams and joins video and audio into one MP4
  • Reports encrypted and DRM-protected streams instead of bypassing them
Get Direct Link Downloader from Microsoft StoreWindows app. Pricing and requirements are on Microsoft Store.
  • VidFetch

    Paste a supported link and save the video locally.

  • QuickMedia

    Video downloader and local media toolkit.

How to check an M3U8 playlist

  1. Enter the playlist URL, choose a saved .m3u8 file, or paste the playlist text.
  2. Select Inspect. The playlist is parsed on your device in a moment.
  3. Review the findings. Each one explains the problem, its line number and what to do next.
  4. 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.

Frequently asked questions

Is the M3U8 Inspector free?

Yes. It is free to use, with no account, sign-up or usage limit beyond the size limits that keep your browser responsive.

Is my playlist or URL sent to SteveShines?

No. Pasted text and files are parsed in your browser. When you inspect a URL, your browser requests the playlist directly from its host without your cookies, and the result stays on this page. SteveShines does not receive or store the URL or the playlist.

Why does it say the browser could not read the playlist?

Most stream hosts only allow their own websites to read playlists (a browser security rule called CORS), and browsers do not reveal whether CORS, a network block or an outage caused the failure. Open the link in a new tab, save or copy the playlist, then choose the file or paste the text.

Does it check whether the video segments actually play?

No. The inspector reads the playlist text only. It never downloads media segments, encryption keys or other playlists on its own, so resolutions, bitrates and codecs are shown as declared values rather than verified facts.

What is the difference between a master playlist and a media playlist?

A master (multivariant) playlist lists alternative versions of a stream, such as 1080p and 720p, with their bitrates and codecs. Each variant points to a media playlist, which lists the actual media segments and their durations.

Can it check live streams?

Yes. It identifies live, event and video-on-demand playlists and checks the live window against the target duration. A live playlist changes every few seconds, so each result is a snapshot.

Can I inspect encrypted or DRM-protected streams?

The inspector reports AES-128, SAMPLE-AES and DRM key system signaling. It never requests keys or licenses and does not bypass DRM.

Can this tool download the stream?

No. Media Doctor diagnoses playlists only. Downloading depends on the stream, its protection and your right to save it.