Free Popular IPTV Playlist: 23 Public M3U Sources You Can Open Now
23 public M3U indexes, each one a live link that opens in the browser player. Counts checked 21 September 2026.
The short answer
Every list on this page is published by an open project, and every one of them opens in the browser player in a single click. Pick a country or a category, open it, and the channels appear. The file travels from the project that maintains it straight to your browser. We do not host, index, or relay any of it.
Open a public playlist now
Start here. These are the whole-collection indexes, and the grouped versions are far easier to work through than the flat one. Counts are the number of entries in the file on 21 September 2026, and they move every week.
Every channel, one file11,004 entries
The whole iptv-org collection, ungrouped. Big, so give it a moment to load.
Grouped by country12,424 entries
The same collection with a country on every entry. The easiest one to browse.
Grouped by category11,693 entries
News, sport, music and the rest arranged as groups you can filter.
Grouped by language12,382 entries
Better than the country list when the language matters more than the broadcaster.
Free-TV2,080 entries
A smaller, more tightly curated list kept by a separate project. A useful second opinion.
IPTV M3U playlist live TV by country
A country file loads in a fraction of the time the global index takes, and it is small enough to actually read. These are the twelve largest.
- United States1,471 entriesThe largest single country list.
- India793 entriesStrong regional and language coverage.
- Brazil387 entriesBroad mix of news and entertainment.
- Spain336 entriesNational and autonomous community stations.
- Italy320 entriesHeavy on regional broadcasters.
- United Kingdom312 entriesIncludes a number of public feeds.
- Germany302 entriesPublic broadcasters are well represented.
- Canada260 entriesEnglish and French language stations.
- France214 entriesNational networks plus local outlets.
- Turkey174 entriesNews-weighted selection.
- Netherlands162 entriesCompact list, mostly regional.
- Mexico159 entriesNational networks and state channels.
Playlists by category
The same collection cut by subject instead of geography. News is the largest and holds the highest share of official broadcaster feeds.
- News998 entriesThe largest category, and the one with the most official feeds in it.
- Movies757 entriesMostly advertising-funded film channels.
- Music740 entriesMusic video and radio-style visual streams.
- Sport424 entriesRead the note below this table before you rely on it.
- Kids408 entriesAnimation and family programming.
- Documentary252 entriesFactual and educational stations.
Sport, soccer and the subscription channels
Treat this one carefully. Live rights are sold exclusively and expensively, so a public list carrying ESPN, DAZN or a league’s own channel is almost certainly not carrying it with permission. Plenty does sit there legitimately: national broadcasters showing sport they hold the rights to, club and federation channels, free ad-supported sport services. Soccer is the hardest of the lot. For one specific match the answer is the rights holder in your country, and no playlist changes that.
If a list will not open in one click
Some servers refuse requests that come from a web page. The one-click link cannot work against those, because your browser is never allowed to read the file, so you bring it in by hand instead. Two ways, both in the player’s Add tab.
Paste the address. Copy it from the field on any row above.
Or download it, then drop the file in. It never leaves your machine.
Free M3U playlist GitHub projects
Both collections above live on GitHub, which is what makes them worth using: every change is public, every entry has a history, and anyone can see who added what.
Reading a repository is quicker than it looks. The README below the file list explains how the collection is arranged and where the published files live. The commit history tells you whether anyone is still maintaining it. Use the repository search when you already know the station you want, then open that file’s history to see when the entry last changed.
Free ad-supported television, often the better answer
People hunting for a playlist file routinely miss an entire category: free ad-supported streaming television, usually shortened to FAST. Pluto TV, Tubi, Samsung TV Plus, Xumo and the Roku Channel all run licensed live channels at no cost, funded by advertising rather than by a subscription. The licensing is done properly, which means the programming is cleared for the regions each service actually operates in and the channel list does not rot the way a scraped one does. Nothing to clean. Nothing to check. That is the part no community collection can promise you.
The trade-off is access: most run through their own apps and will not hand you an M3U address. Public broadcasters are the exception, and so are a surprising number of government, university and municipal channels. If you want one specific station, searching that broadcaster’s own site is a better first move than any collection. Testing a player rather than looking for something to watch? Use our HLS test streams instead, which are published by Apple, Akamai and Dolby for exactly that purpose.
How to judge a source before you rely on it
A long channel list is not a useful one. Six things separate a collection worth keeping from one that will waste an afternoon:
Recent changes
Commits in the last few weeks mean somebody is still repairing broken entries rather than having walked away two years ago.
A documented index
A real description, a table of what is in the collection, contribution rules. Lists that explain nothing rarely survive contact with a player.
Traceable entries
You can see where a stream comes from and what the maintainers say about it. Shortened links that hide the host are the opposite of this.
A believable channel count
A headline number far larger than the documentation accounts for usually means duplicates, or entries nobody has tested.
No unexplained software
A list that needs an unknown application or a browser extension before it will play is not a playlist problem.
Named rights holders
An entry naming a subscription broadcaster the project has no relationship with is the clearest signal to leave a list alone.
Clean a list up before you move it elsewhere
A twelve thousand entry index is not what you want on a television. Run the file through the M3U8 stream checker to see which entries respond and which time out, then use the playlist cleaner to drop the malformed ones and the duplicate remover for channels that appear four times over.
For manual edits, open the result in the online playlist editor. Building a list from your own server instead? Start with the playlist creator. Our tools work on the file you bring; they do not include channels.
Common playback problems
A channel no longer responds
Public links rot. Confirm it with the stream checker, drop the dead entry, and look at the project page to see whether a replacement has already been committed.
The list will not load at all
The project has to send an Access-Control-Allow-Origin header before a browser is allowed to read its file. Every source on this page does. One that does not has to be downloaded instead.
The browser reports a CORS error
Different problem. Here it is the stream server refusing playback from a web page, not the playlist, so try the provider’s own app.
Playback buffers or stutters
Check your connection first. Then inspect the stream with the HLS stream analyzer and switch to a lower quality variant if the provider publishes one.
Frequently asked questions
Where do these lists come from?
Open projects that publish their own index files, chiefly iptv-org and Free-TV. Both document how the collection is arranged and record every change in public.
Does GitHub check every stream in a list?
No. GitHub hosts the repository, and the project contributors maintain what is in it. Check the update history for the part of the list you plan to use.
Why did a channel stop working?
Public entries change constantly. Run the file through the stream checker, drop the dead entries, then load the list again.
Do the lists pass through your server?
No. Your browser requests the file from the project directly. It never reaches us, which is also why a source that blocks browser requests will not load.