← Back

M3U8 Player

Enter a URL to play HLS streams online

Some live streams restrict cross-site playback (CORS) or are geo-restricted — most playback failures come from the source, not from this tool.

About M3U8 Player

The M3U8 Player plays HLS (HTTP Live Streaming) streams in your browser. Type an .m3u8 address, click "Load & Play", and the video window starts playing it. An M3U8 file is a plain-text playlist that lists the addresses of many short video segments; the player fetches and plays them in order, which is why the format is common for both live and on-demand video. This tool only plays the address you give it. It supplies no streams of its own, and it cannot download or save video.

How to use it

  1. Enter the full stream address in the "M3U8 stream URL" field, for example https://example.com/stream.m3u8 (that is just a format example, not a working stream).
  2. Click "Load & Play", or press Enter inside the field.
  3. The page first checks whether your browser can play HLS natively. Browsers that can, such as Safari, use their built-in support. Other browsers load the hls.js library to do the job.
  4. Once loaded, playback begins automatically. Use the video's own controls to pause, change volume, seek or go fullscreen. To try another address, edit the field and click "Load & Play" again; the previous playback is replaced.
  5. If something goes wrong, a red message appears above the video, for example "Playback failed: the URL is unreachable, or it is not a valid m3u8 stream (this can also be caused by CORS restrictions)".

A practical scenario

Suppose you are a web developer who has just used FFmpeg to cut a video into HLS and uploaded it to your own server, and you want a quick check that the playlist and segments work. Paste the address here and press play. If you see the picture, the browser can reach both the playlist and the segments. If it fails, open the m3u8 address directly in a browser tab to confirm it downloads, then check whether your server allows cross-origin requests, which is the most common culprit. Or say a friend gave you the address of a stream you are legitimately allowed to watch, and you would rather not install a dedicated player: you can open it right here.

Supported range and known limits

  • HLS (.m3u8) only. Direct MP4 or FLV links and DASH (.mpd) manifests are not supported. For video files on your own device, use the Video Player tool.
  • Your browser requests the stream directly from the address you enter. The server must allow cross-origin access (CORS) for the page to read its data. Many live sources do not, and in that case playback fails here even if the same address works in another app. That is a restriction at the source and not something this tool can work around.
  • When this page is open over HTTPS, browsers usually block streams whose address begins with http:// (mixed content). Use an https:// address where possible.
  • Sources with hotlink protection, logins, expiring tokens or regional restrictions often will not play. There is no way to set custom headers, cookies or a proxy.
  • DRM-protected content cannot be played. There is no manual quality switch, subtitle picker, history or favourites list.
  • In browsers that play HLS natively, this page shows no error message when something fails; the picture simply does not start. Other browsers show the red message described above.
  • The tool does not provide or recommend any streams. Make sure you have the right to watch whatever you play.

FAQ: Why does it say playback failed?

Three causes are the most common. The source may not allow cross-origin access (CORS), so the browser stops the page from reading it. The address may be dead, require a login or be region-locked. Or this page is on HTTPS while the stream address is http://. A quick test is to open the m3u8 address in a new browser tab. If you see text, the address itself is valid and CORS is the likely problem, which only the stream's owner can fix by changing the server's configuration.

FAQ: What is the difference between m3u8 and mp4?

An MP4 is one complete video file. An m3u8 is just a text list pointing to many small video pieces, usually .ts or fragmented MP4 segments. The player loads those pieces one after another, which suits live broadcasts and lets players change quality when the network changes. The m3u8 file by itself contains no picture, so playback only works if the segments it points to can be reached too.

FAQ: Does it behave the same in every browser?

Not exactly. Safari and other browsers with native HLS hand the stream to the system player. Chrome, Firefox and Edge play it through hls.js, provided the browser supports the media extension features that library needs. hls.js is only loaded when you first click play. If neither route is available, the page shows "Your browser does not support HLS playback".

FAQ: Can I use it to download or record a stream?

No. It only plays. There is no download, recording or save option. If you have the rights to a video and need a local copy, use the official channels offered by whoever publishes it.

Privacy and how requests are made

The address you type is not relayed through this site's servers. Your browser requests the playlist and segments directly from the server that hosts the stream, so that server can see your IP address and request details, just as if you had visited it in any web page. The hls.js library is bundled with this site and is loaded from it the first time you play. The tool does not store the address you enter, and it is cleared when you refresh the page.