Free · No install · Instant playback
Free M3U8 Player
Paste an M3U8 stream URL and watch HLS live streams or MP4 videos right in your browser. No plugins, no sign-up, and it can be embedded on any website.
Core features
-
No Extension Needed
Plays entirely in your browser. Nothing to download, install, or sign up for.
-
Multiple Formats
Full support for M3U8 / HLS segment streams, plus standard MP4 video files.
-
Smooth Live Playback
Segmented loading and smart buffering keep up with live streams, and quality switches instantly.
-
Embeddable
Grab the iframe snippet and drop the player into your own site or blog post.
What is an M3U8 file?
The basics behind the format, so you can get more out of any online player.
An M3U8 file is a plain-text playlist encoded in UTF-8. It does not contain
the video data itself; instead it lists a series of media segment URLs
(usually .ts or fMP4) in playback order, along with descriptive metadata.
The player reads that manifest and then requests, buffers, and plays the segments one after another. This download-while-playing approach means a video starts playing before it is fully downloaded — which is why M3U8 became the standard container for HTTP Live Streaming (HLS), widely used for sports streams, event broadcasts, and transcoded VOD delivery.
Key characteristics
- Segmented structure: the whole video is split into many small chunks, each typically only a few seconds long.
- Adaptive bitrate: one manifest can declare several resolutions, and the player switches automatically based on network conditions.
- Plain text format: easy to edit and distribute, which makes multi-platform publishing straightforward.
- Relative or absolute paths: segment entries may be full URLs or paths relative to the manifest itself.
How is it different from MP4?
MP4 is a container format that bundles audio and video tracks into a single file, which suits download and on-demand use. M3U8 is a playlist format — it points to media rather than holding it. The two are often combined: source files are authored as MP4, transcoded into HLS segments in the cloud, and distributed to viewers as an M3U8 manifest. This player supports both.
Why do some links refuse to play?
The most frequent cause is CORS. Because segment requests originate from the
browser, the streaming server must return an Access-Control-Allow-Origin header;
without it the browser blocks the request for security reasons. Expired links, URLs that need
authentication parameters, and ISP-level restrictions on HLS segments can also break playback.
This player tries several playback paths automatically to maximise the chance of success.
Embed on your website
Copy the snippet below to place the player on any page — no server-side work required.
Paste this iframe where you want the player, and pass your M3U8 address through the
url query parameter:
Frequently Asked Questions
Everything you might still want to know about playing M3U8 streams.
What is an M3U8 file?
An M3U8 file is a UTF-8 encoded plain-text playlist that lists the URLs of individual media segments. The player requests and buffers those segments in order, which enables near real-time streaming over HTTP Live Streaming (HLS).
How do I play an M3U8 video here?
Paste the full M3U8 URL into the input field above and press the Play button. The address must start with http:// or https://, and the host must send CORS headers, otherwise the browser blocks the request.
Why does the video fail to play or show a black screen?
The most common cause is a missing Access-Control-Allow-Origin header, which makes the browser block the segment requests. Other causes include expired links, URLs that require authentication tokens, or network-level restrictions on HLS segments.
Is this player free? Are my stream URLs logged?
Yes, it is completely free and requires no account. Stream URLs are used only in your own browser to issue the playback request; they are never stored on the server or shared with third parties.
Can I embed the player on my own site?
Yes. Copy the iframe snippet from the embed section above and paste it into your page. Pass your M3U8 address through the url query parameter, for example player.html?url=your-stream-url.