• GPL-3.0
  • No ads
  • No tracking
  • No account
  • No subscription

IPTV player for Android TV · Fire Stick · Phone · Windows

Always free,Always open source

VesperTV plays your IPTV subscription — live channels, movies and series — with a proper TV guide and an interface built to be driven by a remote from ten feet away. You bring the playlist. It brings everything else.

Downloader Code 1760256

One universal APK — Android phones and tablets, Android TV boxes and Fire TV sticks. On a PC, grab the Windows zip (Windows 10 or 11, 64-bit; no installer). There is nothing to sign up for.

VesperTV ships no channels. It is a player, not a streaming service — there is no content inside it and none is provided. You need your own IPTV provider: an Xtream Codes login, or an M3U playlist URL.

Before you start

You bring the playlist

VesperTV connects to a provider you already pay for. If you don't have one, the app will open, look lovely, and show you nothing. Either of these gets you running:

Xtream Codes Login

Server URL, username and password. VesperTV pulls your live channels, movies and series catalogues, plus the EPG, straight from the provider's API.

M3U playlist URL

A direct .m3u or .m3u8 URL, with an optional separate XMLTV EPG URL for the guide. Add as many as you like and switch between them.


What's inside

Everything a set-top box should have done

Built by someone who got tired of IPTV apps that are slow, full of adverts, or quietly phoning home. The full list, grouped — none of it behind a paywall, because there isn't one.

01 / PLAYLISTS & SERVERS

Connect once, stay connected

Providers go down. The app is built on the assumption that yours will.

  • As many playlists as you want Xtream Codes logins and M3U / M3U8 URLs side by side. Each one can be switched on or off independently, and everything that's on merges into a single set of tabs.
  • Backup servers Give a playlist alternate server addresses. If the main one won't answer, VesperTV tries each backup a few seconds apart, remembers which one replied, and starts there next time.
  • Reconnects mid-stream A live channel that drops while you're watching falls back through those same backup servers rather than dumping you out to the menu.
  • Channel pairing across playlists Link a channel on one playlist to its equivalent on another — matched automatically where the names line up, or picked by hand where they don't. If a channel fails to load, or you switch away from it yourself, you can fall back to the paired channel on a different provider entirely.
  • Subscription expiry When your provider reports an expiry date for the account, the app shows it — so the day it lapses isn't a mystery.
  • Errors that say something A failed connection names the server that failed and gives you a Retry action, instead of an empty screen and a shrug.

02 / LIVE TV

A guide worth reading

The part most IPTV apps either skip or render unreadably.

  • XMLTV programme guide Now playing and up next for every channel, with a progress bar showing how far through the current programme you are.
  • Groups in their own column Channel groups get a dedicated column rather than being buried in a dropdown, so moving between categories is one press sideways.
  • Hide the groups you never watch Hidden groups are also skipped during background downloading, so the categories you don't care about cost you nothing at all.
  • Favourite channels and groups Pin individual channels or whole groups. Favourites are shared across every playlist, so they survive switching providers.
  • Picks up where you left off Launch the app and your last channel comes back automatically.
  • Live pill Wander off into the movie catalogue and a floating pill stays on screen to jump you straight back to the live channel you left playing.

03 / MOVIES & TV SHOWS

A catalogue, not a spreadsheet

Video on demand browsed by artwork, the way it should be.

  • Poster-grid browsing Films and series laid out as artwork by category, with the ratings your provider supplies shown on the tiles.
  • Proper series support Seasons and episodes are structured as such, and the next episode auto-advances when the current one finishes.
  • Continue watching Playback positions are kept for both films and individual episodes, so you resume exactly where you stopped.
  • “What's New” slideshow An optional rotating showcase of recently added titles. It's opt-in from the groups list — off unless you ask for it.
  • Search across everything Search live channels, movies and TV shows all at once, each shown as its own row of results.

04 / REMOTE, TV & SPEED

Fast on the hardware you own

