
Adding an EPG to your IPTV setup means linking an external program guide so each channel shows what’s playing now and what’s coming up next, much like an old cable box. The setup itself is straightforward: you load an XMLTV file or URL into your player’s EPG section, and the app matches that data to your channels using identifiers in your M3U playlist. Below, you’ll find what you need to get started, where to source a working guide, exact steps for the main IPTV apps, and how to sort out the issues that tend to crop up.
What You Need Before Adding an EPG
An EPG (Electronic Program Guide) is the on-screen schedule listing current and upcoming shows for each channel. IPTV apps pull this from a file in XMLTV format, usually a .xml link or its compressed .xml.gz version.
A few things to have ready:
- A working IPTV app on your phone, TV box, Firestick, or smart TV.
- Your M3U playlist already loaded.
- A valid EPG link or file in XMLTV format.
- M3U entries that include tvg-id tags, since those tags are how channels get matched to guide entries.
If your playlist has no tvg-id values, the app won’t know which schedule belongs to which channel, no matter how clean the EPG file is.
How to Find a Reliable EPG Source URL
Most IPTV subscriptions come with a built-in EPG link supplied by the provider. Look through your welcome email, the customer dashboard, or just ask support for the “XMLTV URL.” This is almost always your best bet because it’s already aligned with the channel lineup you’re paying for.
If nothing’s provided, you’ve got a few fallback options:
- Public XMLTV aggregators that maintain free guides for specific countries or regions.
- Open-source EPG generators that scrape schedule data from public TV listing sites.
- Country-specific guide files shared in IPTV community forums and GitHub repositories.
A working EPG link generally looks something like http://example.com/xmltv.php?username=xxx&password=xxx or ends in .xml or .xml.gz. The .xml.gz version is compressed, so it loads quicker and is gentler on older devices.
One thing worth flagging: don’t load a worldwide EPG if you only watch a few countries. Smaller regional files load faster and put far less strain on your hardware.
How to Add an EPG to Your IPTV Player
The exact menus differ from app to app, so here’s how it works in the most common ones.
Adding EPG in IPTV Smarters Pro
- Open IPTV Smarters Pro and head to the main menu.
- Tap Settings, then EPG.
- Hit Add EPG.
- Paste your XMLTV URL into the field and label it something memorable.
- Save and go back to the home screen.
- Wait while the guide downloads, there’s usually a small progress bar.
If nothing shows up after a minute, restart the app. That alone solves it more often than you’d expect.
Adding EPG in TiviMate
- Launch TiviMate and open Settings.
- Go to Playlists and pick your active one.
- Scroll to EPG and tap Add EPG source.
- Paste in the XMLTV URL.
- Set the auto-update interval, 12 or 24 hours works well for most people.
- Press OK to save.
TiviMate has a nice advantage here: it accepts multiple EPG sources and merges them automatically, which helps if you mix channels from different regions.
Adding EPG in GSE Smart IPTV
- Open GSE Smart IPTV and tap the side menu.
- Pick Xtream Codes API or Remote Playlists, depending on how your channels are loaded.
- Open the EPG section.
- Tap Add URL and paste your link.
- Save and reload the playlist.
GSE will sync the data and slot the schedule into the channel list.
Adding EPG in Perfect Player
- Open Perfect Player and go into Settings.
- Select General, then EPG source 1 (use source 2 if you want a backup).
- Tap URL and paste your XMLTV link.
- Choose the file type, usually XMLTV.
- Set the update interval and save.
Restart the app once so the new guide loads cleanly the first time.
Adding EPG in Kodi (PVR IPTV Simple Client)
- Open Kodi, then go to Add-ons > My Add-ons.
- Find PVR IPTV Simple Client and pick Configure.
- Open the EPG Settings tab.
- Set the EPG source to Remote Path (Internet address).
- Paste your XMLTV link into the XMLTV URL field.
- Save and enable the add-on.
Restart Kodi to let the guide populate. The first load can take a few minutes if the file is large, so don’t panic if the guide looks empty at first.
Adding EPG in VLC, XCIPTV, and Other Players
VLC doesn’t really have a dedicated EPG interface. It only shows guide data if it’s baked into the M3U file using the url-tvg parameter at the top of the playlist.
For XCIPTV and other lighter players:
- Open the app’s settings.
- Find the EPG or TV Guide entry.
- Paste your XMLTV URL.
- Save and reload the playlist.
Players that don’t expose an EPG setting at all usually rely entirely on what’s declared inside the M3U itself.
How to Match EPG Data with Your Channels (tvg-id Mapping)
You can have a perfectly valid EPG loaded and still see channels stuck on “No Information.” When that happens, it’s almost always because the channel’s tvg-id in your M3U doesn’t match any entry inside the XMLTV file.
A properly formatted M3U entry looks like this:
#EXTM3U url-tvg=”http://example.com/epg.xml.gz”
#EXTINF:-1 tvg-id=”bbcone.uk” tvg-name=”BBC One” tvg-logo=”logo.png” group-title=”UK”, BBC One
http://yourserver.com/stream/bbcone
The tvg-id has to match the channel id used inside the XMLTV file exactly. Even a small typo or a missing region suffix will break the link.
To clean up mismatches:
- Open the XMLTV file in a browser and search for the channel name to find its real ID.
- Edit your M3U file and swap in the correct tvg-id.
- In apps like TiviMate, you can map channels to EPG entries manually from inside the app, no M3U editing required.
When the provider builds both the M3U and the EPG, the IDs are normally already aligned. Issues mostly show up when you start mixing sources from different places.
Common EPG Problems and How to Fix Them
EPG headaches usually trace back to one of a few causes. Here’s how to handle the ones that come up most often:
- Nothing loads at all: Paste the URL into a browser. If it downloads or displays the file, the link is fine. If it errors out, the source is probably offline.
- Programs are off by several hours: That’s a time zone mismatch. Check your device’s time zone, and look for a “Time shift” or “EPG offset” setting inside your app.
- Some channels have data, others don’t: That’s a tvg-id problem. Remap them inside the app or fix the M3U.
- Old programs still showing: The app is reading a cached copy. Clear the EPG cache or force a manual refresh.
- Slow loading or freezing: The XMLTV file is probably massive. Switch to the .gz version or grab a region-specific guide instead of a global one.
Walk through these in order before blaming the EPG source itself, more often than not, the fix is local.
Keeping Your EPG Updated and Reliable
Most IPTV apps let you pick an auto-refresh interval, normally 6, 12, or 24 hours. Twelve hours hits the sweet spot for most people: data stays current without hammering your device or the EPG server.
A few small habits that keep things running smoothly:
- Go with the .xml.gz version of an EPG link whenever it’s offered.
- Add a backup EPG source if your app supports it, TiviMate and Perfect Player both do.
- Set your device time zone correctly so program times line up properly.
- Re-download your M3U playlist every now and then, since providers occasionally tweak their tvg-id values.
A well-configured EPG should mostly take care of itself and refresh quietly in the background.
Final Thoughts
Getting an EPG working really comes down to three things: a valid XMLTV link, a player that supports it, and matching tvg-id values between your playlist and the guide. Once those three line up, the on-screen schedule fills in on its own, and the whole IPTV setup starts to feel a lot closer to a proper TV service. When something doesn’t show right, the fix is almost always in the source link, the app’s cache, or the channel ID mapping, rarely anything more dramatic than that.
FAQs
What is the difference between M3U and EPG?
An M3U is a playlist file holding your channel list and stream links, while an EPG is a separate XMLTV file holding program schedules. The M3U plays the channel, and the EPG tells you what’s airing on it.
Why is my EPG showing the wrong programs or wrong times?
The usual culprit is a time zone mismatch between your device and the EPG source. Adjust your device’s time zone or use the “EPG time shift” option inside your IPTV app to correct the offset.
Can I use one EPG source for multiple IPTV playlists?
Yes, as long as the tvg-id values across your playlists match the channel IDs inside that single EPG file. Apps like TiviMate and Perfect Player can load several playlists against one shared guide source.
Is there a free EPG source for IPTV?
Yes, several public XMLTV aggregators and open-source EPG generators offer free guides for major regions and countries. Coverage isn’t always as complete as a provider-supplied EPG, especially for niche channels.
How often does an EPG update automatically?
Most IPTV apps refresh the guide every 12 to 24 hours by default. You can change the interval in the app’s EPG settings or trigger a manual refresh whenever you want fresher data.
What do I do if my IPTV provider doesn’t give me an EPG URL?
Use a public XMLTV source that covers your region and align the tvg-id values in your M3U playlist to match its channel IDs. Apps like TiviMate also let you map channels to guide entries manually from inside the app.
