Setup & Troubleshooting

IPTV EPG explained: how the electronic program guide works, and how to fix it

By Henry Hopkins · Reviewed by IPTV Americans Editorial Team · Published · · 27 min read

TL;DR

An IPTV EPG is the on-screen TV guide. It arrives as a separate XMLTV data feed that your player matches to your channel list by channel ID. That is why the guide can be blank while every channel still plays.

What is an IPTV EPG?

An IPTV EPG — short for electronic program guide — is the on-screen schedule that shows what is playing on each channel right now, what is on next, and what is scheduled for the days ahead. It is the grid you scroll through in TiviMate, IPTV Smarters Pro, or a set-top box, and it is what makes catch-up, recording, and reminders possible at all.

The single most useful thing to understand about an IPTV electronic program guide is this: the guide is a completely separate feed from the video. Your channels arrive as one thing — a playlist of stream URLs. The schedule arrives as another — a data file full of programme titles, start times, and descriptions. The two are stitched together inside your player, on your device, after both have been downloaded.

That separation explains the situation almost everyone hits eventually: every channel plays perfectly, and the guide is completely empty. Nothing is down. One of the two feeds simply did not arrive, or arrived and could not be matched to the other. Our IPTV glossary entry for EPG covers the short definition; this IPTV EPG guide covers the mechanism.

The channel list and the guide are two different files

Two files, two URLs, two download jobs, two things that can fail independently. Keep that model in your head and most EPG IPTV problems become obvious rather than mysterious.

Where the guide sits in the rest of the stack

It helps to picture the whole chain at once, because the pieces fail in different places for different reasons:

  1. Origin and edge servers carry the actual video. When these have a bad night you get buffering or a dead channel — never a blank guide.
  2. The playlist is a list of channels and stream URLs, refreshed when you log in or when the player re-syncs.
  3. The guide file is a schedule, regenerated on the provider's own timetable and served from what is often a different hostname or port than the video.
  4. Your player downloads both, matches them, caches the result, and draws the grid.

That third point matters more than it sounds. Because the guide frequently lives on a different host or port from the streams, a network that blocks or mangles one will happily pass the other. It is the reason a VPN, a DNS filter, or a restrictive router can leave you with flawless video and an empty schedule — a combination that looks like a broken subscription and is nothing of the kind.

How an IPTV EPG works, stage by stage

Stage 1 — Schedule data is gathered at the source

Broadcasters publish their own schedules. Guide data for a large international lineup is assembled from those published schedules, per country and per network, and normalised into one consistent format. This is where the quality of a guide is actually determined: a channel whose schedule is not being collected at this stage cannot have a guide anywhere downstream, no matter what you change in your player.

It is also where the differences between services come from. Two providers can carry the identical channel and ship visibly different guides for it — one with episode titles, descriptions, and poster art, the other with a bare programme name — because they are drawing on different upstream schedule sources.

Stage 2 — The schedules are compiled into an XMLTV file

XMLTV is the de-facto standard format for TV listings. It is plain XML with two kinds of element: one declaring each channel, and one for each programme on it.

<channel id="espn.us">
  <display-name>ESPN</display-name>
</channel>

<programme start="20260910200000 -0400"
           stop="20260910230000 -0400"
           channel="espn.us">
  <title lang="en">NFL Regular Season</title>
  <desc lang="en">Live coverage.</desc>
</programme>

Two details from that snippet matter later. First, the timestamps are absolute and carry a UTC offset (-0400 here) — the guide always knows what time a programme starts, so time problems are display problems. Second, the channel attribute on the programme has to match the id on the channel element. That identifier is the hinge the whole system turns on.

Stage 3 — Your player downloads the guide

The player fetches the guide from an EPG URL. On an Xtream Codes setup it is usually derived automatically from the login you already entered, and looks something like this:

http://your-provider-host:port/xmltv.php?username=USERNAME&password=PASSWORD

On a plain M3U setup you paste the XMLTV URL manually, often as a compressed .xml.gz file. Either way this is a normal HTTP download of a file that can be several megabytes for a large lineup, which is why a guide refresh is not instant and why judging it three seconds after pressing refresh is the most common self-inflicted "IPTV EPG not working" report we see.

