EPG Not Loading or Showing the Wrong Times? Fix Your IPTV Guide

· Troubleshooting · 5 min read

The guide fails differently from video, and the failures look alike from the outside. A blank grid could be four unrelated problems. This sorts them.

How the guide actually works

Worth thirty seconds, because it explains every failure below.

Programme data does not travel with the video. It arrives as a separate file in XMLTV format, listing every channel and every programme with start and end times. Two things then have to happen:

The player matches guide channels to your channels. Each entry in your playlist carries a tvg-id, and each channel in the XMLTV file carries an id. The player pairs them by exact string match. If your playlist says skysportsmain.uk and the guide says Sky.Sports.Main.Event.uk, there is no match, and that channel shows an empty guide while its neighbours look fine.

The player converts the times. XMLTV stores times in UTC with an offset. The player converts to your local time using the device's timezone. Get that wrong and every programme is uniformly shifted.

Nearly every guide problem is one of those two steps, plus "no source configured" and "the file is too big".

Start here

Is any guide source configured at all? With Xtream Codes it usually arrives automatically. With M3U it usually does not — the guide is a separate file and you supply the URL. If you set up with M3U and never entered an XMLTV address, that is your answer, and the setup walkthrough covers where it goes.

Do some channels have a guide? This single question splits the problem in half. If some do, the source is loading fine and you have a matching problem. If none do, the source itself failed.

No channels have a guide

Give it longer than you think. A seven-day guide across thousands of channels is tens of megabytes compressed. Several minutes on a streaming stick is normal on first load. Ten minutes with nothing is a failure.

Check the URL. Open it in a browser. You should get XML, or a download of a .xml.gz file. A 404, a login page, or an HTML error page means the address is wrong or the account is not entitled to it.

Check whether your provider actually supplies one. Not all do, and some supply one covering a fraction of their channels. If theirs is absent or thin, most players accept a custom XMLTV URL — with the caveat below.

Force a refresh. Players cache the guide aggressively, which is correct behaviour and unhelpful when you are testing. Find the refresh or update option rather than waiting for the scheduled fetch.

Check storage. A guide needs somewhere to go. On a device with a nearly full 8 GB of storage, the download silently fails. Clearing the app cache frequently resolves a guide that stopped updating weeks ago.

Some channels have a guide, others do not

This is tvg-id matching, and it is the most common guide problem there is.

The player cannot invent a match. If the identifiers differ by a character, the channel gets nothing, and there is no error — just a blank row beside populated ones.

What you can do. Most capable players offer manual channel-to-guide mapping. It is tedious, and for the twenty channels you actually watch it is twenty minutes once. Do the favourites, ignore the rest.

Why a third-party guide often makes this worse. A public XMLTV source uses its own identifiers, which will not match your provider's playlist. You gain better data and lose the automatic matching. Sometimes worth it; rarely free.

When to ask the provider. If most of their channels have no matching guide data, that is a defect in what they are supplying, and it is reasonable to say so.

Every programme is shifted by a fixed number of hours

This one is satisfying, because it is always fixable and always the same small set of causes.

Check the device's timezone first. Settings, date and time. The player converts from UTC using this value, so if the device thinks it is somewhere else, every programme is wrong by the difference. Automatic network time is the right setting.

Then set the player's EPG offset to zero. Players expose an offset for cases where a provider timestamps incorrectly. A non-zero value left over from an earlier attempt is a very common cause of the problem it was meant to solve. Set it to zero, refresh, and look again.

Only then apply an offset. If the guide is still wrong by a consistent amount with the device timezone correct and the offset at zero, your provider is timestamping incorrectly. Set the offset to the difference you observe — guide three hours ahead means an offset of minus three — and refresh.

If the shift is not a whole number of hours, the file is malformed rather than offset. Some regions use thirty- and forty-five-minute offsets legitimately, so check yours before assuming.

If the shift appeared overnight in spring or autumn, it is daylight saving. Some providers apply it correctly and some do not. Where the provider does not, you will be adjusting the offset twice a year, which is irritating and is genuinely their fault.

The guide loads but is wrong in other ways

Programmes end up on the wrong channels. Mismatched identifiers again, but matching to the wrong entry rather than to nothing — usually two channels with similar names.

Only a day or two is shown. That is what the provider supplied. Players cannot generate what they were not given. The guide is also how catch-up is navigated, so a broken guide makes a working archive look absent.

It goes stale after a few days. The scheduled refresh is failing while the initial fetch worked. Storage is the usual reason; the refresh interval setting is the other.

Descriptions are missing but titles are there. Sparse source data. Nothing to fix locally.

What we do in Xtiva

Xtiva refreshes the guide in the background rather than on launch, so a large fetch does not sit between you and your channels, and exposes both the timezone offset and a custom XMLTV URL because provider data is inconsistent often enough that you need the manual controls. Automatic guide updates are part of the Pro upgrade.

Xtiva ships with no channels, playlists or streams of any kind. You supply your own provider — including its guide — and are responsible for the legality of the service you connect to.

Related: buffering and stutter, Xtream Codes versus M3U — which changes how the guide arrives — and what an IPTV player is.

Common questions

Why is my IPTV guide blank?

Either no guide source is configured, or one is configured and its channel identifiers do not match your playlist's. The second is far more common and looks identical from the outside. If some channels show a guide and others do not, matching is the cause.

How do I fix an EPG that shows the wrong times?

Check the device's own timezone first, since the player converts from UTC using it. If that is right, set the player's EPG time offset to zero — a non-zero offset left from an earlier attempt is a frequent cause. Only if it is still wrong should you apply an offset equal to the difference you observe.

How long should the EPG take to load?

A seven-day guide across several thousand channels is a large compressed file. Several minutes on a streaming stick is normal on first load. If it has not appeared after ten, something has failed rather than being slow.

Can I use my own EPG source instead of my provider's?

Most players allow a custom XMLTV URL, and it is often a real improvement. The catch is that a third-party guide uses its own channel identifiers, which will not match your playlist unless you map them by hand.