
A public IPTV playlist is a plain-text M3U file containing direct links to live TV streams that anyone can access without a subscription. The best free, legal sources in 2026 are the iptv-org GitHub project and the Free-TV repository, both community-maintained and updated on a regular basis.
If you have ever pasted a “free IPTV playlist” into VLC and watched half the channels spin indefinitely, you already know the catch: most lists floating around online are stale, geo-blocked, or point to streams that were never legal. This guide covers where to find a genuinely working public IPTV playlist, how to filter by country or category, how to test streams before loading an entire list, and what to do when things break.
What a public IPTV playlist actually contains
An M3U file is nothing more than a list of URLs with some metadata attached. Each entry looks something like this:
#EXTINF:-1 tvg-id="BBC.uk" tvg-logo="..." group-title="News",BBC News
https://stream.bbc.co.uk/example.m3u8
Your player reads the file, displays the channel names, and connects directly to each URL when you click one. No video is stored in the playlist itself. That is why the same file works in VLC, Kodi, TiviMate, IPTV Smarters, and almost every other app that supports live streaming.
“Public” means the streams in the list are openly published by the broadcasters themselves, not hidden behind a paywall or extracted from a paid service. Think news channels, public broadcasters, government TV, weather feeds, and regional stations that put their streams online deliberately.
What separates a good source from a dead one
Two things: how often the list is updated, and whether there is automated testing behind it. A playlist someone posted on a forum two years ago and never touched will have a high failure rate. A project with CI/CD scripts that test every URL on a schedule stays much cleaner.
The best public IPTV playlist sources in 2026
There are two sources worth using as your starting point. Everything else is either a mirror of these, a curated subset, or a commercial service pretending to be free.
iptv-org
The iptv-org GitHub repository is the largest open-source collection of publicly available IPTV channels on the internet. It contains thousands of channels from over 160 countries, split into playlists you can import directly.
The main playlist URL is:
https://iptv-org.github.io/iptv/index.m3u
For most people, using the full index is overkill. The project also publishes filtered lists:
- By country:
https://iptv-org.github.io/iptv/countries/us.m3u(replaceuswith any ISO country code) - By category:
https://iptv-org.github.io/iptv/categories/news.m3u(replacenewswith sports, music, kids, etc.) - By language:
https://iptv-org.github.io/iptv/languages/eng.m3u
Channels are tagged with tvg-id values that match electronic program guide (EPG) data from the companion iptv-org/epg repository, so you can get scheduling information alongside the streams.
Free-TV
Free-TV is a smaller, more curated collection focused on HD streams from free-to-air broadcasters. It has fewer channels than iptv-org but tends to have a higher working rate because it is selective about what gets included. If you want a shorter, cleaner list rather than the widest possible coverage, this is the better pick.
Why you should not rely on random forum lists
Links posted on Reddit, Discord servers, or Telegram groups often include streams that are:
- Ripped from paid IPTV panels (illegal in most jurisdictions)
- Already dead by the time you read the post
- Region-locked to a country different from yours
- Missing metadata so your player cannot sort them into categories
Stick to the two sources above for free-to-air content, and test any other list before trusting it.
How to test a public IPTV playlist before using it
Loading a 10,000-channel playlist into your player only to find 60% of streams are dead wastes time and can slow down apps that buffer all thumbnails on load. Test first.
The IPTV stream checker at /tools/iptv-test lets you paste individual stream URLs and check whether they resolve, what their bitrate is, and whether the codec is compatible with common players. Use it on a sample of channels from any new playlist before importing the whole thing.
For playlists you are already using in an app, the IPTV channel viewer at /tools/iptv-channel-viewer lets you browse the full channel list from an M3U URL. You can spot missing logos, miscategorized channels, or duplicate entries without loading everything into your player.
Spotting geo-blocked channels
A stream that returns a valid HTTP response but plays nothing, or immediately buffers to 0%, is usually geo-blocked rather than dead. If you are outside the US and loading a US public playlist, expect to see this on local network affiliates. The buffering speed test at /tools/iptv-speed-test can help separate a slow connection from a blocked stream by showing whether bytes are actually transferring.
Common public IPTV playlist problems and fixes
Below is a quick reference for the most frequent issues and what actually causes them.
| Problem | Likely cause | Fix |
|---|---|---|
| Channel loads but video freezes after a few seconds | Stream bitrate exceeds your connection speed | Run the speed test and switch to a lower-quality stream URL if available |
| Channel shows “unable to open” in VLC | URL is dead or server is down | Check the URL in the stream checker; if dead, update your playlist from the source |
| Channel plays audio but no video | Codec mismatch (H.265/HEVC on a device that only decodes H.264) | Use a player with software decoding enabled, or find an alternative stream URL for that channel |
| Playlist loads in app but shows 0 channels | M3U file is malformed or app does not support extended M3U tags | Open the file in a text editor to check formatting; try importing in VLC first to confirm the file is valid |
| Channels work on phone but not on TV | Smart TV app has stricter codec support | Try a different app such as TiviMate (Android TV) or GSE Smart IPTV |
| EPG shows no program data | Playlist tvg-id values do not match your EPG source | Use an EPG aggregator that matches the iptv-org database, or clear and re-add the EPG URL in your app |
Converting or reformatting a public IPTV playlist
Some apps, particularly older IPTV panels, require Xtream Codes credentials (a server URL, username, and password) rather than a direct M3U link. If your playlist is in M3U format and your app only accepts Xtream credentials, use the M3U to Xtream converter at /tools/m3u-to-xtream-converter to reformat it.
If you have Xtream credentials and want to work with the playlist as a plain M3U file, you can generate the M3U URL directly from most Xtream-compatible servers using the format:
http://yourserver.com/get.php?username=USER&password=PASS&type=m3u_plus
That URL can then be pasted into any player that accepts M3U links.
Merging multiple playlists
If you use both iptv-org and Free-TV, you may want to combine them into a single list your player loads. You can do this manually by concatenating the M3U files (keeping only one #EXTM3U header at the top) or by using a playlist proxy tool that fetches and merges multiple sources at load time.
Frequently asked questions
Is a public IPTV playlist legal to use? It depends on what the playlist links to. Playlists that point to streams published by the broadcasters themselves, such as the iptv-org collection, are legal in most countries. Playlists that link to pirated pay-TV channels are not legal, regardless of how the M3U file was obtained.
How often do public IPTV playlists go dead? Stream URLs can break within hours if a broadcaster changes their CDN or takes a channel offline. Community-maintained lists like iptv-org run automated checks and push updates frequently, but you should still test any playlist before relying on it.
Can I use a public IPTV playlist in TiviMate or IPTV Smarters? Yes. Both apps accept M3U URLs directly. Paste the raw link to the playlist in the M3U source field, and the app will import the channel list automatically.
Why do some channels in the playlist load but others do not? Individual streams inside a playlist can be geo-blocked, offline, or simply slow at certain times of day. Check each failing stream with the IPTV checker at /tools/iptv-test to confirm whether the URL is dead or just region-restricted.
What is the difference between an M3U playlist and an Xtream Codes subscription? An M3U playlist is a plain text file containing direct stream URLs. An Xtream Codes subscription uses a server address, username, and password to generate channel lists dynamically. You can convert an M3U list to Xtream format using the M3U to Xtream converter if your player requires credentials instead of a file.