The IPTV program guide (EPG) explained
Updated October 11, 2026 · 3 min read
A channel list tells you what you can watch. An EPG — Electronic Program Guide — tells you what is on right now and what is coming next. When the guide is empty or wrong, the cause is almost always in how the playlist and the guide data are connected. This guide explains that connection so you can fix it.
What an EPG actually is
An EPG is a separate data file, usually in a format called XMLTV. It lists programmes for each channel: title, description, start time and end time. A player downloads that file, matches each channel to its schedule, and draws the guide you scroll through.
How channels get matched to guide data
Matching relies on an identifier. In an M3U playlist, each channel carries a tvg-id; in the XMLTV file, each channel has an id. When the two are identical, the player knows which schedule belongs to which channel. If they differ even slightly (BBC.One vs bbc-one), that channel has no guide.
Where the player finds the guide file depends on your source:
- M3U playlists can include the guide's address in the first line, using an
x-tvg-url(or olderurl-tvg) attribute. If that attribute is missing, there is nothing for the player to download. - Xtream Codes logins deliver guide data through the provider's API, so no separate address is needed.
Using the guide in OnTiv
When your playlist provides guide data, OnTiv shows a guide button (the calendar icon) in the header. It opens a full program guide you can search and scroll. OnTiv stores the downloaded guide in your browser's local storage so it does not have to fetch a large file every time you open the page. With Premium, catch-up lets you jump back to programmes that have already aired, where your provider supports it.
Why the guide is empty or wrong
The playlist has no guide address
Open the playlist in a text editor and look at the first line. If there is no x-tvg-url or url-tvg, ask your provider for the guide link, or check whether they offer an Xtream Codes login for the same account.
The identifiers do not match
Some channels in a playlist have an empty or custom tvg-id. Those channels will show "no information" even though the guide loaded fine for the others. Only the playlist's author can fix this.
The guide file is out of date
Guide files need regular refreshing. If a provider stops updating theirs, schedules run out and channels go blank one by one. Reload your playlist and check again later.
Times are shifted by a few hours
XMLTV timestamps include a time-zone offset, so a correct file displays correctly everywhere. If every programme is off by the same number of hours, check that your device's date, time and time zone are set correctly and that automatic time-zone detection is on. If only one channel is off, the problem is in that channel's data.
It is simply slow the first time
Guide files for large playlists can be tens of megabytes. The first load can take a moment; later visits use the copy stored in your browser.
A quick checklist
- Does the playlist's first line contain a guide address? If not, that is your answer.
- Do the few channels that work have a
tvg-id? Do the empty ones? - Is your device clock and time zone correct?
- Does the same playlist show a guide in another player? If it does not, the data is the problem rather than the player.
Still stuck? Contact us with your platform and which of the steps above you tried. Please never include your credentials in a message.