IPTV setup foundation guide

M3U, EPG and Xtream Codes IPTV setup guide

Learn what each IPTV login format does, identify the details you received, choose the correct setup method and connect a compatible player without mixing up the playlist, server and programme-guide fields.

M3U and M3U Plus setupXtream Codes / XC loginXMLTV EPG configuration

Last updated:

Start with the details you received

Do not convert or edit anything until you know which login method your player expects.

An IPTV player normally connects in one of two ways: a full M3U playlist URL, or an Xtream Codes-compatible login containing a server URL, username and password. The electronic programme guide may load automatically through the Xtream connection or arrive as a separate XMLTV EPG URL.

The quickest route is to match the format you received to the correct setup screen, then add the guide only after the playlist or account has loaded successfully.

One long URLUsually choose M3U playlist or remote playlist.
Server + user + passwordChoose Xtream Codes, XC API or API login.
Separate guide URLAdd it as XMLTV, EPG URL or TV guide source.
Not sure what you have?Keep the original message and compare it with the examples below.
Step 1 — identify the access format

What type of IPTV login did you receive?

The wording varies between apps, but the underlying details are usually easy to recognise. Keep every character exactly as supplied, including the protocol, domain, port, capital letters and symbols.

Method A

Xtream Codes-compatible login

This may be labelled Xtream Codes, XC login, XC API, API login or login with username and password.

Server: https://example.com:8443Username: your_usernamePassword: your_password

Many compatible apps use the same connection to load live channels, movies, series and guide data.

Method B

M3U or M3U Plus playlist

This is normally one complete web address placed into a field labelled M3U URL, playlist URL, remote playlist or add playlist.

https://example.com:8443/get.php?username=YOUR_USERNAME&password=YOUR_PASSWORD&type=m3u_plus&output=ts

The playlist contains the channel and media entries that the player imports.

Guide data

XMLTV or EPG URL

A separate electronic programme guide address may be supplied with the M3U playlist. Apps may call it an EPG URL, XMLTV URL, TV guide URL or EPG source.

https://example.com/path/to/guide.xml

It provides programme names, times and descriptions; it does not replace the playlist or account login.

Important: An EPG link cannot load channels by itself, and a full M3U URL should not be pasted into the Xtream server field. Most setup failures begin by choosing the wrong login screen.

Step 2 — choose the best supported method

M3U versus Xtream Codes: which setup should you use?

Use the method supplied for the account and supported by the app. When both are available, the best choice depends on the player, the device and how much content the app needs to organise.

MethodWhat you enterBest suited toPoints to remember
Xtream Codes / XC loginServer URL, username and passwordCompatible apps that organise live TV, VOD, series and EPG in one account connectionUsually simpler to type and update, but the app and service must support the compatible API.
M3U or M3U PlusOne complete playlist URLBroad compatibility across players that accept remote playlistsMay need a separate EPG URL. A long address is more vulnerable to copying errors.
M3U + XMLTV EPGPlaylist URL first, guide URL secondPlayers with separate playlist and programme-guide settingsThe playlist must load before the guide can map programmes to channels.
Local M3U fileA downloaded playlist fileSpecial cases where a player accepts files but not remote URLsIt may not refresh automatically when the service updates the playlist.
Practical recommendation

Choose Xtream login when the player supports it and those details were supplied. Choose M3U when the app only accepts playlist URLs or when broad compatibility matters. Do not manually change the provider's format simply because another method looks shorter.

Setup path A

How to set up an Xtream Codes or XC login

An Xtream Codes-compatible setup separates the account into three fields. The exact button names differ by app, but the order below is consistent across most compatible players.

  1. Open the player and choose the API-style login

    Look for Xtream Codes, XC API, login with Xtream Codes or username and password. Do not choose M3U unless the app has no Xtream option.

  2. Enter a playlist name

    This is only a label inside the app. Use a simple name such as “Live Sports IPTV” so the account is easy to identify later.

  3. Enter the server or portal URL

    Use the complete origin exactly as supplied, including http:// or https:// and any port number. Do not add /get.php, /player_api.php or the username and password unless the app specifically requests a full address.

  4. Enter the username and password separately

    Copy each value without quotation marks or spaces. Treat both as case-sensitive unless your provider states otherwise.

  5. Save and allow the first import to finish

    Large accounts can take time to organise live TV, movies, series and guide data. Keep the app open and avoid repeatedly pressing the login button.

  6. Confirm live TV, VOD and EPG separately

    Open more than one live channel, one movie or series item, and the TV guide. This confirms whether the whole account loaded or only one content section.

When Xtream login fails but M3U works

The app may not be compatible with the account API, the server field may include an incorrect path, or the service may supply M3U access without enabling the player API. Use the original provider-supplied method rather than assuming that credentials extracted from an M3U URL will always work as an XC login.

Setup path B

How to add an IPTV M3U or M3U Plus URL

