{"id":488,"date":"2026-08-14T13:00:00","date_gmt":"2026-08-14T13:00:00","guid":{"rendered":"https:\/\/wiztv.uk\/blog\/?p=488"},"modified":"2026-07-23T17:15:33","modified_gmt":"2026-07-23T17:15:33","slug":"iptv-epg-setup","status":"publish","type":"post","link":"https:\/\/wiztv.uk\/blog\/iptv-epg-setup\/","title":{"rendered":"IPTV EPG Setup: Get the TV Guide Working"},"content":{"rendered":"<figure class=\"wiztv-hero\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/wiztv.uk\/blog\/wp-content\/uploads\/2026\/07\/iptv-epg-setup.png\" alt=\"what is epg on iptv\" width=\"1200\" height=\"630\" style=\"max-width:100%;height:auto;border-radius:8px\" \/><\/figure>\n<p>The EPG is the on-screen programme guide \u2014 the grid showing what&#39;s on now and next. It&#39;s what turns a raw channel list into something that feels like proper television, and it&#39;s also the single most common thing to arrive broken. Either it&#39;s blank, or every programme is showing at the wrong time.<\/p>\n<p>Both are fixable in a couple of minutes once you know what&#39;s actually happening.<\/p>\n<div style=\"border-left:4px solid #2edbfc;background:rgba(46,219,252,0.10);padding:14px 18px;border-radius:6px;margin:20px 0\">\n<strong>Key takeaways<\/strong><\/p>\n<ul>\n<li>With an <strong>Xtream login<\/strong> the guide usually loads itself. With <strong>M3U<\/strong> you add an EPG URL separately.<\/li>\n<li>Guide data uses the <strong>XMLTV<\/strong> format, and times inside it are stored in <strong>UTC<\/strong>.<\/li>\n<li>Wrong times = a timezone offset setting, not corrupt data.<\/li>\n<li>Blank guide = a bad or changed EPG URL, a failed refresh, or app cache.<\/li>\n<\/ul>\n<\/div>\n<h2>Where guide data comes from<\/h2>\n<p>Your channel list and your guide data are two separate things. The channels come from your playlist or login; the programme information comes from an <strong>XMLTV<\/strong> file \u2014 an open standard for TV listings that nearly every IPTV app understands. <a href=\"https:\/\/en.wikipedia.org\/wiki\/XMLTV\" target=\"_blank\" rel=\"noopener\">XMLTV<\/a> has been the common format for decades.<\/p>\n<p>That separation is why you can have perfect channels and no guide at all. They arrive independently.<\/p>\n<h2>Adding an EPG URL<\/h2>\n<p>If you&#39;re on an Xtream Codes login, the guide normally arrives automatically with everything else \u2014 nothing to do. If it hasn&#39;t, or you&#39;re using M3U, you add it manually:<\/p>\n<ol>\n<li>Get the <strong>XMLTV EPG URL<\/strong> from your provider (it&#39;s usually in the welcome email, or ask support).<\/li>\n<li>In your player, go to <strong>Settings \u2192 EPG<\/strong>.<\/li>\n<li>Choose to add a source (often a <strong>+<\/strong> button).<\/li>\n<li>Paste the URL exactly.<\/li>\n<li>Save, then trigger a refresh and give it a few minutes \u2014 guide files are large and take time to download and parse.<\/li>\n<\/ol>\n<p>Be patient on that last step. A big XMLTV file on a Firestick can take a couple of minutes on first load, and people often conclude it&#39;s broken while it&#39;s still working.<\/p>\n<h2>Fixing a blank guide<\/h2>\n<p>Work through these in order:<\/p>\n<ul>\n<li><strong>Wrong or dead URL.<\/strong> EPG URLs change. If yours returns nothing, ask your provider for the current one \u2014 this is the most common cause by far.<\/li>\n<li><strong>A silently failed refresh.<\/strong> The scheduled update failed and the app didn&#39;t tell you. Trigger a manual refresh.<\/li>\n<li><strong>Corrupted app cache.<\/strong> Clear the app&#39;s cache (device Settings \u2192 Apps \u2192 your player \u2192 Clear cache), then refresh the EPG again.<\/li>\n<li><strong>Mismatched channel IDs.<\/strong> If some channels have guide data and others don&#39;t, the <code>tvg-id<\/code> tags in your playlist don&#39;t match the IDs in the XMLTV file. That&#39;s a provider-side mismatch \u2014 report it rather than reinstalling. Our <a href=\"https:\/\/wiztv.uk\/blog\/what-is-m3u-file\/\">M3U file guide<\/a> explains those tags.<\/li>\n<\/ul>\n<h2>Fixing wrong times<\/h2>\n<div style=\"border-left:4px solid #2ecc71;background:rgba(46,204,113,0.10);padding:14px 18px;border-radius:6px;margin:20px 0\">\n<strong>Pro tip \u2014 everything is stored in UTC<\/strong><br \/>\nXMLTV files hold programme times in <strong>UTC<\/strong>, and your app converts them to local time. So a guide showing everything an hour out during British Summer Time isn&#8217;t corrupt \u2014 the conversion is just off.<\/p>\n<p>Fix it in this order: set your <strong>device<\/strong> timezone to <em>Automatic<\/em> in system settings, then set the EPG <strong>Time Offset<\/strong> in your player back to <strong>0<\/strong>. That solves it for most people, because the app was double-correcting. Only if it&#8217;s still wrong should you apply a manual offset \u2014 if the guide runs an hour ahead, set <code>-1<\/code> (some apps want minutes, so <code>-60<\/code>).\n<\/div>\n<p>The classic UK version of this appears twice a year when the clocks change and an app doesn&#39;t pick it up. Setting the device to automatic time and the app offset to zero is almost always the correct end state.<\/p>\n<h2>Why the guide matters more than people expect<\/h2>\n<p>A working EPG is the difference between browsing television and hunting through a list of channel names. It&#39;s also what enables catch-up and recording features in the players that support them \u2014 both rely on knowing what was on and when.<\/p>\n<p>It&#39;s worth judging a provider on, too. A properly populated guide across the whole line-up signals a service that&#39;s been set up carefully. A blank or patchy guide usually means corners were cut elsewhere as well. Our guide to <a href=\"https:\/\/wiztv.uk\/blog\/best-iptv-providers-uk\/\">judging providers<\/a> covers similar signals.<\/p>\n<h2>Player-specific notes<\/h2>\n<ul>\n<li><strong>IPTV Smarters<\/strong> \u2014 Settings \u2192 EPG. Xtream logins pull it automatically; a manual XMLTV URL is available for M3U setups.<\/li>\n<li><strong>TiViMate<\/strong> \u2014 the most capable EPG handling of any player, with multiple sources and per-source offsets.<\/li>\n<li><strong>Smart TV apps<\/strong> \u2014 usually take the EPG URL on the same website where you upload your playlist, rather than on the telly.<\/li>\n<\/ul>\n<p>For which player suits you, see our <a href=\"https:\/\/wiztv.uk\/blog\/best-iptv-player\/\">best IPTV player<\/a> comparison.<\/p>\n<p>Honestly though, on a well-configured service you shouldn&#39;t be doing any of this \u2014 the guide should simply be there, filled in, correct. That&#39;s the standard to expect from <a href=\"https:\/\/wiztv.uk\/\">WizTV<\/a>, and support can resend your EPG URL in seconds if it ever does drift.<\/p>\n<h2>Frequently asked questions<\/h2>\n<p><strong>What is EPG on IPTV?<\/strong><br \/>\nThe Electronic Programme Guide \u2014 the on-screen grid showing what&#39;s on now and next. It comes from a separate XMLTV data source rather than your channel list.<\/p>\n<p><strong>How do I add an EPG to IPTV?<\/strong><br \/>\nGet the XMLTV EPG URL from your provider, then in your player go to Settings \u2192 EPG, add the source, paste the URL and refresh.<\/p>\n<p><strong>Why is my IPTV guide empty?<\/strong><br \/>\nUsually a changed or dead EPG URL, a failed refresh, or corrupted app cache. Ask your provider for the current URL, then clear cache and refresh.<\/p>\n<p><strong>Why are my EPG times wrong?<\/strong><br \/>\nXMLTV stores times in UTC and your app converts them. Set your device timezone to Automatic and the app&#39;s EPG offset to 0; apply a manual offset only if it&#39;s still wrong.<\/p>\n<p><strong>Where do I get an EPG URL?<\/strong><br \/>\nFrom your IPTV provider \u2014 usually in the welcome email or from support. With an Xtream login the guide often loads automatically instead.<\/p>\n<div style=\"background-color:#0f1117;background-image:radial-gradient(circle at 88% 8%, rgba(46,219,252,0.22), rgba(46,219,252,0) 45%),linear-gradient(rgba(46,219,252,0.11) 1px, transparent 1px),linear-gradient(90deg, rgba(46,219,252,0.11) 1px, transparent 1px);background-size:100% 100%, 30px 30px, 30px 30px;border:1px solid rgba(46,219,252,0.30);border-radius:14px;padding:34px 30px;margin:38px 0 10px;text-align:center\">\n<div style=\"font-size:25px;font-weight:700;color:#2edbfc;line-height:1.3;margin-bottom:10px\">Every channel and all the sport, one subscription<\/div>\n<div style=\"font-size:16px;color:#aeb6c2;line-height:1.6;margin-bottom:22px\">35,000+ channels and 200,000+ films &#038; series in crisp 4K. No contract.<\/div>\n<p><a href=\"https:\/\/wiztv.uk\/\" style=\"display:inline-block;background:#2edbfc;color:#06232b;text-decoration:none;font-weight:700;font-size:17px;padding:15px 40px;border-radius:9px\">Get WizTV now &rarr;<\/a>\n<\/div>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"headline\": \"IPTV EPG Setup: Get the TV Guide Working\",\n      \"description\": \"How to add an XMLTV EPG URL, fix a blank programme guide, and correct wrong times \u2014 including why XMLTV stores everything in UTC.\",\n      \"author\": { \"@type\": \"Organization\", \"name\": \"WizTV Team\" },\n      \"publisher\": { \"@type\": \"Organization\", \"name\": \"WizTV\", \"logo\": { \"@type\": \"ImageObject\", \"url\": \"https:\/\/wiztv.uk\/logo.png\" } },\n      \"datePublished\": \"2026-07-23\",\n      \"dateModified\": \"2026-07-23\",\n      \"image\": \"https:\/\/wiztv.uk\/blog\/wp-content\/uploads\/2026\/07\/iptv-epg-setup.png\",\n      \"mainEntityOfPage\": \"https:\/\/wiztv.uk\/blog\/iptv-epg-setup\/\"\n    },\n    {\n      \"@type\": \"BreadcrumbList\",\n      \"itemListElement\": [\n        { \"@type\": \"ListItem\", \"position\": 1, \"name\": \"Home\", \"item\": \"https:\/\/wiztv.uk\/\" },\n        { \"@type\": \"ListItem\", \"position\": 2, \"name\": \"Blog\", \"item\": \"https:\/\/wiztv.uk\/blog\/\" },\n        { \"@type\": \"ListItem\", \"position\": 3, \"name\": \"IPTV EPG Setup\", \"item\": \"https:\/\/wiztv.uk\/blog\/iptv-epg-setup\/\" }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        { \"@type\": \"Question\", \"name\": \"What is EPG on IPTV?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"The Electronic Programme Guide \u2014 the on-screen grid showing what's on now and next. It comes from a separate XMLTV data source rather than your channel list.\" } },\n        { \"@type\": \"Question\", \"name\": \"How do I add an EPG to IPTV?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Get the XMLTV EPG URL from your provider, then in your player go to Settings then EPG, add the source, paste the URL and refresh.\" } },\n        { \"@type\": \"Question\", \"name\": \"Why is my IPTV guide empty?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Usually a changed or dead EPG URL, a failed refresh, or corrupted app cache. Ask your provider for the current URL, then clear cache and refresh.\" } },\n        { \"@type\": \"Question\", \"name\": \"Why are my EPG times wrong?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"XMLTV stores times in UTC and your app converts them. Set your device timezone to Automatic and the app's EPG offset to 0; apply a manual offset only if it's still wrong.\" } },\n        { \"@type\": \"Question\", \"name\": \"Where do I get an EPG URL?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"From your IPTV provider, usually in the welcome email or from support. With an Xtream login the guide often loads automatically instead.\" } }\n      ]\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"What EPG is, how to add a TV guide to your IPTV player, and how to fix a missing, wrong or misaligned guide.","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"csco_display_header_overlay":false,"csco_singular_sidebar":"","csco_page_header_type":"","footnotes":""},"categories":[31],"tags":[],"class_list":["post-488","post","type-post","status-publish","format-standard","category-free-iptv-playlists","cs-entry"],"_links":{"self":[{"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/posts\/488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/comments?post=488"}],"version-history":[{"count":1,"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/posts\/488\/revisions"}],"predecessor-version":[{"id":663,"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/posts\/488\/revisions\/663"}],"wp:attachment":[{"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/media?parent=488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/categories?post=488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiztv.uk\/blog\/wp-json\/wp\/v2\/tags?post=488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}