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.
Last updated:
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.
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.
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_passwordMany compatible apps use the same connection to load live channels, movies, series and guide data.
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=tsThe playlist contains the channel and media entries that the player imports.
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.xmlIt 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.
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.
| Method | What you enter | Best suited to | Points to remember |
|---|---|---|---|
| Xtream Codes / XC login | Server URL, username and password | Compatible apps that organise live TV, VOD, series and EPG in one account connection | Usually simpler to type and update, but the app and service must support the compatible API. |
| M3U or M3U Plus | One complete playlist URL | Broad compatibility across players that accept remote playlists | May need a separate EPG URL. A long address is more vulnerable to copying errors. |
| M3U + XMLTV EPG | Playlist URL first, guide URL second | Players with separate playlist and programme-guide settings | The playlist must load before the guide can map programmes to channels. |
| Local M3U file | A downloaded playlist file | Special cases where a player accepts files but not remote URLs | It may not refresh automatically when the service updates the playlist. |
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.
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.
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.
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.
Enter the server or portal URL
Use the complete origin exactly as supplied, including
http://orhttps://and any port number. Do not add/get.php,/player_api.phpor the username and password unless the app specifically requests a full address.Enter the username and password separately
Copy each value without quotation marks or spaces. Treat both as case-sensitive unless your provider states otherwise.
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.
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.
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.
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.
Give the playlist a recognisable name
The name does not affect the account. It simply helps identify the playlist inside the app.
Paste the complete M3U URL
Copy from the first character of
http://orhttps://to the final parameter. Avoid spaces, line breaks, smart quotes and URL-shortening services.Select the supplied output only when the app asks
Some provider-generated URLs end in an output such as
tsorm3u8. Use the supplied option. Do not rewrite the output unless both formats are authorised and you are testing a compatibility issue.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.
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=tsThe 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.
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.
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.
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.
Assign the guide to the playlist
When the app supports multiple playlists, confirm that the new EPG source is linked to the correct one.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
