M3U8 Online Player

Paste an m3u8 / HLS link into the box below and it plays right in your browser — no plug-in, no sign-up, and it works on both desktop and mobile.

You can also drag a local video file anywhere onto the page to play it right away (mp4 / webm / mov and other formats your browser supports natively) or — the file is never uploaded, it plays only in your browser.

Start Playing in Three Steps

Playing m3u8 in your browser takes three steps: get an address ending in .m3u8 → paste it into the input box → click the play button.

  1. Find a live or on-demand playback address ending in .m3u8. You can also start with the sample address pre-filled on this page.
  2. Paste the address into the input box above and click the blue play button, or simply press Enter.
  3. The player detects the HLS protocol automatically and starts loading. Once loaded, use the control bar to switch quality, change playback speed or go fullscreen.

What the Player Can Do

It plays m3u8 / HLS live and on-demand streams, natively supported formats such as MP4, and local video files, covers the major desktop and mobile browsers, and is free with no sign-up — your playback address is never uploaded to a server.

Embed It on Your Site

Copy the single iframe line below and replace the url parameter with your own m3u8 address to embed this player in any web page.

Paste the code into any HTML-capable page and it takes effect immediately:

<iframe src="https://m3u8player.it.com/player.html?url=https://example.com/index.m3u8" width="100%" height="480" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>

Frequently Asked Questions

The player keeps spinning or reports a loading failure. What should I check?

Check three things in order. First, confirm the link itself is still reachable: an expired link or a source that restricts referrers will make segment requests fail outright. Second, confirm the source server sends cross-origin (CORS) headers, because without them the browser blocks the requests. If both are fine, the address may simply not be an m3u8 / HLS stream. You can always verify the player works by loading the sample address pre-filled on this page.

Playback stutters and the quality keeps changing. How do I fix that?

HLS switches bitrate automatically based on measured network speed, so quality dropping during a network hiccup is normal adaptive behaviour. If stuttering persists, switch to a lower quality manually, use a wired connection, or avoid peak hours. Insufficient bandwidth on the source side causes the same symptom, which you can confirm by trying a different source address.

Why does the same link play on an iPhone but not on my computer?

Safari on iOS supports HLS natively, so it can play m3u8 directly. Desktop browsers such as Chrome and Edge rely on Media Source Extensions (MSE) to reassemble the segments into a playable stream. If the video uses a codec that MSE does not support, desktop playback fails while Safari keeps working.

Can it play local video files? Does it support mp4?

Yes. Drag a local mp4, webm or mov file onto the page (or click "choose a local file") and it plays locally in your browser — the file is never uploaded and never touches our servers. Note that a local m3u8 playlist cannot be dragged in directly: its segments are relative paths and browsers do not let a web page read local segment files. Put the playlist and its segments on a local web server (for example http://localhost) and open it from there instead; a file:// path produced by opening the page directly is likewise blocked by browser security policy.

Which playback controls are available?

The control bar offers play and pause, progress seeking, playback speed, quality selection, volume and fullscreen. When the source provides a multi-bitrate playlist you can pick a quality manually; if no quality button appears, the source only offers a single bitrate.

Is the address I paste logged or uploaded anywhere?

No. Playback happens entirely in your browser. The address you enter is never sent to our servers and is never written to any storage, so nothing is left behind after you close or refresh the page.

What Are m3u8 and HLS?

In one sentence: m3u8 is a plain-text playlist that lists the addresses of video segments line by line, while HLS is the streaming protocol that delivers video according to that playlist.

Strictly speaking, m3u8 is not a video format at all but a plain-text playlist. It is UTF-8 encoded and follows the M3U playlist syntax, listing in order the addresses of the segments a longer video has been split into, with each line pointing to a small file on a server.

HLS (HTTP Live Streaming) is a streaming delivery method introduced by Apple in 2009 and later standardised by the IETF as RFC 8216. It cuts a video into small files only a few seconds long (typically 2 to 10 seconds) and then uses an m3u8 playlist to tell the player in what order and at what bitrate to fetch those segments. The benefit is that the player can switch to a lower or higher bitrate in real time as network conditions change, so playback survives fluctuations far better, and delivery can ride on ordinary HTTP servers.

Because the video is broken into a large number of small files, the player must keep requesting subsequent segments to assemble a continuous picture. This delivery model depends on network stability far more than a single mp4 file does: as soon as one segment request slows down, playback stalls while it waits. That is the root reason HLS stutters more readily on weak networks.