Stage 4 — The player matches guide rows to your channels

Your M3U playlist carries a tvg-id attribute on each channel:

#EXTINF:-1 tvg-id="espn.us" tvg-name="ESPN" group-title="US Sports",ESPN
http://your-provider-host/live/USERNAME/PASSWORD/12345.m3u8

The player looks for an XMLTV channel whose id equals that tvg-id. espn.us matches espn.us, so ESPN gets its schedule. If the playlist says espn.us and the guide says ESPN.us or espn.usa, there is no match and that one channel shows "No Information" while every channel around it looks fine. This is the entire explanation for the IPTV EPG missing on some channels but not others pattern.

Stage 5 — The guide is cached and refreshed on a timer

Downloading a multi-megabyte guide on every channel change would be unusable, so players store a local copy and refresh it on their own schedule — typically once or twice a day, plus whenever you force it. The cache is a performance feature that occasionally becomes a bug: if a partial or corrupt download is written to it, the player keeps serving that broken copy and reports success. That is why "clear the EPG cache" is a real fix and not superstition.

Inside an XMLTV file: the fields that actually matter

You will rarely need to open a guide file by hand, but knowing what is in one explains most of the differences between a guide that feels complete and a guide that feels thin. Here is a fuller example than the stripped-down snippet above.

The header tells you how fresh the guide is

<tv date="20260910040000 +0000"
    source-info-name="Provider Guide"
    generator-info-name="xmltv-generator">

The date attribute on the root element records when the file was generated at source. This is a genuinely useful number, and it is different from the "last updated" timestamp your player shows, which records when your device last downloaded a copy. If your player says it refreshed an hour ago but the file itself was generated two days ago, the staleness is upstream and no amount of refreshing will help.

The channel block

<channel id="espn.us">
  <display-name>ESPN</display-name>
  <display-name lang="en">ESPN USA</display-name>
  <icon src="https://example.com/logos/espn.png" />
</channel>

A channel can carry more than one display-name. That is not decoration — several players fall back to matching your playlist's tvg-name against these display names when the tvg-id does not match anything, so a guide with generous alternate names produces fewer blank channels. The icon element is where channel logos come from when your playlist has no tvg-logo of its own.

The programme block, in full

<programme start="20260910200000 -0400"
           stop="20260910230000 -0400"
           channel="espn.us">
  <title lang="en">Monday Night Football</title>
  <sub-title lang="en">Week 1 &#8212; opening night</sub-title>
  <desc lang="en">Live coverage of the opening fixture.</desc>
  <category lang="en">Sports</category>
  <episode-num system="xmltv_ns">0.2.0/1</episode-num>
  <icon src="https://example.com/art/mnf.jpg" />
  <new />
</programme>

Every one of those optional children drives something you can see on screen. category feeds genre filters and the colour coding some players apply to the grid. icon is where programme poster art comes from. new and its siblings produce the "New" badges. sub-title is the episode-title line under the programme name. When someone says a guide "works but looks empty", what they almost always mean is that it carries titles and times and none of these extras.

Episode numbering, and why series link depends on it

The episode-num element is worth understanding because it is unintuitive. The xmltv_ns system encodes season.episode.part and every number is zero-based, so 0.2.0/1 means season 1, episode 3, part 1 of 1. A second system, onscreen, carries the human-readable form instead:

<episode-num system="onscreen">S01E03</episode-num>

If a guide omits episode numbers entirely, your player has nothing to match on except the programme title. Series recording still appears to work, but it degrades into title matching, which is why it starts catching repeats and specials you did not want. A guide that carries proper episode numbering is doing real work for you even though you never see the field.

How your player actually fetches the guide

There are a few distinct delivery mechanisms, and knowing which one you are on narrows troubleshooting considerably.

A direct XMLTV URL

The simplest case: you paste a URL, the player downloads the file on a schedule. Everything is visible and testable, which makes this the easiest setup to diagnose — you can fetch the same URL yourself and see exactly what the player sees.

The Xtream Codes API

