IPTVEPGFix

EPG Not Showing in IPTV: Complete Fix Guide

EPG (Electronic Program Guide) is one of the most useful IPTV features — showing what's on now and upcoming without manual searching. But it also breaks in many specific ways: missing entirely, showing only some channels, displaying wrong times, or stopping after an update. This complete fix guide covers every EPG problem with specific solutions for TiviMate, IPTV Smarters, Perfect Player, and Kodi.

Updated June 11, 202512 min readTechnically reviewed
EPG not showing in IPTV fix guide

How EPG Works and Why It Breaks

EPG in IPTV works through a two-part matching system. Your M3U playlist file contains channels with tvg-idattributes. Your EPG source (an XMLTV file) contains program schedules indexed by channel IDs. Your IPTV app downloads the EPG XML file and matches each channel's tvg-id to the corresponding channel ID in the EPG file.

EPG breaks when any part of this chain fails:

  • tvg-id mismatch — M3U says tvg-id="BBC1" but EPG has channel id "bbc1.uk" → no match → no EPG
  • EPG URL unreachable — EPG file can't download → no data → no EPG
  • EPG file format error — Malformed XMLTV file → parsing fails → no EPG
  • Wrong timezone — EPG times use UTC but app displays local time without offset correction → wrong times
  • EPG not enabled in app — Feature needs to be turned on in settings
  • EPG data expired — XMLTV files only cover a few days forward → old data shows nothing for future

Quick Diagnosis Checklist

Confirm EPG URL works

Copy your EPG URL and paste it in a browser. It should either download an XML file or display XML content starting with <?xml or <tv. If you get an error, the EPG URL is broken.

Check EPG is enabled in your app

In TiviMate: Settings → EPG — verify an EPG source is listed and has a recent "last updated" timestamp. In Perfect Player: Settings → General → EPG — ensure an EPG source is added.

Force manual EPG refresh

Most apps have a manual refresh button. In TiviMate: Settings → EPG → Update EPG now. In IPTV Smarters: go to EPG section and pull-to-refresh. Wait for download to complete fully.

Check one channel specifically

Pick a major channel (like BBC or CNN) and long-press it. Go to Edit channel and see what tvg-id value it has. Then open your EPG XML file and search for that exact string. If not found — that's your problem.

Fix #1: tvg-id Mismatch (Most Common Cause)

The tvg-id in your M3U playlist must exactly match the id attribute of the channel in your XMLTV EPG file. This match is case-sensitive.

How to find the correct tvg-id

  1. Download your EPG XML file (paste EPG URL in browser → save file)
  2. Open the XML file in Notepad++ or VS Code
  3. Search (Ctrl+F) for the channel name, e.g. "BBC One"
  4. Find the <channel id="..."> tag for that channel
  5. Copy the exact ID value — this is what you need in tvg-id

Example EPG XML entry:

<channel id="bbc1.uk"> <display-name>BBC One</display-name> </channel>

Corresponding correct M3U EXTINF line:

#EXTINF:-1 tvg-id="bbc1.uk" tvg-name="BBC One" group-title="UK",BBC One HD

Fix tvg-id without editing M3U file

All major IPTV apps let you edit tvg-id per channel without touching the M3U file:

  • TiviMate: Long-press channel → Edit channel → EPG ID → enter correct tvg-id
  • Perfect Player: Long-press channel → Edit → EPG ID field
  • IPTV Smarters: Channel info → Edit EPG ID

This is a quick fix but gets reset when you reload the playlist. For permanent fixes, use the M3U Editor to update tvg-id values in the playlist file itself.

Fix #2: EPG URL Problems

EPG URL not loading

  • Test URL directly in browser — must return XML content
  • Check if URL requires authentication — some EPG sources need username/password in URL
  • Try HTTPS instead of HTTP (or vice versa)
  • Check if your IPTV provider's EPG URL has changed — log into provider account for updated URL

EPG loads but shows no data

  • EPG file may only cover certain countries/channels — verify it includes your channels
  • Check if EPG data has expired — XMLTV files typically cover 7-14 days ahead
  • Try a different EPG source (see Free EPG Sources section below)

EPG loads slowly or times out

  • Large EPG files (50MB+) take several minutes to download on slow connections
  • Reduce EPG update frequency to once per day to avoid constant large downloads
  • Some EPG servers are slow — try at different times of day

Fix #3: Wrong EPG Times

If EPG shows program schedules but at the wrong times (e.g., programs listed 2 hours early or late), you need to adjust the EPG time offset.

