DECODR.TV

M3U · M3U8 · HLS player

Players

Online M3U player: play an M3U playlist in your browser

By Decodr Editorial 10 min read
Laptop showing a browser IPTV player with a channel playlist sidebar

Decodr is a free online M3U player that runs entirely in your browser. Paste an M3U playlist link or open a local .m3u or .m3u8 file and every entry becomes a playable item — parsing, channel list and playback all happen on your own device, with nothing uploaded or hosted.

An online M3U player is a web page that reads a playlist file and turns each line inside it into something you can watch. There is no installer, no extension and no account. You paste a link — or open a file from your own disk — and the player does three things in sequence: it fetches the playlist text, parses the entries into a channel list, and hands the selected stream URL to your browser's media pipeline. Everything after that is the same technology that plays video on any modern website.

This guide walks through how that works in practice with Decodr, what an M3U playlist can and cannot contain, what the browser will refuse to play and why, and how to diagnose the handful of errors that account for the overwhelming majority of failed streams.

How to play an M3U playlist online

  1. Open the Decodr player from the header of any page on this site.
  2. Paste your playlist URL into the input, or press Open file to load an.m3u or .m3u8 file from your device.
  3. Decodr parses the entries and builds a searchable channel list, grouped by the group-title categories found in the file.
  4. Select an entry to start playback. Use search or the group filter to narrow a large list down to the channel you actually want.

The whole sequence normally takes under a second. Large IPTV playlists with several thousand entries take a little longer to parse on slower phones, but the work still happens locally — the file is never posted to a server for processing.

What actually happens when you press Load

1. Fetching the playlist

If you pasted a URL, your browser issues an ordinary HTTP request for that text file. The response is usually a few kilobytes: M3U files contain no video, only pointers. If you opened a local file instead, the browser reads it through the File API and no network request happens at all.

2. Parsing the entries

Decodr walks the file line by line. Lines beginning with #EXTINF carry metadata — the display name after the comma, plus optional attributes such as tvg-logo, tvg-id and group-title. The line that follows is the media URL. The full grammar is covered in what an M3U playlist is.

3. Choosing a playback engine

Decodr inspects the selected URL. A link ending in .m3u8 is treated as an HLS manifest; Safari plays it natively, while Chrome, Edge and Firefox use a JavaScript engine that fetches segments and feeds them to the browser through Media Source Extensions. A direct .mp4 or .webm link is handed straight to the HTML video element.

What this M3U player supports

  • .m3u and .m3u8 playlists, including extended tags such as #EXTINF, channel names, logos and group-title categories.
  • HLS streams natively in Safari and iOS, and through a JavaScript player everywhere else — see the HLS player guide for how adaptive quality behaves under changing bandwidth.
  • Single .m3u8 links that are manifests rather than channel lists, covered in detail in the M3U8 file guide.
  • Direct MP4 and WebM links, played by the browser itself with no intermediate JavaScript layer.
  • Quality selection and subtitle tracks where the stream exposes them, including automatic bitrate switching or a manual quality lock.

Nothing is uploaded, nothing is hosted

This is the part people ask about most, so it is worth being explicit. Your playlist is parsed in your browser and cached in your own local storage so it is still there next time you visit. It is not transmitted to Decodr, stored on a server, indexed or shared. When you press play, your device requests the stream directly from whoever hosts it — Decodr is not in that path and never sees the bytes.

Practically, this also means Decodr cannot fix a broken source for you. If a host is slow or offline, no player can compensate; there is no proxy, cache or CDN in between.

Using Decodr as an IPTV M3U player, legally

Decodr works well as an IPTV M3U player, but it is a player, not a provider. Use it with streams you are entitled to access: an IPTV subscription you pay for, free-to-air or public broadcaster feeds, a media server such as Plex or Jellyfin that exports playlists, conference and lecture streams, or your own recordings. Decodr supplies no playlists, hosts no channels and maintains no directory of sources. See the acceptable use and DMCA page for the full policy.

The format itself is entirely mainstream. Broadcasters, podcast platforms, radio stations and media servers all publish M3U playlists, and the underlying HLS specification is an IETF standard. Legality depends on the content behind the URLs, never on the file extension.

Why a stream fails, and how to fix it

Mixed content

Decodr is served over HTTPS, and browsers block plain http:// media loaded into an HTTPS page. If your provider offers an HTTPS variant of the same playlist, use it; if not, the stream cannot play in any browser on any secure site.

CORS restrictions

Cross-origin requests need the host to send permissive CORS headers. Desktop apps like VLC ignore this rule entirely, which is why a link can work there and fail in a browser. Only the stream host can change it.

Expired tokens

Many playlist URLs are signed and expire in minutes. A link that played yesterday and returns 403 or 404 today usually just needs to be copied fresh from the source.

Unsupported codecs

Browsers reliably decode H.264 video with AAC audio. Streams using HEVC, AC-3, EAC-3 or MPEG-2 may play on some devices and fail on others. If the audio is missing but the picture is fine, an unsupported audio codec is almost always the cause.

Buffering