An M3U setup uses one complete URL. The player downloads the playlist, reads the entries and organises them into channel groups or media categories according to the metadata the app supports.

  1. Choose Add playlist or remote playlist

    Select the option for a URL rather than a local file unless you were specifically sent a file attachment.

  2. Give the playlist a recognisable name

    The name does not affect the account. It simply helps identify the playlist inside the app.

  3. Paste the complete M3U URL

    Copy from the first character of http:// or https:// to the final parameter. Avoid spaces, line breaks, smart quotes and URL-shortening services.

  4. Select the supplied output only when the app asks

    Some provider-generated URLs end in an output such as ts or m3u8. Use the supplied option. Do not rewrite the output unless both formats are authorised and you are testing a compatibility issue.

  5. Save and wait for the playlist to download

    Do not close the app while it is importing. A large channel and VOD library may take longer on older televisions or low-storage streaming devices.

  6. Refresh before deleting a working playlist

    When categories or channels are missing, use the player's refresh or update function first. Repeatedly deleting and re-adding the playlist can also remove favourites and custom settings.

How to recognise credentials inside a provider-generated M3U URL

A commonly used URL structure looks like this fictional example:

https://example.com:8443/get.php?username=YOUR_USERNAME&password=YOUR_PASSWORD&type=m3u_plus&output=ts

The server origin appears before /get.php, while the username and password appear as query parameters. These values can sometimes be entered into a compatible Xtream login screen. However, URL structures vary and the API may not be enabled, so the original login instructions remain the safest source.

Step 3 — add the programme guide

How to set up an XMLTV EPG URL

Once the playlist or Xtream account loads, add the EPG only if the player needs a separate guide source. XMLTV describes channels and programmes in a structured format; the player then matches those entries to the channels in the playlist.

01

Open the playlist's EPG settings

Some apps keep EPG sources under the individual playlist, while others use a general TV guide or programme-guide menu.

02

Add the complete XMLTV URL

Paste the address into the EPG, XMLTV or TV guide field. Do not place it in the M3U playlist field.

03

Assign the guide to the playlist

When the app supports multiple playlists, confirm that the new EPG source is linked to the correct one.

04

Refresh and allow mapping to finish

Guide files can be large. Keep the app open until the initial download and channel matching are complete.

Why EPG data can be empty

The URL may be invalid, the app may still be downloading it, or the guide's channel IDs may not match the playlist. In extended M3U playlists, the tvg-id value is commonly used to match a channel to the corresponding XMLTV channel ID.

Why programme times can be wrong

Confirm the device date, time and time zone first. Then review the player's EPG time-shift setting. Apply a manual offset only after confirming that the source guide is consistently early or late.

When to clear the EPG cache

Clear or reset the guide cache when old listings remain after a refresh, a corrected XMLTV source is not appearing, or channel mappings have changed. Avoid clearing all app data unless ordinary EPG refresh and cache controls fail.

Kodi's official IPTV Simple documentation describes remote M3U and XMLTV sources, refresh controls, EPG time shift and matching with tvg-id. The XMLTV project documents the programme-guide format itself. Review Kodi IPTV Simple and the XMLTV format reference.

Format guide

M3U, M3U Plus and M3U8 are related, but they are not identical

Understanding the labels helps prevent a common mistake: treating a playlist or stream format as though it were a different account login.

M3U

General playlist format

A text-based playlist that points a media player to streams or media locations. IPTV players can use an M3U file or remote M3U URL to import channel entries.

M3U Plus

Extended IPTV playlist label

A commonly used label for extended M3U playlists carrying metadata such as channel names, logos, groups and EPG identifiers. It is useful for organising a large IPTV library.

M3U8 / HLS

UTF-8 extended playlist used by HLS

M3U8 is commonly associated with HTTP Live Streaming playlists and can reference media segments or multiple quality variants. It describes delivery, not a separate username-and-password login.

TS output

MPEG transport stream delivery

Some M3U accounts supply direct transport-stream output. Whether TS or HLS performs better depends on the app, device and supplied stream, so use only supported options.

The HTTP Live Streaming specification defines HLS playlists as extended M3U playlists and registers .m3u8 and .m3u file extensions. Read RFC 8216 at the RFC Editor.

Troubleshooting

Common M3U, Xtream login and EPG errors

Work from the login format outward. Confirm the exact details first, then isolate the app, device and connection instead of changing several settings at once.

Login failed

Authorization or invalid-credentials error

Re-enter the server, username and password without spaces. Confirm account status, protocol, port and whether the app expects Xtream or M3U. Also check whether the allowed number of simultaneous connections is already in use.

Playlist empty

M3U imports but shows no channels

Refresh the playlist, confirm the complete URL and allow the import to finish. Try the same authorised details in another compatible player to separate a playlist problem from an app-specific parsing issue.

Cannot connect

Server or DNS error

