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.
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.
- Find a live or on-demand playback address ending in
.m3u8. You can also start with the sample address pre-filled on this page. - Paste the address into the input box above and click the blue play button, or simply press Enter.
- 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.
- Protocols: primarily HLS (m3u8), and also any format your browser supports natively, such as MP4.
- Use cases: live streams and on-demand files both work, and you can pick a quality manually when the source offers a multi-bitrate playlist.
- Devices: Chrome, Edge, Firefox and Safari across desktop and mobile browsers — no separate app to install on each platform.
- Embedding: iframe embed code is provided, so you can drop the player into your own page or blog.
- Local files: drag an mp4 or other local video file onto the page and it plays immediately — the file never leaves your browser and is never uploaded.
- Zero footprint: no registration, no login, and the playback address never touches our servers or gets stored.
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.