On this page
An M3U is a playlist: a text file listing channel names and the web addresses of their streams. Xtream Codes is a login (a server address, username and password) that lets your player ask the service for its channels, TV guide, films and series separately, and keep them up to date. Both get you the same channels. If your player and service support Xtream Codes, it's usually the better choice.
What an M3U playlist actually is
M3U started as a simple playlist format for music files, and IPTV borrowed it. Open one in a text editor and you'll see something like this:
#EXTM3U
#EXTINF:-1 tvg-id="news.us" tvg-logo="https://example.com/news.png" group-title="News",Example News
https://example.com/live/news/index.m3u8
#EXTINF:-1 tvg-id="movies.us" group-title="Movies",Example Movies
https://example.com/live/movies/index.m3u8Each channel gets a line of information (#EXTINF) and a line with its stream address. The tags matter:
tvg-idlinks the channel to the TV guide. When it doesn't match the guide file, you get blank guide slots (see What is EPG?).tvg-logois the channel logo.group-titleis the category, which players show as channel groups.
M3U8 is the same format saved as UTF-8 text, so accented and non-Latin channel names display properly. You'll also see .m3u8 used for the HLS video streams themselves, which is a different use of the same extension (M3U on Wikipedia).
What Xtream Codes is
Xtream Codes was originally the name of panel software that services used to manage streams and subscribers. It gave players a standard way to log in and fetch content. Italian police shut the company down in 2019 in a Europe-wide operation, because its software was widely used by unlicensed services (ANSA). The login format outlived it, and today "Xtream Codes" or "Xtream API" just means that style of login, supported by most players and used by many services.
With an Xtream login, your player doesn't download one giant list. It asks the server for the live channel categories, then the channels, then the guide, then the film and series catalogues, each as needed.
Side by side
| M3U playlist | Xtream Codes login | |
|---|---|---|
| What you get | One link (or file) | Server address + username + password |
| TV guide | Sometimes linked in the playlist; often added separately | Usually included automatically |
| Films and series | Mixed into one long list, if included | Separate, organised catalogues with artwork |
| Updates | Player re-downloads the whole list | Player fetches changes as needed |
| Speed with big catalogues | Slower | Faster |
| Account info (expiry, connections) | Not shown | Shown in most players |
| Works in VLC | Yes | No |
| Supported by | Nearly every player | Most IPTV players (TiviMate, UHF, IPTVX, XCIPTV...) |
How to tell which one you have
- One long link, often containing
get.php,type=m3uor ending in.m3u/.m3u8: that's an M3U playlist. - Three separate details, a server address like
http://example.com:8080plus username and password: that's Xtream Codes. - A portal address and a request for your device's MAC address: that's a third type, a Stalker or MAC portal, used by MAG boxes and supported by players like TiviMate.
Turning an M3U link into an Xtream login
Many M3U links from Xtream-based services contain the login inside them. In a link shaped like this:
http://server.example:8080/get.php?username=AAA&password=BBB&type=m3u_plus
- Server:
http://server.example:8080 - Username:
AAA - Password:
BBB
Put those three into your player's Xtream option instead, and you'll usually get a faster load and a working guide. Our TiviMate playlist guide shows exactly where they go.
Which should you use?
Use Xtream Codes when your player supports it, which is nearly always for TV players. It's quicker, organises films and series properly, brings the guide automatically and shows your account's expiry date.
Use M3U when your player only supports M3U (VLC, some smart TV apps, Jellyfin's tuner), when you're testing whether a service works, or when the playlist is your own, for example channels from a home antenna tuner.
Keep your login private
Both formats contain your username and password in plain text. Don't post screenshots of your playlist settings on forums, and don't share the link. Anyone with it can use your connections, and many services will lock an account that's used from too many places. If someone else is using your login, "too many connections" errors are the usual symptom, covered in our retry-error guide.
New to all this? Start with what IPTV is and how it works.
Frequently asked questions
- What is the difference between M3U and Xtream Codes?
- M3U is a text playlist of channel names and stream addresses that your player downloads as one list. Xtream Codes is a login (server, username, password) that lets your player ask the service for channels, guide data, films and series separately, and keep them updated.
- Is Xtream Codes better than M3U?
- For most people, yes. It loads faster with big catalogues, brings the TV guide and on-demand content automatically, and updates itself. M3U is more universal and works in simple players like VLC.
- Can I convert an M3U link to Xtream Codes?
- Often. If your M3U link contains get.php with a username and password in it, those plus the server address are your Xtream login. Enter them in the player's Xtream option.
- Is Xtream Codes illegal?
- No. It's a name for a login format, originally from panel software called Xtream Codes, which Italian police shut down in 2019 over its use by unlicensed services. The format itself is used by many players and services and is just a technical standard.
Written by
Editor
Sam edits IPTVTips and tests players on Fire TV, Google TV and Apple TV. Replace this bio with your real editor's background.
More from Sam



Comments
Sign in to ask a question or share what worked for you.
Sign in to commentNo comments yet. Questions about a step that didn't work for you are welcome.