Online M3U8 player

Online M3U8 Player.
Play an HLS stream in your browser.

Paste an .m3u8 URL and watch it play

An M3U8 file is the playlist of an HLS stream. This page turns one into a video: paste the URL, press play, and see whether the manifest, the segments, the codecs and the CORS policy of your server actually work together.

Everything happens in your browser. The stream is requested directly from your own server to your own browser, nothing is uploaded, and Bradmax never sees or records the URL. Where the browser has no built-in HLS support, the page loads hls.js 1.7.4 and plays through Media Source Extensions. If the stream is protected with DRM, this player won't decrypt it. That's the point where you need a licensed player, not a test page.


M3U8 player

Paste a master or media playlist URL. Safari and iOS play HLS natively; other browsers load hls.js on first play.

Fetching the playlist requires Access-Control-Allow-Origin on the manifest and segment responses, unless the browser supports native HLS. A blocked fetch is a server setting, not a broken stream.

Those three are publicly published test streams, provided by their operators for exactly this purpose. The Apple example is there to show the CORS problem in practice: its CDN sends no CORS headers, so it plays only in Safari. If a stream is unavailable, paste your own URL.

Nothing loaded yet.

How to play an .m3u8 file

There are three routes, and which one is right depends on the device. The first two need no software at all.

  1. In this page. Paste the URL above. It works for any HLS stream whose server allows cross-origin reads, on every desktop browser, without installing anything.
  2. Natively in Safari or QuickTime. Apple platforms ship an HLS decoder. Opening the .m3u8 URL directly in Safari, or in QuickTime Player, plays the stream with no page involved. This is also why an iPhone plays HLS that a Windows browser cannot.
  3. Embedded in your own page. A <video> element plays HLS natively on Safari and iOS; everywhere else needs a JavaScript library such as hls.js or a player that includes one. Our hls.js migration guide shows the embedded version of the same setup.

A local .m3u8 file on your disk cannot play here, and that is not a limitation of this page: the playlist refers to segments by relative path, and a local file has no server for those paths to resolve against. To inspect a downloaded playlist instead, use the HLS playlist inspector.

If it does not play, it is one of four things

The player reports the error it actually got, rather than a generic failure. In practice, almost every "m3u8 player does not work" case is here:

  • CORS. The browser fetched the manifest or a segment and the server did not send Access-Control-Allow-Origin. Only the stream's own server can fix this. The stream is fine. The browser is being told it may not read it. Why does the same URL play in Safari and fail here? Because Safari decodes HLS itself and isn't bound by the same rule.
  • Mixed content. This page is served over HTTPS, so it cannot fetch an http:// manifest or segment. The browser blocks it silently apart from a console warning.
  • DRM. An encrypted stream returns media that needs a licence. Playback stops with a key system error, and no unlicensed player will get further. That is the intended behaviour, not a bug.
  • Codec or packaging. The playlist is reachable but the segments use a codec the browser cannot decode, or the manifest points at files that are missing. The browser capabilities checker and the playlist inspector separate those two cases.

What this page does not do

It is deliberately a testing tool, not a viewing service:

  • It doesn't proxy streams and doesn't work around CORS. There's no Bradmax server in the path between your browser and your stream.
  • It doesn't host, index, catalogue or record streams, and the URL is never written to the page address, to storage, or to a shareable link.
  • It doesn't download media. Playback only.
  • It doesn't decrypt DRM-protected content. For that you need a licensed player with the right key system, which is what Bradmax sells. We're not neutral on that, and we're not pretending to be.

Bradmax does not host or index third-party streams and responds to takedown requests addressed to office@bradmax.com.

Related tools