GUIDE

M3U vs Xtream Codes: what they are and which to use

Was this guide useful?
Published 2026-07-07 · seefax

When you sign up with an IPTV provider, the welcome email hands you one of two things. Either a long web address called an M3U URL, or three separate details (a server address, a username, and a password) called Xtream Codes. Both do the same basic job: they tell a player app like seefax where your channels live. But they work differently, and the difference matters more than most guides let on.

What an M3U URL is

M3U is a playlist format that's been around since the days of WinAmp. An M3U playlist is a text file listing channels; each entry has a channel name, maybe a logo, and the web address of the stream. Your provider hosts this file and gives you a link to it, usually something like:

http://provider-server.com:8080/get.php?username=XXXX&password=YYYY&type=m3u_plus

Notice your username and password are baked into the link itself. Paste it into a player and the app downloads the file, reads the list, and shows you the channels.

The good: dead simple. One link, paste it, done. Every player on earth supports it, including VLC.

The less good: it's a static snapshot. When your provider adds channels or reorganises categories, your player only finds out when it re-downloads the whole file. For big line-ups that's a large file and a slow refresh. Some providers also rotate M3U links for security, so the link you saved stops working and you have to fetch a new one. And the programme guide usually isn't included; it comes as a separate EPG link you add yourself.

Plain M3U vs M3U Plus

Look again at that link: it ends in type=m3u_plus. That little setting decides whether you get a proper channel grid or a bare list, so it's worth understanding.

  • Plain M3U (type=m3u) is the minimum. Each channel is just a name and a stream address, nothing more.
  • M3U Plus (type=m3u_plus) is the same list with extra labels on every channel: a logo (tvg-logo), a category (group-title), and a guide-matching code (tvg-id). Same channels, same streams. Those labels are what turn a flat list into a grid of recognisable logos, sorted into tidy categories, with the guide lined up against the right channel.

M3U Plus is simply the fuller version, so if your provider offers it, use it. And it's usually a one-word change: most panels build both links from the same account, so swapping type=m3u for type=m3u_plus is often all it takes to get your missing logos and groups back.

One aside, because the two names get muddled a lot: M3U Plus is not the same as M3U8. M3U Plus is about how much channel information the list carries; M3U8 is just the UTF-8 encoding, which matters when channel names use non-Latin characters like Arabic or Cyrillic. A single playlist can be m3u_plus and .m3u8 at the same time, so they aren't rival options.

seefax reads M3U Plus in full — logos, categories and guide matching — and when you log in with Xtream details it asks the panel for the m3u_plus playlist automatically, so you get the richer version without touching the type setting.

What Xtream Codes is

Xtream Codes (properly, the Xtream Codes API) is a login rather than a file. You get three pieces:

  • Server URL, e.g. http://provider-server.com:8080
  • Username
  • Password

Instead of downloading one big list, your player logs into the provider's server and asks for what it needs: live channel categories, films, series, the programme guide. Each fetched separately, kept current. The credentials normally stay the same for your whole subscription, so nothing expires under you.

The good: faster loading, automatic updates, the EPG arrives without extra setup, and on-demand content is organised into films and series rather than dumped into one enormous list.

The less good: three fields to type instead of one. And not every provider offers it, though most that use Xtream-style panels give you both.

Which should you use?

If your provider gives you both, use Xtream Codes. It's more stable, the guide comes along automatically, and On Demand is properly structured. M3U is the right choice when it's all you've got, or when you're loading a public free-to-air playlist, which is usually published as M3U.

Here's the useful bit almost nobody tells you: they're usually the same account underneath. Most provider panels generate the M3U link from your Xtream credentials. Look at the example link above; the username and password are sitting right there in the URL. If your provider only sent an M3U link, you can often pull the server, username, and password out of it and log in as Xtream instead.

The mistake that catches everyone

The single most common setup failure is pasting a full M3U URL into an Xtream Codes login form. The Xtream server field wants just the base address. Domain and port, nothing after it.

  • Right: http://provider-server.com:8080
  • Wrong: http://provider-server.com:8080/get.php?username=...

Paste the long link into the server field and the login fails, and the error message rarely tells you why.

seefax sidesteps most of this. Paste whatever your provider sent (the full M3U link, the three Xtream details, even the whole welcome email) and the app works out what it's looking at. Still worth knowing what the two formats are, because when something goes wrong the fix depends on which one you're using.

Quick answers

Are Xtream Codes illegal?

No. Xtream Codes is a delivery format, like M3U or a PDF. Legality depends on whether your provider has licensed its content. We've covered that in full in our UK legality guide.

My M3U link stopped working. Why?

Three usual suspects: your subscription expired, the provider changed your password (which breaks the old link, since the password is inside it), or the provider changed its server setup. Ask for a fresh link. Or switch to their Xtream login, which survives most of these changes.

Can I use both at once?

Yes. They're two doors into the same account. Just watch your provider's connection limit; most subscriptions allow one stream at a time unless you've paid for more.

Where does the TV guide fit in?

With Xtream Codes, guide data comes from the same login. With M3U, you usually add a separate EPG URL. The whole EPG business is explained in its own post.

What does type=m3u_plus mean in my link?

It asks your provider's server for the extended playlist, the one carrying logos, categories and guide ids. type=m3u returns the stripped-back version of the same channels. seefax reads either, and requests m3u_plus for you automatically when you log in with Xtream details.

My channels have no logos or categories. Why?

Usually one of two things: you're on a plain type=m3u link (try switching it to type=m3u_plus), or the playlist simply doesn't include those labels for those channels. A player can only show what the list gives it.

Did this help?