Including the five-year-old stick behind the television.

  • Full D-pad navigation A genuine 10-foot interface — every screen is reachable with arrows and OK, with no assumption that a touchscreen exists.
  • Phone, box, stick and PC Android phones and tablets, Android TV boxes such as Formuler, and Amazon Fire Sticks, all from one universal APK — plus a Windows 10/11 desktop build (64-bit) that runs straight from a zip.
  • Local catalogue database Your provider's listings are indexed on-device instead of re-parsed every launch, so tens of thousands of channels stay quick on cheap hardware.
  • Background updates, on your schedule The catalogue refreshes itself in the background at an interval you choose, rather than making you wait at startup.
  • Hardware-accelerated playback Decoding is handed to the device, including 4K and HDR where the hardware supports it.
  • Updates itself A built-in update check tells you when a new release is out and fetches it — no reinstalling by hand every time.

Ten feet away

Designed for a remote, not retrofitted for one

Most IPTV apps are phone apps someone stretched onto a television. Every screen here was laid out for a D-pad first: predictable focus order, targets big enough to hit from the sofa, and a focus ring you can actually see across the room.

  • Nothing needs a pointer. Arrows and OK reach every control, including the player.
  • Seek, subtitles and audio tracks are all on the remote, without a settings safari.
  • Tested on the real thing — Formuler boxes and Fire TV sticks, not just an emulator.
  • Touch-first on phones. The same app detects the device and lays itself out properly.

Install

Three ways in, five minutes each

VesperTV isn't on the Play Store or the Amazon Appstore — it is sideloaded, the same way you'd install anything else on a stick or a box.

02 / ANDROID TV BOX

Formuler, Shield & friends

  1. The same Downloader code 1760256 works here. If Downloader can't install afterward, find Unknown Sources in your box's settings (usually under Security, or Device Preferences) and allow it for Downloader.
  2. Or, if you have developer options on, install over USB debugging with
    adb install -r app-release.apk
  3. Launch VesperTV and add your playlist under Settings.

Built and tested on Formuler boxes with a physical remote.

03 / PHONE & TABLET

Direct download

  1. Tap the download button below on the device itself.
  2. Allow your browser to install unknown apps when prompted.
  3. Open the downloaded APK and install it.
Get app-release.apk

04 / WINDOWS

Windows 10 / 11 (64-bit)

  1. Download the zip below and extract it anywhere.
  2. Run nox_iptv.exe inside the extracted folder (it needs the other files beside it, so keep the folder together) — no installer, no admin rights needed. Works on Windows 10 and 11, 64-bit.
  3. To update later, extract a new zip over the old folder and run it again.
Get VesperTV-windows-x64.zip

New here? Start here

How everything works, in plain language

Written for someone who has never touched an app like this before — no jargon left unexplained. Tap any question to open it. If you're helping someone less comfortable with tech get started, this is the page to send them.

The remote — the basics

What do the remote buttons actually do?