Lower the quality if the player exposes variants, close competing downloads, switch to 5 GHz Wi-Fi or Ethernet, and try a second channel. If every channel stutters and your connection is healthy, the bottleneck is the source, not the player.

Desktop, mobile and TV

Decodr runs in Chrome, Edge, Firefox and Safari across Windows, macOS, Linux and ChromeOS. On iPhone and iPad, HLS playback is handed to Safari's native engine, which is the most battery-efficient path available. On Firestick you can open the site in the Silk browser, and on Android TV in any installed browser; the layout adapts to large screens and remote navigation, so nothing needs sideloading.

Because the playlist cache lives in your browser's local storage, each device keeps its own copy. Loading the same playlist on a phone and a laptop is two independent actions — there is no account syncing them, by design.

Frequently asked questions

Is this online M3U player free and do I need to install anything?

Yes, it is free, and no — Decodr runs in the browser using standard media APIs, so there is no app, extension or account to install.

How do I play an M3U playlist online?

Open the Decodr player, paste your M3U playlist URL into the input or use Open file to load an .m3u or .m3u8 file from your device. The entries are parsed into a searchable channel list and you select one to start playback.

Can I use this as an IPTV M3U player?

Yes. Decodr parses extended IPTV playlists with #EXTINF tags, channel logos and group-title categories, so an IPTV subscription playlist you are entitled to use becomes a browsable, searchable channel list.

Is my playlist uploaded to a server?

No. Your playlist is parsed locally in your browser and cached in your own local storage. Streams are requested by your device directly from whoever hosts them.

Does Decodr provide channels or playlists?

No. Decodr supplies no playlists, channel lists or subscriptions. It is a player only — you bring a source you are legally entitled to use.

Why does a stream fail to load?

The most common causes are an expired link, a source that blocks cross-origin browser playback (CORS), an http:// stream on an HTTPS page (mixed content), or a codec your browser cannot decode.

Can I open a local M3U file from my computer?

Yes. Use the Open file button and pick an .m3u or .m3u8 file. The file never leaves your device — it is read and parsed entirely in the browser.

Does this M3U player work on mobile?

Yes. Decodr is responsive and works in mobile browsers. On iPhone and iPad, HLS streams play natively through Safari's built-in support.

Can I search and filter channels in a large playlist?

Yes. Playlists with thousands of entries can be searched by name and filtered by group-title category, so you can jump straight to the channel you want.

Does the player support EPG (electronic programme guide) data?

Decodr reads tvg-id and tvg-logo attributes from your playlist for channel identification and artwork. Full EPG schedule matching depends on a guide data source, which you supply separately.

Is it legal to use an online M3U player?

The M3U format is an open standard and playing your own playlists is legal. What matters is the content the URLs point to — use streams you are authorised to access, such as a paid subscription, free-to-air broadcasts or your own media server.

What is the difference between an M3U player and an IPTV provider?

A player is software that plays streams you point it at. A provider sells access to streams. Decodr is strictly a player and is not affiliated with any provider.

How do I play an M3U playlist on Firestick or Android TV?

Open Decodr in the Silk browser on Firestick or any browser on Android TV, paste your M3U playlist URL and press Load. The channel list and player adapt to TV screens, and no sideloaded app is required.

Can I use this M3U player on Windows or Mac?

Yes. Decodr runs in Chrome, Edge, Firefox and Safari on Windows, macOS, Linux and ChromeOS. There is nothing to download — the player is the website.

How do I fix buffering in an online M3U player?

Lower the stream quality if the player offers variants, close other downloads, move closer to your router or switch to wired Ethernet. Persistent buffering on every channel usually points to the stream host being overloaded rather than the player.

Is a browser M3U player as good as VLC?

For HLS and direct MP4/WebM streams, a browser player matches VLC's playback quality and adds a searchable playlist UI. VLC still handles some exotic codecs and non-browser protocols, but for everyday IPTV playlists the browser is the most convenient option.

Why does my playlist work in VLC but not in the browser?

Desktop apps are not bound by browser security. Streams served over plain http:// are blocked as mixed content on HTTPS pages, and hosts without CORS headers refuse browser requests. Ask your provider for an HTTPS, CORS-enabled link.

How big can an M3U playlist be in Decodr?

Decodr keeps up to 3,000 entries in your local cache and handles playlists with thousands of channels smoothly thanks to search and group filters. Extremely large files may take a few seconds to parse on slower devices.

Can I use Xtream Codes login details with Decodr?

Many Xtream-based providers can export a standard M3U playlist URL (get.php?username=…&password=…&type=m3u). Paste that URL into Decodr like any other playlist link.

Final thoughts

An online M3U player removes almost every obstacle between you and a playlist you already own: no installer, no account, no sideloading, no waiting for an app store review. The trade-off is that the browser enforces stricter rules than a desktop app, so the quality of your links matters more. Ask your source for HTTPS, CORS-enabled, H.264/AAC HLS streams and a browser player will match anything you would run locally — with a searchable channel list on top. Decodr stays a player, never a provider, and the playlists you load remain yours alone.

Ready to play a playlist you already own?

Open the Decodr player

Related guides