M3U vs Xtream Codes: which should you use?
October 3, 2026 · 5 min read
Most IPTV providers give you two ways in: an M3U link and an Xtream Codes login. Both open the same account and the same channels. The difference is in how your app gets them.
Short answer: if your app supports Xtream Codes, use it. The rest of this page explains why, and covers the cases where the M3U link is the better pick.
How each one works
M3U link
A single web address that points to a text file listing every channel. Your app downloads the whole file and reads it from top to bottom. Whatever the file contains is all the app knows: names, logos, categories, and maybe a link to a TV guide. What is an M3U playlist? shows what's inside one.
Xtream Codes
A server address, a username and a password. Instead of downloading one file, your app signs in and asks the provider's server questions: which categories exist, which channels are in them, when the account expires. Xtream Codes started out as panel software for IPTV providers. Its API was widely copied, so today the name just means this style of login, whatever software the provider actually runs.
What you get with each
This is how the two compare in Tiny IPTV. Other apps differ in the details, but most follow the same pattern.
| M3U link | Xtream Codes | |
|---|---|---|
| What you enter | One address | Server, username, password |
| Category order | As they appear in the file | Your provider's order |
| TV guide | Only if the file links to one, or you add one | Comes from your provider automatically |
| Account details | None | Status, expiry date, connections in use |
| Stream format | Whatever the file lists | Choose HLS or MPEG-TS |
| Works with edited playlists | Yes | No |
The account details matter more than they look. When every channel suddenly stops playing, the first question is whether your subscription ran out or another device is using your connection. With Xtream Codes, the playlist's page in Settings answers both. With an M3U link, you'd have to log in to the provider's website to find out.
Switching stream format is useful too. If channels are slow to start or won't play at all, changing from HLS to MPEG-TS, or back, often fixes it. IPTV not working on Apple TV covers that in more detail.
When the M3U link is the better choice
- Your provider only gives out a link. Not every provider runs an Xtream Codes compatible server.
- You've edited the playlist. If you trimmed the list with a playlist editor, or merged channels from several sources into one file, only the M3U link has your changes. Signing in with Xtream Codes loads the provider's full list.
- The playlist isn't from a provider at all. Public lists of free channels, like iptv-org's, are plain M3U files.
Your M3U link might be an Xtream Codes login
Look at your M3U link. If it contains get.php, it was generated by an Xtream Codes server, and your login is right there in the address:
http://example.com:8080/get.php?username=jane&password=abc123&type=m3u_plus&output=ts
Split it up like this:
- Server: everything before
/get.php, sohttp://example.com:8080 - Username: the value after
username=, sojane - Password: the value after
password=, soabc123
Keep the port number (the :8080 part) if there is one. The server won't answer without it. You can leave out type and output, since they only matter to the M3U link.
In Tiny IPTV you don't need to do this by hand. Paste a get.php link under M3U Link and the app offers to sign in with Xtream Codes, with the server, username and password already filled in.
Can you use both?
You can add the same account twice, once each way, but you'll see every channel twice and the two copies won't share favorites. Pick one. If you're switching from an M3U link to Xtream Codes, add the new one first, check that your channels are there, then delete the old one in Settings. Deleting a playlist also removes its favorites and hidden channels.