Free tool · runs in your browser
EPG Viewer and XMLTV Time Shift
An IPTV guide is an XMLTV file: a list of channels, each with an ID, and a list of programmes with a start time, an end time and the ID of their channel:
<programme start="20261104200000 +0000" stop="20261104210000 +0000" channel="news.example">
Drop your guide below to see how far ahead it runs and what is on each channel now, move every programme if the times are off, and check which channels in a playlist the guide can fill in.
Open an XMLTV guide
Guide summary
Checks
Channels
| Channel ID | Name | Programmes | Guide until | On now |
|---|
Shift the guide times
If every programme shows too late or too early by the same amount, move the whole guide. A guide that shows an hour too late needs −1 hour.
Check a playlist against this guide
See which live channels in an M3U file have a guide ID (tvg-id) that this guide contains.
Private by design. Your files are read on your device and nothing is saved. The tool never uploads them, and the page's security policy blocks every connection except anonymous usage statistics.
How to fix EPG times that are an hour off
A guide that is off by the same amount on every channel almost always has times written with the wrong offset: local times labelled +0000, or a summer offset left on in winter. The shift above moves every start and stop and keeps the rest of the file exactly as it was.
Check your device's time zone first. If it is right and the guide is still off, compare a programme you know with its start value in the file: the difference is the shift you need.
- Guide is an hour late
- Shift by −1 hour.
- Guide is an hour early
- Shift by +1 hour.
- Off by a different amount per channel
- A shift cannot fix that; the source has to correct those channels.
Why does a channel say "EPG not available"?
The player found no programmes for that channel. Either the guide has nothing scheduled for it, or the channel's guide ID in the playlist (tvg-id) is not one of the guide's channel IDs. The last step above shows which of the two it is.
The EPG and XMLTV guide explains where guide data comes from and what to ask the source when it is missing.
XMLTV tags a player reads
| Tag or attribute | Example | What it does |
|---|---|---|
<channel id> | <channel id="news.example"> | One channel. The ID is what a playlist's tvg-id has to match. |
<display-name> | <display-name>News One</display-name> | The channel's name. Some players fall back to matching by name. |
<programme> | <programme channel="news.example" …> | One programme on the channel with that ID. |
start, stop | start="20261104200000 +0100" | Date and time, then the offset from UTC. Without an offset the time is UTC. |
<title> | <title>Evening News</title> | The programme's name. |
<desc> | <desc>…</desc> | Description, shown in the programme details. |
Frequently asked questions
Can I use the shifted file in my player?
Only in a player that accepts a guide file, or if you put the file at a web address you control and give the player that address. Most players, Opus included, take a guide URL rather than a file.
Does the tool download the guide from a link?
No. Fetching a link from this page would send it, with the login it contains, through a server. Open the guide link in your browser to download the file, then drop it here.
Can it open .xml.gz files?
Yes. Compressed guides are unpacked in your browser. If an old browser cannot unpack them, unpack the file on your computer and drop the .xml.
How large a guide can it open?
Guides of 100 MB open in a few seconds on a recent computer. On a phone, very large guides can be slow or run out of memory.