Check that the address includes the correct protocol and port. Test the same account on mobile data or another internet connection; a different result may indicate home-network, DNS or ISP-route differences.

VOD missing

Live TV loads but movies or series do not

The app may not organise VOD from that login method, the playlist may use a format without the expected metadata, or the account may not include those categories. Compare the supplied Xtream and M3U options when both are authorised.

Guide missing

Channels work but EPG is blank

Refresh the XMLTV source, assign it to the correct playlist and check channel-ID mapping. Confirm the guide has finished downloading before clearing the EPG cache.

Wrong schedule

EPG programmes show the wrong time

Correct the device time zone, refresh the guide and review EPG time shift. Avoid stacking several offsets because that can make some channels correct and others worse.

Slow import

The app freezes while loading a large playlist

Close unused apps, free device storage and restart the player. Older Smart TVs and low-memory sticks may handle a large channel and VOD library more slowly than a modern box or computer.

Works elsewhere

The same login works in another player or network

Success in another app points to player configuration or compatibility. Success on mobile data points toward the home Wi-Fi, router, DNS or fixed-ISP route. Use the complete IPTV troubleshooting guide to continue isolating the fault.

Credential safety

Protect M3U URLs and Xtream Codes login details like a password

A complete playlist URL can expose the server address, username and password in plain text. Xtream login screenshots can reveal the same information. Anyone who obtains those details may be able to use the account, consume a connection slot or cause the service to lock the login.

  • Do not post full M3U URLs, EPG URLs containing credentials, usernames or passwords in public forums.
  • Hide sensitive fields before sharing screenshots.
  • Avoid unknown “playlist checker,” converter and URL-shortener websites.
  • Use only reputable player apps from official stores or trusted developer sources.
  • Do not reuse the IPTV password for email, banking or other personal accounts.
  • Contact support if credentials are exposed or unexplained connection-limit errors appear.

Use access only where you are authorised

Only add playlists, accounts and media sources that you are legally permitted to access. This guide explains player configuration and does not grant rights to any channel, event, film or programme.

Continue with your device

Use this foundation guide together with the exact player instructions

Now that the login formats are clear, the next step is to open the guide for the device or app you are using. Each app places the same details in different menus, so the foundation guide explains what the fields mean while the individual setup guides show the exact clicks.

Next content phase: dedicated app guides will provide exact instructions for popular IPTV players while linking back to this page for M3U, EPG and Xtream Codes explanations.
Technical references

Playlist, EPG and streaming-format sources

The guide uses official implementation and format documentation where a standard or maintained reference is available. Player labels can vary, so always follow the fields shown by the specific app and the access method supplied for the account.

Kodi IPTV SimpleMaintained documentation for remote M3U playlists, XMLTV EPG, refresh, time shift and supported metadata.
XMLTV ProjectReference for the XMLTV programme-guide format, channels and programme metadata.
M3U, EPG and Xtream FAQ

Frequently asked IPTV setup questions

These answers cover the most common points of confusion before moving into an app-specific guide.

An M3U setup uses one playlist URL and may require a separate XMLTV EPG URL. An Xtream Codes-compatible login separates the server URL, username and password, and many compatible apps can import live TV, movies, series and guide data through that account connection.

Use the method supplied by your service and supported by your player. Xtream login is usually easier when the app supports it because the credentials are entered in separate fields. M3U remains useful for broad player compatibility and apps that accept playlist URLs but do not support an API-style login.

XC login normally means an Xtream Codes-compatible or Xtream API login. The player usually asks for a server or portal URL, username and password. It is not the same as pasting the full M3U playlist URL into a playlist field.

Not always. Many Xtream-compatible apps retrieve guide information through the account connection automatically. Add a separate XMLTV or EPG URL only when the player requests it, the automatic guide is unavailable, or your service supplied a separate guide address.

The XMLTV URL may be incorrect, the guide may still be downloading, or the channel identifiers may not match. Refresh the playlist and guide, clear the EPG cache, confirm the device time zone and check whether the M3U tvg-id values match the XMLTV channel IDs.

Often, a provider-generated M3U URL containing get.php, username and password parameters reveals the server address and account credentials. However, this does not guarantee that the service has enabled the compatible player API, so use the provider-supplied login method whenever possible.

M3U is a general playlist format. M3U Plus is a common IPTV label for an extended M3U playlist containing metadata such as channel names, groups, logos and EPG identifiers. M3U8 is a UTF-8 extended M3U format commonly used by HTTP Live Streaming playlists; it is a stream or playlist format rather than a separate account-login method.

No. Complete playlist URLs and Xtream credentials can contain the username, password and server address needed to access the account. Store them privately, avoid screenshots that expose them, and send them only through a trusted support channel when necessary.

Test your real setup

Confirm the login method, player and internet connection during the 48-hour trial.

Use the trial to test live playback, VOD, programme-guide data and device compatibility before choosing a paid package.

Request Free Trial