When you log in with a username, password, and host rather than pasting an M3U, the player talks to an API and derives both the playlist and the guide from it. The full guide lives at the xmltv.php endpoint shown earlier. There is also a per-channel endpoint that players use to fill in now/next quickly without re-parsing the whole file:

http://your-provider-host:port/player_api.php?username=USER&password=PASS&action=get_short_epg&stream_id=12345

One detail catches people out if they ever inspect this by hand: the response is JSON, and the programme titles and descriptions inside it are Base64-encoded. Seeing a wall of gibberish where the titles should be does not mean the data is corrupt — it means it has not been decoded yet.

Portal boxes and Enigma2 receivers

MAG boxes and other Stalker-portal devices work differently again: the portal serves the guide as part of the session, so there is no separate EPG URL for you to re-enter. Troubleshooting on those boxes is about the portal connection as a whole rather than the guide specifically. Enigma2 receivers typically pull listings through an import plugin on their own schedule, which means the guide can be stale for reasons that have nothing to do with your IPTV provider at all.

Compression, and why the file extension matters

Guide files are commonly served gzip-compressed as .xml.gz, because the saving on a multi-megabyte XML file is large. Some players decide whether to decompress based on the URL suffix rather than on what the server actually says in its response headers. The result is a specific and confusing failure: a URL ending in .gz that serves plain XML, or a URL ending in .xml that serves compressed data, parses to nothing and shows up as an empty guide with no error message. If you have both forms available from your provider, trying the other one is a thirty-second test worth running.

Why the IPTV program guide matters more than it looks

It is easy to write the guide off as decoration. It is not, because several other features are built on top of its data rather than beside it:

Catch-up: how the guide becomes a replay window

This one deserves spelling out, because it generates a lot of misdirected support tickets. Catch-up is not a separate video library sitting alongside your channels. When you scroll back in the guide and select yesterday evening's programme, the player reads that programme's start time and duration from the EPG and uses them to construct a request against the provider's archive for that channel. The playlist declares that the capability exists:

#EXTINF:-1 tvg-id="espn.us" catchup="default" catchup-days="7" ...

But the EPG supplies the boundaries. The consequence is direct and catches people out constantly: a channel with no guide data has no catch-up, even on an account where catch-up is enabled and working everywhere else. There is nothing to scroll back through, because there are no programme entries to select. Most "catch-up isn't working" reports are EPG reports wearing a different hat.

Recording and series link

Recording works the same way. You are not recording a time slot, you are recording a programme object taken from the guide, which is why a recording follows a late-running programme in players that support it. Series link goes one step further and matches future programmes by title and, where the guide provides it, by episode number. This is exactly why the episode-num field discussed above is worth having: without it, series link falls back to title matching and starts recording every repeat.

One legitimate exception worth knowing

Pay-per-view and event channels frequently carry no listings until shortly before the event, because there is nothing scheduled to list. That is normal behaviour for live event channels, not a broken guide, and no amount of refreshing will populate them ahead of time.

How to set up an IPTV EPG in the main players

TiviMate

If you added your playlist through Xtream Codes, TiviMate normally picks up the EPG source on its own. If it did not, open Settings → EPG, add the XMLTV URL from your provider's activation email as an EPG source, then run Update now and wait for it to complete.

TiviMate is worth learning properly because it exposes the settings that cause most of the confusion later: how many days of guide to load and keep, how often to refresh automatically, and an EPG time shift. It also supports attaching more than one EPG source to a playlist, which is useful when your provider's guide is strong on domestic channels and thin on a handful of international ones — though see the warning about mapping further down before you start rearranging sources.

IPTV Smarters Pro

Logging in with Xtream Codes credentials pulls the guide automatically. If the grid is empty, use the refresh action in the EPG menu rather than reinstalling, and let it finish. Our IPTV Smarters Pro guide walks through the full setup including playlist entry.

Kodi with PVR IPTV Simple Client

Kodi keeps the playlist and the guide in the same place: the addon's own configuration, where you supply an M3U location and an XMLTV location as two separate settings. It also has its own EPG time-shift setting, distinct from Kodi's system clock, which is a common source of double-applied offsets. Changes to the addon's settings usually need the addon restarted — or Kodi restarted — before they take effect, which leads people to conclude a correct URL did not work.