The arrow buttons move a highlight around the screen — that highlight shows you where you are. Press OK (sometimes labelled Select, or it's the button in the middle of the arrows) to open or play whatever's highlighted. Press Back to leave the current screen and go up one level — pressing it enough times always gets you back to the very start.

On a channel or a movie poster, try holding OK down for a second instead of just tapping it. On several screens that opens a small extra menu — adding something to Favourites, or hiding a channel you never watch — that a quick tap doesn't show.

I'm lost. How do I always get back to a safe place?

Press Back repeatedly. Each press backs out one step — out of a settings screen, out of a menu, out of a channel list — until you land on the main screen with the tabs (Live, Movies, TV Shows) across the top or side. You cannot break anything by pressing it too many times.

Playlists — connecting your subscription

What is a "playlist"? It's not a music playlist, right?

Right — inside VesperTV, a playlist just means one connection to one IPTV subscription: either an Xtream Codes login (a server address, username and password your provider gave you) or a direct link to an M3U file. It's the thing that actually supplies the channels. VesperTV itself has none built in.

Can I add more than one subscription?

Yes — go to Settings → Add Playlist and add as many as you have. Every playlist you turn on gets merged together into one combined set of channels, movies and shows, so you're not switching apps to use a second subscription.

What does the "disable playlist" switch do, and why would I use it?

Most IPTV subscriptions only allow one device to watch at a time. If you want to watch on a different device — your phone, say, while the living room box is technically still "connected" — turning that playlist's switch off here first releases the one connection your subscription allows, so the other device can use it. Nothing about the playlist itself is deleted; flipping the switch back on brings it right back.

You'll find this switch on the playlist's own settings screen, usually near the top, labelled something like "Playlist enabled."

What are "backup servers" for?

Some providers give you more than one server address for the exact same account. If you add those extra addresses as backup servers on a playlist, VesperTV will automatically try them, in order, whenever the main one won't answer — including mid-stream, if a channel you're actively watching drops. You don't have to do anything when that happens; it happens on its own.

Organizing your channels

There are too many categories/groups. How do I clean that up?

Open a playlist's own settings and look for Group Management. It lists every category your provider sends — sports, movies, international channels, whatever they are — with a switch next to each one. Turn off anything you'll never watch, and it disappears from your channel list entirely (and VesperTV stops even downloading information about it, so it's not slowing anything down in the background either).

Can I hide just one or two channels, without hiding the whole group?

Yes — that's what Hidden Channels is for, found under Settings → Playlist Manager → Hidden Channels. It's separate from Group Management above: Group Management hides an entire category, Hidden Channels hides individual channels one at a time, without touching the rest of that category. Anything hidden this way can always be found again and switched back on from that same screen.

How do Favourites work?

Highlight a channel, movie or show and hold OK down for a second — a small menu appears with an option to favourite it. Favourited channels and groups are pinned together in their own spot for quick access, and they stay favourited even if you switch which playlist is active, since favourites aren't tied to any one provider.

The TV guide (EPG)

What does "EPG" mean?

EPG stands for Electronic Programme Guide — it's just the schedule data: what's airing right now on each channel, what's on next, and (in the fuller guide) what's on for the rest of the day. Your provider usually supplies this automatically alongside your channels.

There are two different guide layouts — what's the difference?

Now/Next is a simple list: each channel with what's playing right now underneath it, one programme at a time. Timeline is a fuller schedule grid — channels down the left, hours of programming laid out across the top, so you can see what's on later this evening at a glance. Switch between them in Settings → Theme → Live TV guide. Pick whichever one you find easier to read; they show the same information.

My guide is missing or wrong for some channels. Can I fix it?

Two options, depending on the problem. If your provider's schedule data is incomplete, you can point VesperTV at a different, more complete guide source yourself: when adding or editing a playlist, there's an optional Custom EPG (XMLTV) URL field — paste a guide URL there (your provider or a public XMLTV source can supply one) and leave it blank otherwise to use the provider's own.

If the guide data exists but is showing up on the wrong channel, that's a matching problem, not a missing-data problem — see the next question.

What is "EPG Matching"?

A guide source identifies channels by an internal code, and sometimes that code doesn't line up with what your provider calls the same channel — resulting in a channel with no schedule showing at all, or someone else's schedule. EPG Matching, under Settings → EPG → EPG Matching, lets you manually tell VesperTV "this channel's schedule actually comes from that guide entry." There's also an Auto-Match button that tries to pair everything up automatically first, so you're usually only fixing a handful of leftovers by hand, not doing the whole list yourself.

Channel pairing (backups across providers)

What is Channel Pairing, and why would I need it?

If you have more than one playlist active, Channel Pairing lets you link a channel on one to its equivalent on another — for example, the same sports channel offered by two different providers you're subscribed to. Under Settings → EPG → Channel Pairing, an Auto-Pair button matches channels with matching names automatically; anything it can't confidently match, you can link by hand instead.

How do I actually use a pairing once it's set up?

While watching a paired channel, a small swap icon in the player controls lets you switch straight to its paired equivalent with one press — useful the moment a channel starts buffering badly or drops out entirely on the provider you're currently using. If a channel fails to load in the first place and it has a pairing set up, VesperTV will also offer that same switch right on the error screen.

Recall — jump back to a channel you just left

What does the Recall button do?

Think of it like the "Last channel" or "Recall" button on an old cable remote. While watching live TV, a clock-icon button in the player controls (furthest to the left, since it's about going backward) shows the last few channels you were watching before this one — say you went from ESPN to RDS to LCN to TVA Sports, Recall shows exactly that list, and picking one switches straight back to it. No need to dig back through the whole channel list to find where you just were.

Movies & TV Shows

How is browsing movies and shows different from live TV?

Movies and TV Shows are browsed as a grid of poster artwork, organized into rows by category — much like Netflix. Arrow left and right to move along a row, up and down to jump between categories. Picking a show takes you into its list of seasons and episodes rather than playing something directly.

What's "Continue Watching"?

VesperTV remembers exactly where you stopped in any movie or episode. A "Continue Watching" row appears at the top of the Movies and TV Shows tabs with anything you're partway through, so picking up tonight where you left off last night is one press, not a search.

How do I search for something specific?

There's a Search option (usually reachable from the top of the screen, or via a dedicated Search button on the tabs) that searches live channels, movies and TV shows all at once, each shown as its own row of results — no need to switch between the three.

What's "Expand catalog"?

Hold Select on any category in the Movies or TV Shows groups list and choose Expand catalog to open that whole category as a full poster grid, instead of just the one scrollable row you'd normally see in the browse view — handy for a big category where scrolling sideways would take a while. Press Back to return to normal browsing.

Making it your own

Can I change how the app looks?

Yes — Settings → Theme has a set of colour palettes to pick from, plus the Live TV guide layout choice mentioned above. Purely cosmetic; nothing about how the app works changes based on which one you pick, so feel free to try a few.

When something isn't working

A channel won't play, or the app shows a connection error. Now what?

The error screen names what failed and offers a Retry button — try that first, since providers do have brief hiccups. If the playlist has backup servers configured, VesperTV is likely already trying those automatically behind the scenes. If you've set up a Channel Pairing for that channel, you'll also see an option right there to switch to its paired equivalent on another playlist instead of waiting.

If none of that helps, the problem is almost always on the provider's side, not the app's — the same channel failing everywhere for everyone using that provider is the usual sign of that.

None of this covers my problem. Where do I actually ask for help?

Join the Discord server — that's the fastest way to ask a real person. Mention what device you're on (phone, Formuler box, Fire Stick), what you were trying to do, and what happened instead. You can also open an issue on GitHub if you're comfortable there.

Always free,
Always open source

Not free-for-now, not free-with-an-upgrade-prompt. VesperTV is licensed under the GNU General Public Licence v3.0 — every line of it is on GitHub, you can read it, build it, fork it, and it has to stay open. There is no telemetry, no analytics SDK, no account, and nothing to buy.

Straight answers

Questions people actually ask

Does VesperTV come with channels?

No. It contains no channels, no streams, no playlists and no subscription of any kind, and none are supplied or sold. It is an empty player until you point it at a provider you already have — via Xtream Codes credentials or an M3U URL.

What you connect it to, and whether you're entitled to that content, is between you and your provider.

Is it really free? What's the catch?

There is no catch, no trial, no pro tier and no advertising. It's a personal project released under GPL-3.0 because that felt like the right thing to do with it. The licence means it stays that way, even if someone forks it.

Does it track me or send my credentials anywhere?

No analytics, no crash reporting services, no accounts. Your playlist URLs and credentials are stored on the device and are sent only to the provider you entered, because that's who serves the streams. The source is public if you'd rather verify that than take a stranger's word for it.

Which devices does it run on?

Android phones and tablets, Android TV boxes (developed against Formuler hardware) and Amazon Fire TV sticks. One universal APK covers all of them and adapts its layout to touch or D-pad automatically. It also runs on Windows 10 and 11 (64-bit): download the zip, extract it and run nox_iptv.exe — no installer or admin rights, and it opens fullscreen.

Why isn't it on the Play Store?

Sideloading keeps it free of store policies, listing fees and the review friction that tends to follow anything IPTV-shaped. The download link here always points at the latest release, and the app can check for updates itself.

I found a bug. Where do I send it?

Join the Discord server for bug reports, suggestions and general discussion, or open an issue on GitHub. Either way, your device model, the app version and what you were doing at the time make it enormously easier to fix.