Fix in TiviMate

  1. Settings → EPG → tap your EPG source
  2. Find Time offset or Correction field
  3. Adjust in +/- hours (e.g., +1 moves all times 1 hour forward)
  4. Save and check if times are now correct

Fix in Perfect Player

  1. Settings → General → EPG → edit your EPG source
  2. Adjust Offset value
  3. Start with the difference between EPG time and actual local time

Understanding time offset values

  • EPG shows programs 2 hours early → set offset to +2
  • EPG shows programs 3 hours late → set offset to -3
  • EPG is correct for some channels but wrong for others → different channels use different timezones in the EPG source

App-Specific EPG Fixes

AppCommon EPG ProblemSolution
TiviMateEPG shows for some channels onlyChannels missing tvg-id. Long-press → Edit channel → set EPG ID manually
TiviMateEPG loaded but not displayingSettings → Appearance → enable "Show EPG timeline"
IPTV SmartersEPG not downloadingUninstall and reinstall app — sometimes cache is permanently corrupted
Perfect PlayerEPG download hangsSettings → General → EPG → increase timeout value; try at off-peak hours
KodiEPG empty after setupDisable and re-enable PVR IPTV Simple Client add-on to force reload
All appsEPG stopped after app updateClear app cache and data → re-add EPG source → force manual update

Free EPG Sources for All Regions

If your IPTV provider doesn't supply an EPG URL, these free public sources cover thousands of channels worldwide:

SourceCoverageURL format
iptv-org EPGGlobal — 10,000+ channelsgithub.com/iptv-org/epg (country-specific XML files)
XMLTV.seNordic countriesxmltv.se
epgshare01UK, US, EU channelsVarious GitHub repositories

When using these sources, you still need matching tvg-id values. The iptv-org project also maintains a channel database with correct tvg-id values for most major channels.

Check your M3U tvg-id values

Use the M3U Validator to inspect your playlist's tvg-id attributes and ensure they're properly formatted before troubleshooting EPG mismatches.

Validate M3U

Why is my EPG not showing in IPTV?

EPG won't show when the tvg-id in your M3U playlist doesn't match the channel ID in your EPG source, the EPG URL is incorrect or unreachable, the EPG data hasn't downloaded yet, or the time offset is wrong. The most common cause is tvg-id mismatch.

How do I fix EPG not working in TiviMate?

In TiviMate, go to Settings → EPG → verify the EPG URL loads correctly. Check channels have matching tvg-id values. Long-press a problem channel → Edit channel → change the EPG ID to match your EPG source. Force manual EPG update via Settings → EPG → Update EPG now.

Why does my EPG show wrong times?

Wrong EPG times are caused by a timezone offset mismatch. Fix by adjusting the EPG time offset in your IPTV app settings under EPG source configuration. Try adjusting in +/- 1 hour increments until times are correct.

What is tvg-id and why does it matter for EPG?

tvg-id is an attribute in M3U EXTINF lines that identifies which EPG channel data to display. It must exactly match the channel id in your XMLTV EPG file. Without a matching tvg-id, your IPTV app can't link the channel to its program schedule data.

How do I find the correct tvg-id for my channels?

Download your EPG XML file and open it in a text editor. Search for the channel name you want. The id attribute in the <channel> tag is the tvg-id you need. For example: <channel id='bbc1.uk'> means tvg-id='bbc1.uk' in your M3U.

My EPG was working and stopped — why?

EPG can stop working when your EPG URL expired or changed, the EPG source server went down temporarily, your IPTV app cache became corrupted (clear cache and re-download EPG), or your subscription expired and the EPG URL was deactivated.

Can I use EPG without a URL from my provider?

Yes. Free public EPG sources cover many countries. The iptv-org project (github.com/iptv-org/epg) covers thousands of channels worldwide. You can use these free XMLTV sources with any IPTV app that supports XMLTV EPG.

Conclusion

EPG issues almost always trace back to one of three root causes: tvg-id mismatch (most common), EPG URL problems, or timezone offset errors. Work through the quick diagnosis checklist first to identify which specific failure is occurring, then apply the targeted fix from this guide.

The permanent solution for tvg-id mismatches is editing your M3U playlist file to use correct tvg-id values that match your EPG source. Use the M3U Editor to update multiple channels at once without manual text editing. Once tvg-ids are correct and your EPG source URL is verified working, EPG should update automatically going forward.

Related Guides