DECODR

M3U · M3U8 · HLS player

Streaming

HLS player online — play HTTP Live Streaming links

By Decodr Editorial 9 min read

HTTP Live Streaming delivers video as a series of short segments described by a text manifest. Decodr is a free online HLS player that plays HLS stream links directly in the browser: natively where the browser supports it, and through a JavaScript engine everywhere else.

How HLS playback works

  1. The player fetches the manifest and reads the list of available variants.
  2. It picks a starting bitrate and begins downloading segments.
  3. Segments are buffered and appended to the browser's media pipeline.
  4. Throughput is measured continuously; the player moves up or down a variant to avoid stalling.

HLS live streams vs on-demand

A live manifest is refreshed repeatedly and only exposes a rolling window of segments, so seeking backwards is limited. An on-demand manifest lists every segment up front and behaves like a normal video file with a full seek bar.

What Decodr does not do

Decodr does not proxy, transcode, record or re-host anything. Your device connects straight to the stream host, which means playback depends entirely on that host's availability and cross-origin policy. Use it only with streams you are authorised to access.

Frequently asked questions

What is HLS?
HTTP Live Streaming is a protocol that splits video into small segments described by a manifest. It streams over ordinary HTTP and adapts quality to your connection.
How do I play an HLS stream online?
Copy the HLS link (it usually ends in .m3u8), paste it into Decodr and press play. The player reads the manifest, picks a starting quality and begins streaming immediately.
Which browsers support HLS natively?
Safari on macOS and iOS play HLS natively. Chrome, Firefox and Edge need a JavaScript player, which Decodr loads automatically via hls.js.
Can Decodr play DRM-protected streams?
No. Decodr does not implement or circumvent DRM. Encrypted or access-controlled streams will not play.
Is this HLS player free?
Yes. Decodr is a free online HLS player that runs entirely in your browser — no installs, no extensions, no account.
Why is my HLS stream buffering or stalling?
Buffering usually means your connection cannot sustain the current variant. The adaptive player should step down automatically; persistent stalling often points to a slow or overloaded stream host.
What is the difference between HLS live and on-demand?
A live HLS manifest refreshes repeatedly and only exposes a rolling window of recent segments. An on-demand manifest lists every segment up front and supports full seeking like a normal video file.
How much delay does a live HLS stream have?
Typical HLS latency is between a few seconds and half a minute behind real time, depending on the segment length and playlist settings chosen by the broadcaster.
Does it work on mobile?
Yes. The player is responsive and uses the device's native video element for fullscreen and picture-in-picture where supported. On iOS, HLS plays natively.
What quality does the HLS player select?
The player measures your throughput continuously and picks the highest variant it can sustain without rebuffering, moving up or down as conditions change.
Why won't an HLS link play even though it works in another app?
Desktop apps are not subject to browser security rules. A stream that plays in VLC can still be blocked in a browser by CORS headers or mixed-content (http:// on an HTTPS page) restrictions.
Is it legal to stream HLS links in a browser player?
Yes, when you are authorised to access the stream — a subscription you pay for, free-to-air broadcasts or your own media. Decodr hosts, proxies and supplies nothing.
What is the difference between HLS and MPEG-DASH?
Both split video into HTTP-delivered segments with an adaptive manifest. HLS is Apple's format, natively supported on iPhone, iPad and Safari; DASH is the open MPEG standard common on Android and smart TVs. Decodr focuses on HLS because it is what virtually every M3U8 playlist carries.
How do I reduce HLS buffering?
Use a wired connection or 5 GHz Wi-Fi, close competing downloads, and let the adaptive player settle on a lower quality variant. If a specific stream always buffers while others play smoothly, the problem is the stream host, not your setup.
Why is my HLS stream 30 seconds behind live TV?
Classic HLS trades latency for reliability: the broadcaster must encode, segment and publish chunks before your player fetches them. Low-Latency HLS (LL-HLS) shrinks this to a few seconds, but the source has to support it.
Can I play HLS on a smart TV or Firestick?
Yes. Open Decodr in the TV's browser — Silk on Fire TV, or any browser on Android TV — paste the .m3u8 link and press Load. Safari-based TVs and consoles with a modern browser work too.
Why does HLS work on my phone but not on my desktop browser?
iPhones and Safari play HLS natively, so they tolerate stricter hosts. Desktop browsers rely on JavaScript playback, which enforces CORS and mixed-content rules. If the host does not allow cross-origin requests, only native players can reach it.
What internet speed do I need for HLS streaming?
Roughly the bitrate of the variant you want, plus headroom: about 5 Mbps for 720p HD, 8–10 Mbps for 1080p and 25 Mbps or more for 4K HLS. Stability matters more than peak speed.
Does Decodr support HLS with multiple audio tracks or subtitles?
If the master manifest declares alternate audio renditions or subtitle tracks, browsers that expose them through the media element can offer switching. Availability depends on how the source packaged the stream.

Ready to play a playlist you already own?

Open the Decodr player