Set-top boxes and Smart TV apps

On MAG-style portal boxes there is no EPG URL to manage, as described above. Built-in Smart TV apps vary enormously: some expose a full set of EPG controls, others expose nothing at all and simply show whatever the portal or API hands them. If a TV app gives you no guide settings and the guide is wrong, running an external player on a stick alongside it is usually faster than fighting the app.

Fire TV, Apple TV and Android TV

The device does not change how the EPG works — the player does. The same XMLTV file feeds every one of them. What does change is available storage and processing power, which matters more than people expect and is covered in its own section below. Setup by device is covered in the Firestick setup guide.

Set the clock before you judge the guide

Before deciding a guide is wrong, confirm the device's date, time, and time zone are correct, and that any manual EPG offset in the player is set to zero unless you deliberately need one. A player pointed at the right guide with the wrong clock produces a guide that looks broken but is fine.

Test the guide URL yourself: a five-minute diagnostic

This is the single most useful thing in this article, because it splits the problem cleanly in two. Either the guide file is fine at source and your player is the problem, or the file never arrives and your player is blameless. Ten minutes of guessing is replaced by one request.

A word of caution first. Your EPG URL usually contains your username and password in plain text. Do not paste it into public "check my URL" websites, do not post it in a forum thread asking for help, and crop it out of screenshots. Anyone holding that URL holds your account.

Step 1 — Fetch the headers

curl -sIL "http://your-provider-host:port/xmltv.php?username=USER&password=PASS"

You are reading three things: the HTTP status code, the content type, and the content length.

Step 2 — Interpret what came back

What you get What it means
200 with a size in the megabytesThe guide is healthy at source. The fault is in your player — clear the cache and refresh.
401 or 403Credentials rejected. The EPG endpoint authenticates separately, so this can happen while streams still play.
404Wrong path. The EPG URL has changed or was mistyped.
200 but only a few hundred bytesAlmost always an error page served with a success code. Fetch the body and read it.
Connection times outA network path problem — firewall, DNS, VPN, or a blocked port.

Step 3 — Check how fresh the file is

curl -s "YOUR-EPG-URL" | head -c 400

Read the date attribute on the opening <tv> element. That is the generation time at source. Compare it against the "last updated" figure in your player: if the player is current and the file is old, the staleness is upstream and there is nothing to fix on your device.

If the file is gzipped, pipe it through gunzip first:

curl -s "YOUR-EPG-URL" | gunzip | head -c 400

If that command errors out on a URL ending in .gz, you have found the compression mismatch described earlier — the server is sending plain XML under a compressed-sounding name.

Step 4 — Check a specific channel

If the guide downloads fine but one channel is blank, search the file for that channel's ID:

curl -s "YOUR-EPG-URL" | grep -o 'channel id="[^"]*"' | grep -i espn

If the ID is not there, no player setting will conjure it up and the fix is a provider-side one. If it is there but your channel is still blank, you have an ID mismatch and mapping will solve it.

IPTV EPG not working? Start by reading the symptom

The symptom tells you where the failure is. Working through this table first is faster than trying fixes at random.

What you see What it usually means Where to start
Guide blank on every channel, channels play The EPG source is missing, expired, or never downloaded Force an update, then re-add the EPG URL
Guide blank on some channels only Channel IDs in the playlist do not match the guide Map those channels in the player
Only "now" and "next" appear The player's EPG window is set too short Raise the days / retention setting
Everything shifted by a whole number of hours Time-zone or manual offset problem, not data Fix the device clock and reset the offset
Guide is a day or more out of date An IPTV EPG update is failing silently Clear the cache, then refresh and watch the timestamp
Titles appear but no descriptions or artwork The guide carries only minimal fields for those channels Source-side; nothing to fix in the player
Catch-up missing on one channel only No guide entries, so there are no windows to replay Fix the guide for that channel first
Guide looks right but the channel shows something else Regional feed, +1 variant, or a late schedule change See right guide, wrong programme
Guide blank and nothing plays Not an EPG problem at all General troubleshooting

