An M3U8 file is a UTF-8 text playlist. In HTTP Live Streaming (HLS), it lists media segments or points to media playlists for different stream variants. It is usually not a standalone video file.

Key points

First check whether the browser can fetch the playlist. Then check segment access, codec support and permissions. Opening a playlist does not guarantee that its video will play.

  1. Confirm that the URL returns an actual M3U8 playlist, rather than an error page or a sign-in page. A filename ending in .m3u8 is not enough.
  2. Check the HTTP status, CORS errors, 403 or 404 responses, redirects and content type.
  3. Inspect the master playlist, media playlists, stream variants, segment paths, EXT-X-KEY encryption tags and the live playlist window.
  4. Use the playlist checker to inspect the structure, then use the browser stream test to separate access problems from playback problems.

Common misconceptions

  • A stream that plays in another app may still fail in a browser. Apps can use different playback support, credentials or request headers.
  • Reading playlist tags does not grant permission to decrypt, download or redistribute the media.
  • Fetching the playlist successfully does not mean every segment is accessible or playable.

Access and privacy

Only inspect content you own or are authorized to use. Do not paste private tokens, cookies, credentials or DRM keys. Browser tools cannot override server access rules, authentication or DRM.