Browser HLS stream test

M3U8 Player Online

Paste an M3U8 URL and see quickly whether browser playback works.

Paste an M3U8 URL and test it now

Paste a public .m3u8 URL to test whether the stream can be fetched, parsed, and played in the browser.

Test streams:

Playback statusNo URL means no error yet. Paste a stream and then decide whether the issue is playback, access, or parsing.

Paste an M3U8 URL first

If the stream plays, the browser playback chain is broadly working. If it fails, use the status panels above to decide whether the problem is URL validity, CORS, auth, or media compatibility.

Advertisement

If you need to embed it

Use the iframe code below. Do not turn the embed route into another homepage.

<iframe src="https://m3u8play.net/embed.html?url=" width="100%" height="420" allow="autoplay; fullscreen" frameborder="0"></iframe>

What is this online M3U8 player good for?

Use the homepage for browser-side playback testing and failure triage before you jump into export or embedding tasks.

  • Test whether a public .m3u8 live stream or VOD stream can actually start in the browser.
  • Check whether playback failure looks more like CORS, 403, signed URL expiry, or media compatibility.
  • Compare manifest reachability with real playback behavior before you blame the player UI.
  • Generate iframe embed code when you need to place the player inside another page.

What to do next

Use the player result to choose the next page. Do not browse the site like a landing page; follow the failure or task you actually have.

If playback fails

Start with the browser-side failure pattern. Most broken M3U8 tests are access, CORS, browser, or signed URL problems.

If playback works

Once the stream works in the browser, move to the next concrete job instead of adding more widgets to this page.

If you need context

Use the background pages only when the stream behavior is unclear or you need to explain the playlist structure.

FAQ

High-frequency questions stay here. Long-tail troubleshooting belongs in dedicated help pages.

Why does the URL open directly but fail inside the page?

The source often blocks browser playback with CORS, Referer checks, expiring tokens, 403 segment requests, or broken child playlist paths.

Why do Safari and Chrome behave differently?

Safari has stronger native HLS support. Chrome and Edge usually depend on hls.js over MSE, so the same stream can behave differently across browsers.

Why should the embed page stay out of the index?

embed.html?url=... is a tool-call page, not a content destination. Letting it index creates duplicate, low-value parameter URLs.

Why not make a commercial SDK the default path?

Static HTML plus native JavaScript and hls.js is lighter, easier to audit, and a better default for a transparent developer-facing test tool.

Disclaimer

This page provides browser-based playback tests and basic manifest inspection only. Third-party stream URLs may fail because of source-side CORS, allowlists, token expiry, or other delivery restrictions outside the player itself.