What you need
Ask your provider for the original M3U or M3U8 playlist URL. It must be reachable over HTTP or HTTPS and should return playlist text containing entries such as #EXTM3U or #EXTINF. A web page that happens to end in .m3u is not enough.
- M3U Playlist URL
- Required. The complete HTTP or HTTPS address supplied by the provider.
- EPG / XMLTV URL
- Optional. A separate guide-data address. Leave it blank when the playlist already declares a working
url-tvgvalue.
Add the playlist
- Open ChannelSurf. On a fresh installation, choose Set up ChannelSurf. Otherwise use Add profile from the profile screen.
- Create or name the local profile that will use this lineup.
- On Connect provider, select M3U URL.
- Paste the complete address into M3U Playlist URL.
- If the provider supplied a separate guide address, paste it into EPG / XMLTV URL (optional).
- Continue and save. ChannelSurf verifies that the address returns an actual playlist, parses it away from the interface, and opens the live lineup while larger libraries finish loading.
Do not paste an M3U address into the Xtream server field. Even when an M3U URL contains username= and password=, it is still a playlist connection unless the provider separately issued Xtream API details.
How ChannelSurf organizes an M3U library
ChannelSurf reads standard playlist metadata such as group names, logos, channel names, TV guide identifiers and catch-up attributes. It classifies entries into live TV, movies and episodic series where the supplied names and metadata make that possible. Episode names containing patterns such as season and episode numbers help the app group a series correctly.
Playlist quality varies. Missing groups, inconsistent names or reused IDs can make a valid playlist look less organized than an Xtream library. ChannelSurf cleans up common cases, but it does not invent metadata that is absent from the source.
Add a program guide
ChannelSurf first uses the XMLTV URL you enter for the profile. If that field is empty, it can use the first guide URL declared by the playlist’s url-tvg header. Guide entries match best when an M3U channel’s tvg-id equals the XMLTV channel ID. Channel and display names can help with fallback matching.
If channels play but the guide is empty, the playlist itself is usually fine. Work through the separate XMLTV EPG troubleshooting guide.
Troubleshoot an M3U connection
“That URL did not return an M3U playlist”
Open the provider’s official account page and copy the link again. Login pages, shortened links, HTML error pages and expired download tokens will not contain M3U entries. Avoid testing the secret URL in an online validator.
The playlist works on desktop but not a self-contained TV app
The playlist server may block cross-origin browser requests even though a native or desktop client can reach it. Try the ChannelSurf desktop app first. For supported home-following modes, the desktop can also act as the host for another screen.
The login suddenly stopped working
Check whether the provider changed the playlist token, password, hostname, port or allowed connection count. If every channel fails at once, refresh the original URL rather than editing its embedded parameters by hand.
Some entries play and others do not
That usually points to individual offline streams, device codec support, or a provider-side format difference—not the playlist parser. Compare one working and one failing channel without sharing either private stream URL.
Next steps
Once the library is loaded, favorite a few channels, inspect the guide, and try a movie or episode if the playlist includes them. If your provider also offers a server, username and password, compare its intended Xtream connection with the Xtream Codes setup guide; structured APIs often carry richer library metadata.