The troubleshooting order that actually saves time

Work down this list rather than across it. Each step is cheap, and each one rules out a whole class of cause before the next.

1. Confirm it is an EPG problem (30 seconds)

Play two or three channels from different groups. If they play, your account, credentials, and connection are fine and this is a guide-data problem. If they do not, stop here — you are troubleshooting the wrong thing.

2. Force an update and watch the timestamp

Trigger a manual refresh and let it run to completion, then check that the "last updated" time actually changed. If it did and the guide is still empty, the download is succeeding but the matching is failing (jump to step 6). If it did not change, the download itself is failing (steps 3 and 4).

3. Re-add the EPG source URL

Remove the existing EPG source and re-enter it from your provider's activation email or the Xtream Codes API. An EPG URL that changed or expired is the usual cause of a guide that was working last week and is blank today.

4. Clear the EPG cache

If the player has been serving a corrupt or partial copy, clearing stored guide data and refreshing forces it to rebuild from scratch. Expect the first refresh afterwards to take longer than usual.

5. Fix the clock, then re-check

For a fixed-hour shift, correct the device time zone and enable automatic time, set the player's EPG offset back to zero, and refresh. Do not compensate for a wrong clock with a manual offset — the section below explains why that breaks twice a year.

6. Widen the EPG window

If only now and next appear, raise the number of days of guide the player loads and retains. Some players default to a short window to save storage, which looks identical to missing data.

7. Map the channels that are still blank

Whatever is still missing after steps 1–6 is almost certainly an ID mismatch. Use the player's EPG-to-channel mapping tool to link those channels manually, and send the list to support so the IDs can be fixed at source for everyone.

8. Rule out the network

A VPN, a DNS filter, or a restrictive network can block the guide download while leaving the video streams working, because they are different hosts and often different ports. Try once with the VPN off and on a different connection — a mobile hotspot is a fast test.

Each of these is expanded, with the exact menu paths per player, in our dedicated IPTV EPG not loading walkthrough.

Channel ID matching, in depth

Because mismatched identifiers cause the majority of partial-guide problems, it is worth understanding what your player is actually doing when it tries to attach a schedule to a channel.

What the player tries, and in what order

  1. Exact ID match. The playlist's tvg-id against the guide's channel id. This is the only method that is reliable, and the only one a well-built playlist should need.
  2. Display-name fallback. Several players then try the playlist's tvg-name or the visible channel name against the guide's display-name entries. This rescues some channels and mis-assigns others, which is how a channel occasionally ends up showing a schedule that belongs to a different network entirely.
  3. Your manual mapping. Whatever you have linked by hand, stored locally by the player.

Why IDs drift in the first place

Identifiers are not supposed to change, but they do. A provider rebuilds a lineup and renames entries. A channel moves from one upstream guide source to another and arrives with a different ID convention. A regional variant is split into two entries where there was one. None of this is visible to you; it just shows up as a channel that had a guide last month and does not now.

The mapping warning nobody mentions

Manual EPG mapping is stored locally, per playlist, in most players. That has an important consequence: deleting and re-adding your playlist wipes every mapping you have made. This is the trap in the standard "just remove it and add it again" advice — it does fix some problems, and it silently destroys an afternoon of careful mapping in the process.

If you have mapped more than a handful of channels by hand, two habits are worth adopting. Keep a short note of which channels you mapped and to what, somewhere outside the player. And before any teardown-and-rebuild step, check whether your player offers a settings backup or export, because restoring one is faster than redoing the work. Reinstalling the player should stay what it is meant to be — the last resort, not the first move.

Time, time zones, and the twice-a-year breakage

A guide that is correct but displayed against the wrong clock is indistinguishable, at a glance, from a guide full of wrong data. These are the three ways it happens.

Why a manual offset is a trap

Every player offers an EPG time shift, and it is tempting to reach for it the moment the grid looks three hours out. Resist it unless you know why you need it. A manual offset is a fixed constant; daylight saving is not. Set an offset to paper over a wrong device clock in winter, and your guide will be an hour out from the spring change until you remember why. Guides that mysteriously break twice a year, on the same two weekends, are almost always carrying a manual offset that somebody set years ago and forgot.

