Xtream Codes vs M3U: which login should you use?
Xtream Codes and M3U are two ways to load the same provider’s channels into an IPTV player. An Xtream Codes login (a server URL, a username and a password) lets the player ask the server for organised lists: live TV, films and series in their own categories, series with seasons and episodes, the provider’s TV guide and catch-up. An M3U link is one long text list that the player downloads in a single piece. The picture is the same either way. If your provider offers an Xtream Codes login, use it, and keep the M3U link as a fallback.
What is an Xtream Codes login?
The name comes from the server software that made this kind of login popular. Today “Xtream Codes” simply means a login made of three parts, which your provider sends you:
- Server URL: the address of the provider’s server, often with a port number, for example
http://tv.example.com:8080. - Username and password: your account on that server.
With these, the player talks to the server through its API, a page called player_api.php. The player asks one question at a time: who is this account and when does it expire, which live categories exist, which channels are in them, which films and series are there, which episodes belong to this series. A second address on the same server, xmltv.php, returns the TV guide. Because the server answers in structured data rather than one flat list, the player knows exactly what each item is.
What is an M3U link?
An M3U link is a web address that downloads a text file listing every channel (and often every film and episode) with its name, logo, group and stream address. It is the older, simpler format, and almost every player can read it. It is also flat: one long list, with groups as labels on each line. Our guide what is an M3U playlist shows what the file looks like inside.
Xtream Codes vs M3U side by side
| Xtream Codes | M3U link | |
|---|---|---|
| Live TV, films and series | Separate sections, each with the provider’s categories | One list; the player has to guess what is a film or a series |
| Series | Seasons and episodes, loaded when you open a series | Every episode is a separate line |
| Film and series details | Posters, ratings and descriptions where the provider fills them in | Usually a name and a logo |
| TV guide | Comes from the same server | Only if the list names a guide link, or you add one |
| Catch-up | The server marks which channels have an archive, and for how many days | Only if the provider adds catch-up attributes to the list |
| Account details | Expiry date, status and connections in use | None |
| Loading | In pieces, category by category | One big download, all or nothing |
| Works in | IPTV players | Almost any player |
Categories, films and series
With Xtream Codes, the server says what each item is. Live channels, films and series arrive in their own sections with their own categories, and a series opens on a page with its seasons and episodes. With an M3U list, everything sits in one file. Telyqro sorts M3U entries into live TV, films and series from their stream addresses where it can, but the list itself has no idea of a season: each episode is just another line.
The TV guide
An Xtream server publishes its own guide, so the TV guide works without extra setup. With M3U, you get a guide only if the list names one in its header (url-tvg) or you add an XMLTV link yourself. If your guide is empty either way, see how to fix an IPTV TV guide that isn’t showing.
Catch-up
Xtream servers flag each channel that keeps an archive, along with how many days back it goes, so the player can show which past programmes you can still watch. M3U lists support catch-up only when the provider writes catch-up attributes into the file, and many don’t. More in IPTV catch-up explained.
Account details
Only Xtream Codes tells the player about your subscription. In Telyqro, an Xtream playlist shows a card with your provider subscription’s expiry date (or “Unlimited”), its status, a trial badge when it applies, and how many connections are in use out of how many allowed. An M3U link carries none of this, so Telyqro says the provider gives no expiry.
Which is faster and more reliable?
For the picture itself, neither. Both logins point at the same streams on the same server, so quality and buffering don’t change when you switch. If channels freeze, the cause is elsewhere: see IPTV buffering fixes.
The difference is in loading the lists:
- An M3U link is one download. A full list with films and series can be tens of megabytes. The player must fetch all of it before anything is complete, and a dropped connection halfway means starting again. Every refresh downloads the whole list again, unless the server can say it hasn’t changed.
- Xtream Codes loads in pieces. Categories and lists come separately, and a series’ episodes load only when you open it. A slow server hurts less, and a refresh can check each part.
Telyqro handles both well: 300,000+ entries import in about 3.6 seconds on a desktop computer, imports run in the background, unchanged lists are skipped on refresh, and a failed refresh keeps the lists you already have. Still, on a TV stick with a busy provider, Xtream is usually the quicker and steadier of the two.
A get.php link is an Xtream login in disguise
Many providers send an M3U link that looks like this:
http://tv.example.com:8080/get.php?username=USERNAME&password=PASSWORD&type=m3u_plus&output=tsEverything before /get.php is the server URL, and the username and password are right there in the link. The server builds an M3U list from your Xtream account on request. So if you have a get.php link, you already have an Xtream Codes login: server URL http://tv.example.com:8080, plus that username and password.
Telyqro spots this for you. Add a get.php link as an M3U URL in the app and Telyqro asks whether to import it in Xtream mode instead, for faster loading and series support. Choose Use Xtream. If you choose Keep M3U, Telyqro still uses the details in the link for the provider’s TV guide and your subscription card.
Which one should you use?
- Your provider gives you an Xtream Codes login: use it. You get the full experience: films and series libraries, seasons, the guide and catch-up.
- You have a get.php link: let Telyqro switch it to Xtream, or type the three parts in as an Xtream login.
- You only have a plain M3U link or file: use it. Ask your provider for an XMLTV guide link if the list doesn’t include one.
- Your provider says to use M3U (some disable the API, or limit it): follow their advice.
How to add each in Telyqro
First download Telyqro for your device. You can add playlists in the app, or on telyqro.com, which is easier than typing a password with a remote.
Xtream Codes, in the app
- Open the Playlists screen and choose to add an Xtream Codes login.
- Enter the Server URL exactly as your provider wrote it, including
http://and the port. - Enter your Username and Password, give the playlist a name if you like, and save.
If the login is wrong, Telyqro says so in plain words (the username or password may be wrong, or the subscription may have ended) rather than showing an empty screen.
M3U, in the app
- Open the Playlists screen and choose to add an M3U URL.
- Paste or type the link, name the playlist if you like, and save.
- If it is a get.php link, choose Use Xtream when Telyqro offers it.
On telyqro.com
Go to telyqro.com/activate on your phone or computer and sign in with the Device ID and Device Key the app shows. Under Playlists, choose Xtream Codes, M3U link or M3U file (files up to 300 MB), fill in the details and add it. The playlist arrives on the device by itself.
Custom User-Agent per playlist
Every app identifies itself to a server with a short text called a User-Agent. A few providers only accept certain User-Agents, and turn other apps away or play only some channels. If your provider gave you a User-Agent to use, set it in Telyqro: edit the playlist in the app and fill in User-Agent (optional). Telyqro then uses it for that playlist only, so your other playlists are not affected.
Providers can also set a User-Agent for a single channel inside an M3U list, with an #EXTVLCOPT:http-user-agent= line above the channel. Telyqro reads those too, so there is nothing extra to do.
Questions
Is Xtream Codes better than M3U?
For most people, yes. It gives separate film and series libraries, seasons and episodes, the provider’s guide, catch-up information and your subscription details. Picture quality is the same with both.
Can I turn an M3U link into an Xtream Codes login?
Only if it is a get.php link. The part before /get.php is the server URL, and the username and password are in the link. Telyqro offers the switch when you add one. A plain M3U link has no Xtream login behind it.
Do I need an EPG link with Xtream Codes?
Usually not: the guide comes from the same server. You can still add your own guide link by editing the playlist if your provider gives you a better one.
Why does my provider give me both?
Because players differ: some only read M3U. Both open the same account, so you only need one in Telyqro. Pick the Xtream login, and keep the M3U link in case you need it.
Every feature on every device, no card needed. Add your playlist and start watching in about a minute.
Keep reading
What is an M3U playlist, and how do you open one?
What M3U and M3U8 files are, what is inside one, how M3U links and get.php URLs work, and how to open an M3U playlist on a TV, phone or computer.
8 min readIPTV catch-up explained: watch programmes you missed
What IPTV catch-up (timeshift, TV archive) is, which playlists support it, and how to watch a past programme from the start in your IPTV player.
7 min readIPTV TV guide (EPG) not showing? How to fix it
Why the IPTV TV guide is empty, wrong or out of date, and how to fix it: XMLTV links, channel IDs, time offsets and refreshes, step by step.
8 min read