IPTV EPG Explained: How the TV Guide Works
An EPG (electronic programme guide) is the on-screen TV guide in an IPTV player. It shows what is on each channel now and later. The guide data is usually a separate XMLTV file that your player downloads from an EPG URL and matches to channels by ID. When those IDs or your time zone do not line up, listings go missing or appear at the wrong time.
At a glance
| EPG stands for | Electronic programme guide (US spelling: electronic program guide) |
|---|---|
| Usual data format | XMLTV (an XML file of programmes) |
| How it loads | Automatically with Xtream Codes logins; via an EPG URL with M3U |
| How channels match | By the channel's tvg-id / EPG ID |
| Most common fault | Programme times shifted by a time-zone mismatch |

What the EPG does
The EPG turns a list of channels into something that feels like traditional TV: a grid of programmes by time, with titles, descriptions and start times. It is what lets you see that a match starts at 8pm, or scroll ahead to plan your evening.
How prominent it is depends on your player. Guide-focused apps such as TiviMate are built around a full programme grid, while simpler apps like IPTV Smarters show a now-and-next line under each channel with an optional full guide view.
Where EPG data comes from
Guide data is published separately from the video streams, most often as an XMLTV file: a structured list of programmes, each tagged with a channel ID, start and end time, title and description. A simplified entry looks like this:
<programme channel="news.example" start="20260926200000 +0000" stop="20260926210000 +0000">
<title>Evening News</title>
<desc>National and international headlines.</desc>
</programme>Your player gets this data in one of two ways:
- Automatically through Xtream Codes — the login includes a guide address, so most players load it without any extra step.
- Manually with an EPG URL — when you use an M3U playlist, you may need to paste a separate XMLTV link into the player's EPG settings. Some playlists include it in their header line (as
url-tvgorx-tvg-url), which many players read automatically.
How channels are matched to listings
Each channel in your playlist carries an ID — the tvg-id attribute in M3U, or an EPG channel ID in Xtream Codes. The player looks for programmes in the guide file with the same ID. If a channel has no ID, or the ID does not exist in the guide file, that channel shows “No information”.
This is normal for some channels, particularly event-only or temporary channels that have no fixed schedule. For a major channel that should have listings, it usually means the guide source and the playlist use different IDs.
Why programme times are wrong (and how time zones work)
XMLTV times include an offset from UTC (the +0000 in the example above). Your player converts them to local time using your device's time zone. So if listings are shifted by exactly one or more hours, check in this order:
- The device's own date, time and time zone settings (and daylight-saving setting).
- The player's EPG time offset or “time shift” option — adjust it by the number of hours the guide is out.
- Force an EPG refresh so the corrected times are recalculated.
On MAG boxes the time zone is set in the box's system settings, and on smart TVs in the TV's general settings rather than inside the app.
Common EPG problems and fixes
| Problem | Likely cause | Fix |
|---|---|---|
| Guide empty for all channels | Guide not downloaded yet, or wrong EPG URL | Force an EPG update and wait a few minutes; re-check the URL |
| Listings shifted by an hour or more | Time-zone or daylight-saving mismatch | Correct the device time zone, then adjust the EPG offset |
| Some channels have no listings | No matching channel ID | Normal for some channels; report major channels to your provider |
| Guide stops after a day or two | Old cached data, refresh disabled | Enable automatic EPG refresh on start-up |
| Guide loads very slowly | Very large guide file on a low-memory device | Hide unused channel groups; keep fewer days of guide data |
| Wrong programmes on a channel | Channel mapped to the wrong guide ID | Re-map the channel in the player (if supported) or report it |
Where to find EPG settings in popular players
- TiviMate: Settings → EPG — set the update interval and how many days to keep; Settings → Playlists shows the guide source.
- IPTV Smarters: the home screen or settings has an Install EPG / refresh option, plus a time format and EPG time-shift setting.
- IBO Player: the guide is linked to the playlist you added on the developer's website; reload the playlist after changes.
Menu names differ between app versions and platforms.
EPG and catch-up
Catch-up (watching recently aired programmes) is usually reached through the guide: you scroll back in time and select a past programme. That only works when the channel offers catch-up, the guide times are correct, and your player supports it. If catch-up plays the wrong programme, fix the time-zone offset first — the player uses guide times to request the right segment.
Tips for a faster, cleaner guide
- Hide channel groups you never watch — fewer channels means a smaller guide to process.
- Keep only a few days of guide data on low-memory devices such as older Firesticks.
- Refresh the guide after renewing or when your provider updates your line.
Sphere IPTV includes programme guide data for supported channels with its Xtream Codes logins. See Sphere IPTV features or the installation hub for setup.
Frequently asked questions
What does EPG mean in IPTV?
EPG means electronic programme guide: the TV guide inside your IPTV player that lists what is on each channel now and later.
What format is IPTV EPG data?
Most IPTV guides use XMLTV, an XML-based format listing programmes with channel IDs and start and end times.
What is an EPG URL?
An EPG URL is the web address of an XMLTV guide file. You paste it into your player's EPG settings when your playlist does not load the guide automatically.
Why does my IPTV guide say no information?
Either the guide has not downloaded yet, or that channel's ID does not match any channel in the guide file. Refresh the EPG first; if only some channels are affected, it is usually an ID mismatch.