Fix the device clock instead. The offset control exists for the genuine edge case where a source publishes times that are deliberately shifted, not as a general correction tool.

The missing-offset case

XMLTV allows the timezone portion of a timestamp to be omitted. When it is missing, the player has to guess what the time refers to, and different players guess differently. The tell is specific: if your guide is out by exactly your own UTC offset — five hours on US Eastern, eight on Pacific — rather than an arbitrary amount, a missing offset in the source file is the likely cause. That one is genuinely a source-side bug worth reporting, because the file is ambiguous rather than wrong.

The device clock itself

Enable automatic time and confirm the region, not just the hour. Two failure modes are common enough to check for directly: a box that loses its clock after a power cut and comes back set to the manufacturing date, and a device set to the right hour but the wrong region, which looks fine until a daylight-saving boundary that the two zones do not share.

When the guide is right but the programme is wrong

A different complaint from a blank guide, and a different set of causes. The listings are populated, plausible, and do not match what is on screen.

The distinction that matters when reporting one of these: a fixed offset on a single channel is usually a mapping problem somebody can fix, while a varying mismatch is usually a regional-feed mismatch that needs the right guide source attached.

How often should an IPTV EPG update?

There are two clocks running, and confusing them causes a lot of unnecessary worry.

The source clock: the XMLTV file itself is regenerated on the provider's schedule, commonly once or twice a day. Between regenerations, no amount of refreshing on your device produces newer data — you will re-download the same file.

The player clock: your app refreshes its local copy on its own interval, which you can usually configure, and always on demand.

So if the guide is a few hours behind a very late schedule change, that is the source clock and it will resolve itself. If the guide is a day or more stale and a manual refresh does not move the timestamp, that is the player clock and it needs steps 2–4 above. The self-test tells you which clock you are looking at in one command, by comparing the file's own generation date against your player's last-updated figure.

As for how often to schedule automatic refreshes: more often is not better. A guide regenerated twice a day gains nothing from being downloaded every hour, and on a low-powered device each refresh costs you a parsing pause. Once a day, overnight, suits most households.

Guide performance on low-powered devices

An EPG file scales with channels multiplied by days. A large lineup with a full week of listings is a substantial document, and your player has to download it, decompress it, parse it, and index it into something it can draw quickly. On an Apple TV or a Shield this is unremarkable. On a budget stick with limited memory it is the heaviest thing the app does all day.

The symptoms are recognisable once you know them: the player becomes unresponsive for a stretch shortly after a refresh, channel changes feel sluggish for the first minute after startup, or the app closes itself during an update. That is resource pressure, not corruption, and clearing the cache repeatedly will not help.

The levers that do help:

How to judge a provider's EPG before you commit

Channel counts are advertised everywhere; guide quality is advertised nowhere, which makes it a useful thing to check yourself. If you are trialling a service, these are worth ten minutes:

For reference on the last point: IPTV Americans ships a full seven-day guide with catch-up on every package, and channel-level guide reports go to the same round-the-clock support as everything else.

What you cannot fix from the player

Some EPG problems are genuinely upstream, and recognising them saves an evening:

When you report one, four details turn a vague ticket into a fixable one: the exact channel name as it appears in your list, the player you are using, your time zone, and whether the listing is missing entirely or merely wrong. That is enough to reproduce it. Our support channels are staffed around the clock, and channel-level reports follow the same pattern.

Quick reference: EPG terms in one place

TermWhat it is
EPGElectronic program guide — the on-screen schedule itself.
XMLTVThe standard XML format guide data is published in.
M3UThe playlist format listing your channels and their stream URLs.
tvg-idThe channel identifier in the playlist. Must match the guide's channel id.
tvg-nameThe channel name in the playlist, used for fallback matching in some players.
tvg-logoThe channel logo URL in the playlist.
Xtream Codes APIA login-based method that supplies playlist and guide together.
xmltv.phpThe endpoint serving the full guide on an Xtream Codes setup.
catchup-daysHow many days of archive a channel offers for replay.
EPG offset / time shiftA manual hour adjustment in the player. Rarely the right fix.
EPG cacheThe local copy your player keeps between refreshes.
episode-numSeason and episode data; what series link relies on.
Now/nextThe current and following programme, often fetched separately for speed.

