Android & Android TV · Free, no accounts

Your media,
everywhere it lives.

JAVP is a bring-your-own player. Point it at your files, your media server, your playlists — and get a fast, gesture-first player that feels the way a video app should. Nothing is bundled, nothing phones home.

Free APK · Android 7.0+ · detecting your device…

  • No accounts
  • No ads
  • No tracking
  • Nothing bundled
Midnight Signal
0:44:501:58:00

Continue watching

On now

Match Day — Live Evening Report

For you

Try it: double-tap the sides to skip, press and hold for 2×.

Local files·Jellyfin·Emby·Plex· M3U / M3U8·Xtream Codes·JSON catalogs· HLS & direct links·Torrents·XMLTV EPG· Chromecast·WebDAV·

The player

Built around the thing you actually do: watch.

Every control is where your thumb already is. No menu diving, no mystery icons — just gestures that do the obvious thing, fast.

Hold for 2×

Press and hold either side to speed through a slow scene. Let go and you're back to normal speed, exactly where you were.

+10s

Double-tap to skip

±10 seconds a tap, and taps stack — tap three times for 30. Left rewinds, right skips, the middle just shows the controls.

LIVE

Scrub live like a DVR

On catch-up capable channels, rewind live TV, start the current programme over, then jump back to the live edge.

Lock & cinema mode

Lock the screen so a stray thumb can't ruin a scene. Cinema mode goes full-bleed and immersive; portrait keeps a browse panel below.

Picture-in-picture

Leave the app mid-episode and playback pops into a floating window. There's a mini player inside the app too.

Subtitles look
the way you want

Captions you control

Outline, shadow, boxed or fully custom — size, outline weight, margin, colour and background opacity. Or keep the original ASS styling intact.

libmpv engine

media_kit with the full libmpv codec set — hardware decoding by default, software fallback one toggle away.

Tracks & quality

Embedded and external subtitles and audio, preferred-language defaults, plus HLS/DASH rendition picking.

Skip the intro

Intro, recap and credits segments get a skip button — or skip themselves, if you'd rather.

Resume & next up

Progress is saved every few seconds, resumes where you stopped, and rolls into the next episode.

Cast

Send an HTTP stream to a Chromecast with its poster, title and your current position.

Speed presets

0.5× through 2× from the bottom bar, independent of the hold-to-boost gesture.

Bring your own

One app in front of everything you already have.

JAVP ships with no content — that's the point. Add a source and it shows up as posters, channels and shelves, wherever it came from.

Media servers

Jellyfin, Emby and Plex libraries with movies, series and episodes. Plex signs in with your account via a plex.tv PIN, or a plain URL and token.

IPTV playlists

M3U / M3U8 with EPG auto-detected from the playlist header, or full Xtream Codes with live, VOD and series syncing in the background.

Local files

Pick videos from the device, or open them straight from your file manager — JAVP registers for video intents.

Links & streams

