Free tool · nothing is uploaded

Xtream Codes
to M3U converter
Both ways, in your browser

One subscription, two shapes, and players that disagree about which one they want. Paste a playlist link to get the three login fields, or fill the three fields to get the link.

  • Runs in your browser
  • Both directions
  • Instant, as you type
  • No account, no upload

What this tool does

Your provider gave you one thing. Your player asks for another. Nothing is wrong with either of them: an Xtream Codes account simply exists in two forms, and applications disagree about which one they want. This page turns one into the other.

  1. 1

    What you were given

    http://server/get.php?username=...&password=...

    One long address, usually sent by email. It contains the server and your account, run together.

  2. 2

    What your player asks for

    Server Username Password

    Three separate boxes. TiviMate, XCIPTV and the Xtream Codes login of IPTV Smarters all work this way.

  3. 3

    What happens below

    Paste what you have and the other form appears as you type, ready to copy. It works in both directions, and nothing is sent anywhere: the whole conversion runs on your own machine.

M3U playlist link You paste

Nothing leaves this page. No request is made, and no line you paste reaches us.

Xtream login

No line to convert yet? Take twenty-four hours of the real service on your own devices, and come back with something to paste. No card, nothing to cancel.

How to use it

You have a playlist link

  1. Stay on the first tab, M3U link to Xtream login.
  2. Paste the whole link, the one containing get.php.
  3. Copy the server, username and password into your player.

You have the three fields

  1. Switch to Xtream login to M3U link.
  2. Fill the server, the username and the password.
  3. Copy the playlist link into any player that asks for one URL.

The two shapes of one subscription

Every Xtream Codes panel hands out the same account in two forms, and players disagree about which one they want. That is the whole reason this page exists.

One playlist link

http://server/get.php?username=USER&password=PASS&type=m3u_plus&output=ts

Everything in a single address. Players asking for a playlist URL, an M3U URL or a remote playlist want this one.

Three separate fields

Server   http://server:port Username USER Password PASS

The same account, split up. Players showing three boxes, or offering an Xtream Codes API login, want this one.

Which format each player wants

This is where most of the confusion lives. The same three values are called different things in every application, and some applications accept only one of the two shapes. The list below covers the players people actually use.

IPTV Smarters Pro

Both

Offers Login with Xtream Codes API for the three fields, and Load Your Playlist for a single link. The API login gives you categories and the guide; the link alone often does not.

TiviMate

Both

Asks you to choose between Xtream Codes and M3U playlist when you add a playlist. Choose Xtream Codes if you have the three fields: the guide comes with it.

XCIPTV

Three fields

Built around the API. It wants the portal, which is the same thing as the server, plus the username and password.

GSE Smart IPTV

Both

Under Remote Playlists it takes a link. Under Xtream Codes API it takes the three fields.

VLC

Link only

VLC has no notion of an IPTV account. Give it the playlist link through Open Network Stream. You get channels, no guide and no categories.

Kodi

Both

The PVR Simple Client takes a link. The Xtream Codes add-ons take the three fields. Which one you have decides which route to take.

Perfect Player

Link only

Point its playlist setting at the link. Add the guide address separately if you want a programme guide.

MAG and STB boxes

Neither

These use a portal address and the box's MAC address instead. No username, no password, and no conversion possible: the account has to be created for that MAC on the provider's side.

What the parts of the link mean

A playlist link looks like a wall of characters, but it is only four pieces of information stuck together.

  • http://server:portWhere the service lives. The port is often 8080, 8000 or 25461, and is left out when it is the standard one.
  • get.phpThe part that says "give me the playlist". Replace it with player_api.php and the same account answers with categories and the guide instead.
  • username and passwordYour account. Anyone holding these two values holds your subscription, which is why this page never sends them anywhere.
  • type=m3u_plusAsks for the rich playlist: channel names, logos and group names. Plain m3u carries the addresses and nothing else.
  • output=tsThe stream format. Transport Stream works on the widest range of devices; m3u8 is HLS, which Apple devices and some browsers handle better.

When the line is right and it still fails

A correctly converted line that will not play usually means one of four things, and none of them is the format.

  • The account is already streaming elsewhere. Most subscriptions allow one device at a time. The second one is refused, and the player rarely says why. Log out everywhere, then try again.
  • The line has expired. Panels seldom say so plainly. An empty list, or a connection error, is what an expired account usually looks like from the player's side.
  • Your network blocks the port. Ports such as 8080 or 25461 are filtered on some home connections, and on most public and workplace networks. The same line on a phone's mobile data will tell you in seconds.
  • The server is down. Nothing on your side fixes that. The same line fails identically on another network and another device, which is exactly how you tell this apart from the three above.

A line you can test rather than troubleshoot. Twenty-four hours of the real service, on your own devices, at the hours you actually watch. No card, nothing to cancel.

Questions people ask about this

Does this tool send my line anywhere?

No. There is no request in the page at all. The conversion is arithmetic on text, done by your browser, and the result never travels. You can disconnect from the internet after the page loads and it will still work.

Can I convert an M3U file into an Xtream login?

Only if the file was produced by an Xtream Codes panel and still carries the original link inside it. A plain list of stream addresses contains no account, so there is nothing to convert. Open the file and look for get.php: if it is not there, no tool can recover a login that was never in the file.

Why does my player show channels but no programme guide?

Because a plain playlist link carries no guide. Either log in with the three fields so the player can call the API, or add the guide address, which is the same link with xmltv.php in place of get.php.

Should I use ts or m3u8?

Start with ts: it works on the widest range of devices. Switch to m3u8 if you are on an Apple device, or if the picture stutters in a way that recovers badly. Neither is better everywhere, which is why both exist.

My server has no port. Is that normal?

Yes. When the service runs on the standard port the address leaves it out, and the line works exactly the same. This page keeps whatever your provider gave you rather than inventing a port that was never there.

Can I use this with a MAG box?

No, and no other converter can either. MAG and similar set-top boxes identify themselves with the box's MAC address against a portal, with no username or password involved. The account has to be created for that MAC on the provider's side.