EPG time shift: fix XMLTV time zone offsets

Open an XMLTV guide (.xml or .xml.gz) to move every programme by a number of hours, replace a wrong time zone offset, or rewrite it in another offset. Then download the corrected guide. Free, works on 100 MB+ files.

Runs entirely in your browser. The guide is never uploaded; only the start and stop times are changed.

What to change

Open a guide file to start.

    How XMLTV writes time

    Every programme in an XMLTV guide has a start and a stop attribute such as 20261113180000 +0100: year, month, day, hour, minute and second, then the offset from UTC. That one means 18:00 on 13 November 2026 in a zone one hour ahead of UTC, which is 17:00 UTC. A player converts it to the TV's own time zone, so a guide with correct offsets shows the right times anywhere. When no offset is written, the XMLTV format means UTC.

    Guides go wrong in two common ways. Some are built with local clock times but labelled +0000, so every programme lands hours away from where it should. Others carry the right offset for winter only, and drift an hour when daylight saving time starts. Open the file in the EPG viewer first: it lists the offsets a guide uses and shows each channel's schedule as written and in your time zone, which tells you which kind of problem you have.

    The three modes, with one programme

    ModeBeforeAfterMoment in UTC
    Move later by 1 h20261113180000 +000020261113190000 +000018:00 → 19:00
    Replace offset with +010020261113180000 +000020261113180000 +010018:00 → 17:00
    Convert to +010020261113180000 +000020261113190000 +010018:00 → 18:00

    "Move" and "Replace" both change when a programme airs; "Convert" never does. If the TV shows programmes one hour late, move them earlier by one hour. If the clock times in the file match your local listings but the offset is wrong, replace the offset with your zone's offset.

    Finding the right number

    1. Pick a channel you know and a programme with a fixed start, such as an evening news bulletin.
    2. Note when it really starts in your time zone, and when your player's guide shows it.
    3. The difference is your shift. Shown at 20:00 but really on at 19:00: move every programme earlier by 1 hour.
    4. Check a second channel from the same guide. If it is off by a different amount, the guide mixes sources, and one fixed shift will not fix both.

    Before shifting, check the TV itself. If the TV or box has the wrong time zone, every guide will look wrong by the same amount, and the fix belongs in the device's date and time settings, not in the guide. Most players also follow the device's time zone when they show the guide.

    Daylight saving time

    Offsets in XMLTV are fixed numbers, not time zone names, so a guide has to change its offsets when the clocks change: +0000 in winter and +0100 in summer for the UK, for example. A guide that keeps one offset all year is right for half of it. A shifted file has the same limit: the new values are fixed too. If your guide is regenerated every day, a player setting for the guide offset, or a better guide source, lasts longer than a file you fix once.

    What stays the same

    Only the values of start and stop change. Channel ids, names, titles, descriptions, categories, images and the order of the file are copied byte for byte, so the result works anywhere the original did. Times without seconds (12 digits) stay 12 digits. The page counts every value it rewrites and shows the first few, before and after, so you can check the change before you use the file. The file you get has the same name with "-shifted" added, so it never replaces the original, and you can run it again with a different setting if the first try was not right.

    If channels have no guide at all rather than the wrong times, the cause is usually the playlist's tvg-id: see the EPG mapper and how to fix an empty TV guide.

    Questions

    Is my guide file uploaded anywhere?
    No. The file is read, changed and saved by JavaScript in your browser, piece by piece. Nothing from it is sent to IPFlix or anyone else.
    Which mode do I need?
    If every programme starts, say, one hour too late on your TV, use "Move every programme" by -1 hour. If the clock times in the file are right for your country but the offset says +0000, use "Replace the offset". Use "Convert to another offset" only to rewrite a correct guide in another time zone; the programmes stay at the same moment.
    Why is my guide off by one hour only part of the year?
    Daylight saving time. A guide written with a fixed offset such as +0000 or +0100 is right in one season and an hour off in the other. A fixed shift cannot follow the change, so a guide fixed in winter needs fixing again in summer. A guide source that writes the correct offset for each date avoids this.
    Can I shift just one channel?
    Not yet: the shift applies to every programme in the file. If only some channels are off, they often come from a different source with a different offset; the EPG viewer shows the offsets each file uses.
    How do I use the corrected file?
    Your player has to load a guide from a file, or from an address you control. Many players also have a guide time offset setting, which is quicker when the whole guide is off by the same amount.
    Can it open .xml.gz guides?
    Yes. Gzipped guides are unpacked as they are read, and you can save the result gzipped again. A current Chrome, Edge, Firefox or Safari is needed for that.

    Watch it on your TV

    IPFlix Pro Player for Android TV, Google TV and Fire TV offers your playlist's EPG during setup and shows it in a TV Guide grid and a now/next info bar.

    1. Install IPFlix on the TV and open Add Playlist.
    2. Scan the QR code on the TV with your phone.
    3. On the phone, paste your provider's M3U link or type the Xtream login.

    7-day free trial with everything unlocked, counted from your first playlist. IPFlix does not provide channels or content.