Frequently asked

What does EPG mean in IPTV?

EPG stands for electronic program guide. In IPTV it is the on-screen schedule showing what is playing now, what is next, and what is coming over the following days. It is delivered as a separate data feed — usually an XMLTV file — that your player downloads and matches to the channels in your playlist.

Why is my IPTV EPG not working when the channels play fine?

Because the guide and the video are two different feeds. Channels playing proves your playlist and account are working; it says nothing about the EPG source. A blank guide with working channels almost always points to a missing or expired EPG URL, a stale cache, or a failed guide download — not an outage.

Why is my IPTV EPG missing on only some channels?

Those channels have a channel ID in the playlist that does not match any channel ID in the guide file. The player has the data but cannot connect it to the right row. Use your player's EPG mapping tool to link them manually, or send the exact channel names to your provider so the IDs can be corrected at source.

How do I force an IPTV EPG update?

Every major player has a manual refresh — in TiviMate it is Settings, then EPG, then Update now; in IPTV Smarters Pro it is the refresh action in the EPG menu. Wait for the download to finish, since a multi-day guide for a large lineup can take a minute or two, and confirm the last-updated timestamp actually changes before deciding it failed.

Why is my IPTV program guide showing the wrong times?

If every programme is off by the same whole number of hours, it is a clock problem rather than a data problem. XMLTV timestamps carry a UTC offset, so a wrong device time zone, a leftover manual EPG offset, or a source file that omits the offset entirely will all shift the grid. Fix the device clock first, then reset the player's EPG offset to zero.

Why does my IPTV EPG break twice a year?

Almost always a manual time offset left in the player. An offset is a fixed constant while daylight saving is not, so a shift that corrects the guide in winter puts it an hour out in summer. Remove the manual offset, set the device to automatic time with the correct region, and refresh.

How many days of EPG should an IPTV service provide?

Seven days is the common reference point, and it is what IPTV Americans provides on every plan. Some sources carry only now and next for certain channels. If your player shows only the current programme across the board, raise the EPG retention or days setting before assuming the guide data is incomplete.

Why does catch-up not work on a channel with no guide?

Because catch-up is driven by the guide. Your player reads a programme's start time and duration from the EPG to build the replay request, so a channel with no listings has no programme boundaries to replay. Restore the guide for that channel and catch-up returns with it.

Can I use a third-party EPG source with my IPTV playlist?

Most players let you add any XMLTV URL as an extra EPG source, and it will work for any channel whose ID matches. The catch is that a third-party guide is built around a different ID scheme, so expect to map a large share of channels by hand. Your provider's own guide is the one already aligned with your playlist.

Why did my EPG mapping disappear after I re-added the playlist?

Manual mapping is stored locally against the playlist in most players, so deleting the playlist deletes the mapping with it. This is why reinstalling should be a last resort rather than a first step. If your player offers a settings backup, take one before any teardown, and keep a note of the channels you mapped by hand.

Can a VPN stop my IPTV EPG from loading?

Yes, and it produces a distinctive symptom: video that plays normally alongside a guide that never arrives. The guide is often served from a different host or port than the streams, so a VPN, DNS filter, or restrictive router can block one while passing the other. Testing once with the VPN off isolates it in under a minute.

Does a blank EPG mean my subscription expired?

Not on its own. If channels still play, the account is active and only the guide feed is affected. If channels also fail to load, the problem is the connection or the account rather than the EPG, and the general troubleshooting path applies instead.

A guide that is actually maintained.

Full 7-day EPG with catch-up on every plan, from $29 USD. Published 7-day refund window, no contract.

About the author

Henry Hopkins writes about IPTV, streaming technology and cord-cutting for IPTV Americans. Every post is reviewed by the Streaming Engineering Review Board before publication. Read our methodology.