EPG Explained: How IPTV Program Guides Work (and How to Fix Them)
The EPG — Electronic Program Guide — is the grid that tells you what’s on: titles, times, descriptions, and what’s coming next. It’s also the part of an IPTV setup most likely to be broken, because it travels separately from the channels themselves.
How guide data actually works
Your M3U playlist carries the channels; the EPG arrives as a second feed, almost always in XMLTV format — an XML file listing programmes per channel:
<programme start="20260721190000 +0000" stop="20260721210000 +0000" channel="espn.us">
<title>Monday Night Baseball</title>
<desc>Phillies vs Dodgers, live from Citizens Bank Park.</desc>
</programme>
The app stitches the two feeds together by ID: the playlist entry with tvg-id="espn.us" gets matched to programmes tagged channel="espn.us". That matching step is where guides break. If the playlist calls a channel ESPN.US and the guide calls it espn.us, the channel plays fine but shows an empty guide — the streams and the schedule simply never got introduced.
The three classic EPG problems, fixed
1. Empty guide everywhere. The app has no EPG source. Get the XMLTV URL from your provider (with Xtream Codes logins the app usually finds it automatically), add it under EPG settings, and force a refresh — first downloads can take minutes for big lineups.
2. Times shifted by hours. Guide data ships in UTC; your app is rendering it raw. Set the EPG time offset to your timezone in the player settings — one setting fixes every channel at once.
3. Some channels blank, others fine. ID mismatch between playlist and guide. Good players let you remap a channel’s EPG source manually — pick the channel, choose the matching guide entry once, done.
Catch-up depends on the EPG
Providers that offer catch-up (replaying the last days of a channel’s schedule) build it on guide data — the EPG entry is what tells the app which two hours to fetch. Broken EPG usually means broken catch-up too, which is why it’s worth fixing rather than living without.
Choosing guide sources
Provider EPGs vary from excellent to abandoned. If yours is chronically wrong, third-party XMLTV services cover thousands of channels — often better maintained than the provider’s own. Whatever the source, refresh cadence matters more than anything: a guide is only as good as its last update, so set the app to auto-refresh daily. For the device-side settings per app, see our device guides.
Frequently Asked Questions
Why is my EPG empty or showing 'No information'?
Either the app hasn't been given an EPG source URL, the source hasn't been refreshed, or the playlist's channel IDs don't match the guide data's IDs. Set the EPG URL from your provider, force a guide refresh in the app, and if single channels stay blank it's an ID-mapping gap.
Why are all my EPG times wrong by a few hours?
Timezone offset. Guide data is usually published in GMT/UTC; if your app's EPG time-shift setting doesn't match your local timezone, every program is shifted by that difference. Set the offset (e.g. -5 for US Eastern) in the player's EPG settings.
Can I use a different EPG source than my provider's?
Yes — most players accept any XMLTV URL, and third-party EPG services cover thousands of channels. Guide data itself is factual scheduling information; just expect to do some channel-ID mapping when mixing sources.
This is an independent editorial site. We do not host, sell, or distribute any streams or subscriptions. Always verify that a service is properly licensed in your country. Some links may earn us a commission at no cost to you.