Paste any direct HTTP(S), HLS or progressive URL and hit play. Deep links (javp://add?…) add whole sources in one tap.

Custom JSON catalog

Point JAVP at a catalog you host yourself and it renders as posters and shelves — a bulk dump, or a live query API it calls as you browse. Read the API docs.

Torrents

Drop in a magnet or .torrent and it streams over a local HTTP bridge, or downloads for offline. Your content, your call.

Everything lands on one Home screen

Continue watching, For you, My List, downloads, favourite channels and what's on now — mixed from every source you added, not siloed per service. Search covers the lot.

  • Continue watching
  • For you
  • My List
  • Collections
  • Playlists
  • Genres
  • History
  • Downloads

Live TV

A proper guide, and a rewind button.

Channels get an XMLTV guide, reminders that actually fire, and catch-up where your provider supports it — so "I missed the start" stops being a problem.

  • EPG guide — grid view with programme details and one-tap play
  • Reminders — a notification before it starts, tap to open the channel
  • Catch-up & timeshift — scrub back through the catch-up window, or start the programme over
  • Record to device — download a programme with padding before and after
  • Zapping — channel up/down and number keys, the way a set-top box works
  • Quality variants — duplicate HD/FHD/4K channels collapse into one, with your preference remembered

Android TV

Same APK. Big screen, real remote.

Install it on the TV and JAVP switches to a leanback layout: a left rail, D-pad focus that goes where you expect, and a set-top-box style live view.

  • Left rail — Home, Live, Catalog, Library, Search, My List, Settings
  • Fullscreen live — channel list and info as overlays, CH± and number keys to zap
  • Remote-first VOD — shelves built for a D-pad, with Play autofocused on detail pages
  • Add sources with your phone — the TV shows a QR code, you fill the form on your phone, the source appears on the TV

Pairing stays on your LAN with a short-lived token — nothing goes through a server.

Profiles & sync

Start on the phone. Finish on the TV.

Each profile keeps its own history, sources and preferences. Sync is a small JSON file you own — pick where it lives.

Synced folder

Syncthing, a Dropbox or Nextcloud desktop folder, a mounted share — anything that shows up as a path.

WebDAV

Nextcloud, ownCloud and most NAS boxes. Just a URL and credentials.

Google Drive

For a phone or TV with no mirrored folder. Uses the app-private area, so it never clutters My Drive.

It merges instead of clobbering

Watch history merges entry by entry, so progress from either device survives. Everything else is last-write-wins per section — removing a source actually sticks. Simultaneous writes are settled with a compare-and-swap, and a snapshot JAVP can't read is set aside rather than overwritten.

Set up a second device in one screen

Restore from sync on the welcome screen asks where your file lives, lists the profiles it finds, and drops you on Home with your sources and history already there. Nothing to re-add.

Privacy

No account. No analytics. No middleman.

There is no JAVP server holding your library. The app talks to your sources and to nothing else, unless you connect an optional integration yourself.

Zero telemetry

No analytics or crash-reporting SDK is bundled. There is nothing to opt out of.

Credentials stay put

Integration tokens and sync credentials live in the Android keystore-backed secure storage.

History is local

Watch history is stored on the device. SIMKL scrobbling is optional and never replaces it.

You choose the extras

SIMKL, TMDB and Trakt enrichment are off until you add your own key or sign in.

Only update checks

The one call JAVP makes on its own is a version check against updater.javp.app.

Your data stays portable

Sync writes one small JSON file per profile, wherever you point it. Copy it, move it or delete it — there is no server-side copy.

Full details in the privacy policy.

Get JAVP

A sideloaded APK — no store, no account. Grab the build that matches your device for a much smaller download.

Download for this device

Detecting your device…

All builds

Wrong ABI usually won't install — if you're unsure, take Universal. Verify against latest.json, which publishes a SHA-256 for every file.

  1. 1 Download the APK.
  2. 2 Allow your browser to install unknown apps when Android asks.
  3. 3 Open JAVP and add your first source. The app updates itself from then on.

FAQ

The obvious questions.

Does JAVP come with any content?

No. It's an empty player until you add a source. There is no built-in catalog, playlist or channel list, and none is downloaded for you.

Is it on the Play Store?

Not today. JAVP is distributed as a sideloaded APK from updater.javp.app, and the app checks for new versions itself — you can install them from Settings → Updates without coming back here.

Which Android versions work?

Android 7.0 (API 24) and newer, on phones, tablets and Android TV. The same APK covers all of them.

Which ABI should I pick?

ARM64 for nearly every modern phone and TV box. ARMv7 for older 32-bit devices, x86_64 for emulators and some Chromebooks. Universal works everywhere but is roughly three times the size.

Can I watch offline?

Yes. Direct streams and torrents can be downloaded to the device, with an optional Wi-Fi-only rule, and live programmes can be recorded from the guide.

Does it work in my language?

The interface is translated into 19 languages including English, French, Spanish, German, Italian, Portuguese, Dutch, Polish, Turkish, Russian, Ukrainian, Japanese, Chinese, Korean, Arabic, Hindi, Swedish, Indonesian and Vietnamese. You can override the system language in Settings.

Is the torrent support legal?

The feature streams torrents you supply. Use it for content you have the rights to — that's on you, and JAVP indexes nothing.

How do I report a bug or ask for a feature?

Email [email protected]. Telling us the device, the Android version and the kind of source you were using makes it much easier to reproduce.

Point it at your library.
See how it feels.