Repository files navigation

Plozz logo

Plozz

A free, open source media player for Jellyfin, Plex, and Emby — native on Apple TV, iPhone, and iPad.
It also plays straight from network shares, so a folder of files works too.

plozz.app

Join the Plozz public beta on TestFlight

Latest TestFlight betaLicense: GPL-3.0Platform: tvOS, iOS, iPadOSDonate


A look at it

The Plozz home screen, with a featured show and a Continue Watching rowA series detail page showing artwork, cast, ratings and episodes

Home — one row set across every server you've connected.Detail — artwork, ratings, cast and episodes, filled in automatically.

The Plozz player showing an episode with the transport bar visiblePlozz settings, showing a library sync in progress and the settings list

Player — plays essentially anything, with real subtitle control.Settings — per-profile, and there is a lot you can change.

More screens, including iPhone and iPad, are on plozz.app.

What it is

Plozz plays the movies, shows, and music on your server, on your Apple TV, iPhone, and iPad. It's free and open source.

It talks to Jellyfin, Plex, and Emby, and it can read a plain network share directly if you don't run a server at all. Connect more than one and Plozz presents them as a single library rather than a set of tabs you switch between.

Features

Your servers, together

  • Jellyfin, Plex, and Emby — all three are first-class. Nothing is a second-tier afterthought bolted on later.
  • Network shares too — SMB, NFS, WebDAV, SFTP, and FTP. A bare folder of files becomes a real library with artwork, descriptions, ratings, and cast. (Shares are supported, but still the newest and roughest part.)
  • One merged library — connect several servers and see one set of rows instead of picking a server first.
  • Sync watch history across servers — optional, and off until you ask for it.
  • Found automatically — Plozz detects Jellyfin, Emby, and Seerr servers on your network so you don't type an address.
  • Sign in without the remote — Jellyfin Quick Connect, Plex Link, and Emby password sign-in.

Watching

  • Plays essentially anything — HDR, Dolby Vision, AV1, and the awkward files other clients hand back to you, powered by AetherEngine. (The full format list.)
  • Subtitles you can actually read — change font, size, weight, colour, opacity, background, shadow, position, and HDR brightness from inside the player.
  • Two subtitle tracks at once — for learning a language, or for a household that doesn't share one.
  • Mark as watched — a whole season, or everything up to a given episode.
  • Watched and unwatched indicators — a checkmark, or an unwatched corner badge in the Infuse / classic-Plex style, on every poster.

Music

  • Your music library too — browse albums and artists, queue things up, and keep listening with a mini-player while you carry on browsing. Audio keeps playing in the background.

Make it yours

  • Themes — light, dark, or Pure Black.
  • Layout — change how dense the rows are, whether the big hero banner shows at all, and how navigation behaves.
  • Profiles — real Apple TV profile support. Every setting is per-profile, and Plozz remembers which one you were using.
  • Circadian mode — warms and dims the app at times you choose, so late-night viewing isn't a floodlight.

Connected services

  • Trackers — Trakt, AniList, MyAnimeList, Simkl, and Last.fm, across movies, TV, anime, and music.
  • Seerr — request something you don't have without leaving search.

Getting started

Plozz is in public beta on TestFlight. Join the beta and it installs on your Apple TV, iPhone, and iPad.

You'll need one of: a Jellyfin, Plex, or Emby server, or a network share with your media on it. Plozz will offer to set up whichever it finds.

Found a bug? Want something?

Open an issue and pick a template — 🐞 Bug report or ✨ Feature request. Bug reports are read and they do get fixed; feature requests genuinely shape what gets built next.

Please don't paste tokens, passwords, or credentialed server URLs into an issue.

Contributing

Pull requests are welcome. Building the app, running the tests, the module layout, how localization works, and the release process are all in CONTRIBUTING.md, with the deeper notes in docs/.

Donate

Plozz will always be free and open source, with no paywall, ads, or obligation. If it's useful to you, donations toward upkeep are welcome — and not donating is completely okay.

Donate via GitHub Sponsors — one-time or recurring.

Credits & attribution

Plozz is an unofficial client and is not affiliated with, endorsed, or certified by any of the services below.

  • AetherEngine — on-device playback engine (FFmpeg demux → VideoToolbox decode) by Vincent Herbst, LGPL-3.0 with an App Store exception. superuser404notfound/AetherEngine. Its bundled FFmpeg is a decode-only, LGPL-3.0 build (see NOTICE.md).

  • The Movie Database (TMDB) — some artwork and metadata is provided by the TMDB API. This product uses the TMDB API but is not endorsed or certified by TMDB. TMDB's marks and logos are trademarks of TMDB.

    The Movie Database (TMDB)

  • TheTVDB — some metadata and artwork is provided by TheTVDB. Please consider adding missing information or subscribing at thetvdb.com. This product uses the TheTVDB API but is not endorsed or certified by TheTVDB.

    TheTVDB

  • OMDb API — optional IMDb ratings enrichment (requires your own OMDb key).

  • AniList — keyless community scores for anime titles.

  • Plex, Jellyfin, and Emby — the media servers Plozz connects to. All library content, artwork, and ratings shown in the app are supplied by your own server. Those names are trademarks of their respective owners.

License

GPL-3.0, with an App Store Exception © 2026 Brandon Moore


More open source

HozzMozzPlozzTwozz

Brandon Moore

About

Free, open-source native Apple TV, iOS, and iPadOS app for Jellyfin, Plex, Emby, and local shares (SMB, NFS, WebDAV, SFTP, FTP). Stream your movies, shows, and music on all devices with auto skip, full subtitle support, dark/light modes, customizable UI, multi-server sync, supports all trackers (Last.fm, AniList, MyAnimeList, Trakt, Simkl).

Topics

Resources

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Plozz logo

Plozz

A free, open source media player for Jellyfin, Plex, and Emby — native on Apple TV, iPhone, and iPad.
It also plays straight from network shares, so a folder of files works too.

plozz.app

Join the Plozz public beta on TestFlight

Latest TestFlight betaLicense: GPL-3.0Platform: tvOS, iOS, iPadOSDonate


A look at it

The Plozz home screen, with a featured show and a Continue Watching rowA series detail page showing artwork, cast, ratings and episodes

Home — one row set across every server you've connected.Detail — artwork, ratings, cast and episodes, filled in automatically.

The Plozz player showing an episode with the transport bar visiblePlozz settings, showing a library sync in progress and the settings list

Player — plays essentially anything, with real subtitle control.Settings — per-profile, and there is a lot you can change.

More screens, including iPhone and iPad, are on plozz.app.

What it is

Plozz plays the movies, shows, and music on your server, on your Apple TV, iPhone, and iPad. It's free and open source.

It talks to Jellyfin, Plex, and Emby, and it can read a plain network share directly if you don't run a server at all. Connect more than one and Plozz presents them as a single library rather than a set of tabs you switch between.

Features

Your servers, together

  • Jellyfin, Plex, and Emby — all three are first-class. Nothing is a second-tier afterthought bolted on later.
  • Network shares too — SMB, NFS, WebDAV, SFTP, and FTP. A bare folder of files becomes a real library with artwork, descriptions, ratings, and cast. (Shares are supported, but still the newest and roughest part.)
  • One merged library — connect several servers and see one set of rows instead of picking a server first.
  • Sync watch history across servers — optional, and off until you ask for it.
  • Found automatically — Plozz detects Jellyfin, Emby, and Seerr servers on your network so you don't type an address.
  • Sign in without the remote — Jellyfin Quick Connect, Plex Link, and Emby password sign-in.

Watching

  • Plays essentially anything — HDR, Dolby Vision, AV1, and the awkward files other clients hand back to you, powered by AetherEngine. (The full format list.)
  • Subtitles you can actually read — change font, size, weight, colour, opacity, background, shadow, position, and HDR brightness from inside the player.
  • Two subtitle tracks at once — for learning a language, or for a household that doesn't share one.
  • Mark as watched — a whole season, or everything up to a given episode.
  • Watched and unwatched indicators — a checkmark, or an unwatched corner badge in the Infuse / classic-Plex style, on every poster.

Music

  • Your music library too — browse albums and artists, queue things up, and keep listening with a mini-player while you carry on browsing. Audio keeps playing in the background.

Make it yours

  • Themes — light, dark, or Pure Black.
  • Layout — change how dense the rows are, whether the big hero banner shows at all, and how navigation behaves.
  • Profiles — real Apple TV profile support. Every setting is per-profile, and Plozz remembers which one you were using.
  • Circadian mode — warms and dims the app at times you choose, so late-night viewing isn't a floodlight.

Connected services

  • Trackers — Trakt, AniList, MyAnimeList, Simkl, and Last.fm, across movies, TV, anime, and music.
  • Seerr — request something you don't have without leaving search.

Getting started

Plozz is in public beta on TestFlight. Join the beta and it installs on your Apple TV, iPhone, and iPad.

You'll need one of: a Jellyfin, Plex, or Emby server, or a network share with your media on it. Plozz will offer to set up whichever it finds.

Found a bug? Want something?

Open an issue and pick a template — 🐞 Bug report or ✨ Feature request. Bug reports are read and they do get fixed; feature requests genuinely shape what gets built next.

Please don't paste tokens, passwords, or credentialed server URLs into an issue.

Contributing

Pull requests are welcome. Building the app, running the tests, the module layout, how localization works, and the release process are all in CONTRIBUTING.md, with the deeper notes in docs/.

Donate

Plozz will always be free and open source, with no paywall, ads, or obligation. If it's useful to you, donations toward upkeep are welcome — and not donating is completely okay.

Donate via GitHub Sponsors — one-time or recurring.

Credits & attribution

Plozz is an unofficial client and is not affiliated with, endorsed, or certified by any of the services below.

  • AetherEngine — on-device playback engine (FFmpeg demux → VideoToolbox decode) by Vincent Herbst, LGPL-3.0 with an App Store exception. superuser404notfound/AetherEngine. Its bundled FFmpeg is a decode-only, LGPL-3.0 build (see NOTICE.md).

  • The Movie Database (TMDB) — some artwork and metadata is provided by the TMDB API. This product uses the TMDB API but is not endorsed or certified by TMDB. TMDB's marks and logos are trademarks of TMDB.

    The Movie Database (TMDB)

  • TheTVDB — some metadata and artwork is provided by TheTVDB. Please consider adding missing information or subscribing at thetvdb.com. This product uses the TheTVDB API but is not endorsed or certified by TheTVDB.

    TheTVDB

  • OMDb API — optional IMDb ratings enrichment (requires your own OMDb key).

  • AniList — keyless community scores for anime titles.

  • Plex, Jellyfin, and Emby — the media servers Plozz connects to. All library content, artwork, and ratings shown in the app are supplied by your own server. Those names are trademarks of their respective owners.

License

GPL-3.0, with an App Store Exception © 2026 Brandon Moore


More open source

HozzMozzPlozzTwozz

Brandon Moore

About

Free, open-source native Apple TV, iOS, and iPadOS app for Jellyfin, Plex, Emby, and local shares (SMB, NFS, WebDAV, SFTP, FTP). Stream your movies, shows, and music on all devices with auto skip, full subtitle support, dark/light modes, customizable UI, multi-server sync, supports all trackers (Last.fm, AniList, MyAnimeList, Trakt, Simkl).

Topics

Resources

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Plozz logo

Plozz

A free, open source media player for Jellyfin, Plex, and Emby — native on Apple TV, iPhone, and iPad.
It also plays straight from network shares, so a folder of files works too.

plozz.app

Join the Plozz public beta on TestFlight

Latest TestFlight betaLicense: GPL-3.0Platform: tvOS, iOS, iPadOSDonate


A look at it

The Plozz home screen, with a featured show and a Continue Watching rowA series detail page showing artwork, cast, ratings and episodes

Home — one row set across every server you've connected.Detail — artwork, ratings, cast and episodes, filled in automatically.

The Plozz player showing an episode with the transport bar visiblePlozz settings, showing a library sync in progress and the settings list

Player — plays essentially anything, with real subtitle control.Settings — per-profile, and there is a lot you can change.

More screens, including iPhone and iPad, are on plozz.app.

What it is

Plozz plays the movies, shows, and music on your server, on your Apple TV, iPhone, and iPad. It's free and open source.

It talks to Jellyfin, Plex, and Emby, and it can read a plain network share directly if you don't run a server at all. Connect more than one and Plozz presents them as a single library rather than a set of tabs you switch between.

Features

Your servers, together

  • Jellyfin, Plex, and Emby — all three are first-class. Nothing is a second-tier afterthought bolted on later.
  • Network shares too — SMB, NFS, WebDAV, SFTP, and FTP. A bare folder of files becomes a real library with artwork, descriptions, ratings, and cast. (Shares are supported, but still the newest and roughest part.)
  • One merged library — connect several servers and see one set of rows instead of picking a server first.
  • Sync watch history across servers — optional, and off until you ask for it.
  • Found automatically — Plozz detects Jellyfin, Emby, and Seerr servers on your network so you don't type an address.
  • Sign in without the remote — Jellyfin Quick Connect, Plex Link, and Emby password sign-in.

Watching

  • Plays essentially anything — HDR, Dolby Vision, AV1, and the awkward files other clients hand back to you, powered by AetherEngine. (The full format list.)
  • Subtitles you can actually read — change font, size, weight, colour, opacity, background, shadow, position, and HDR brightness from inside the player.
  • Two subtitle tracks at once — for learning a language, or for a household that doesn't share one.
  • Mark as watched — a whole season, or everything up to a given episode.
  • Watched and unwatched indicators — a checkmark, or an unwatched corner badge in the Infuse / classic-Plex style, on every poster.

Music

  • Your music library too — browse albums and artists, queue things up, and keep listening with a mini-player while you carry on browsing. Audio keeps playing in the background.

Make it yours

  • Themes — light, dark, or Pure Black.
  • Layout — change how dense the rows are, whether the big hero banner shows at all, and how navigation behaves.
  • Profiles — real Apple TV profile support. Every setting is per-profile, and Plozz remembers which one you were using.
  • Circadian mode — warms and dims the app at times you choose, so late-night viewing isn't a floodlight.

Connected services

  • Trackers — Trakt, AniList, MyAnimeList, Simkl, and Last.fm, across movies, TV, anime, and music.
  • Seerr — request something you don't have without leaving search.

Getting started

Plozz is in public beta on TestFlight. Join the beta and it installs on your Apple TV, iPhone, and iPad.

You'll need one of: a Jellyfin, Plex, or Emby server, or a network share with your media on it. Plozz will offer to set up whichever it finds.

Found a bug? Want something?

Open an issue and pick a template — 🐞 Bug report or ✨ Feature request. Bug reports are read and they do get fixed; feature requests genuinely shape what gets built next.

Please don't paste tokens, passwords, or credentialed server URLs into an issue.

Contributing

Pull requests are welcome. Building the app, running the tests, the module layout, how localization works, and the release process are all in CONTRIBUTING.md, with the deeper notes in docs/.

Donate

Plozz will always be free and open source, with no paywall, ads, or obligation. If it's useful to you, donations toward upkeep are welcome — and not donating is completely okay.

Donate via GitHub Sponsors — one-time or recurring.

Credits & attribution

Plozz is an unofficial client and is not affiliated with, endorsed, or certified by any of the services below.

  • AetherEngine — on-device playback engine (FFmpeg demux → VideoToolbox decode) by Vincent Herbst, LGPL-3.0 with an App Store exception. superuser404notfound/AetherEngine. Its bundled FFmpeg is a decode-only, LGPL-3.0 build (see NOTICE.md).

  • The Movie Database (TMDB) — some artwork and metadata is provided by the TMDB API. This product uses the TMDB API but is not endorsed or certified by TMDB. TMDB's marks and logos are trademarks of TMDB.

    The Movie Database (TMDB)

  • TheTVDB — some metadata and artwork is provided by TheTVDB. Please consider adding missing information or subscribing at thetvdb.com. This product uses the TheTVDB API but is not endorsed or certified by TheTVDB.

    TheTVDB

  • OMDb API — optional IMDb ratings enrichment (requires your own OMDb key).

  • AniList — keyless community scores for anime titles.

  • Plex, Jellyfin, and Emby — the media servers Plozz connects to. All library content, artwork, and ratings shown in the app are supplied by your own server. Those names are trademarks of their respective owners.

License

GPL-3.0, with an App Store Exception © 2026 Brandon Moore


More open source

HozzMozzPlozzTwozz

Brandon Moore

About

Free, open-source native Apple TV, iOS, and iPadOS app for Jellyfin, Plex, Emby, and local shares (SMB, NFS, WebDAV, SFTP, FTP). Stream your movies, shows, and music on all devices with auto skip, full subtitle support, dark/light modes, customizable UI, multi-server sync, supports all trackers (Last.fm, AniList, MyAnimeList, Trakt, Simkl).

Topics

Resources

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Plozz logo

Plozz

A free, open source media player for Jellyfin, Plex, and Emby — native on Apple TV, iPhone, and iPad.
It also plays straight from network shares, so a folder of files works too.

plozz.app

Join the Plozz public beta on TestFlight

Latest TestFlight betaLicense: GPL-3.0Platform: tvOS, iOS, iPadOSDonate


A look at it

The Plozz home screen, with a featured show and a Continue Watching rowA series detail page showing artwork, cast, ratings and episodes

Home — one row set across every server you've connected.Detail — artwork, ratings, cast and episodes, filled in automatically.

The Plozz player showing an episode with the transport bar visiblePlozz settings, showing a library sync in progress and the settings list

Player — plays essentially anything, with real subtitle control.Settings — per-profile, and there is a lot you can change.

More screens, including iPhone and iPad, are on plozz.app.

What it is

Plozz plays the movies, shows, and music on your server, on your Apple TV, iPhone, and iPad. It's free and open source.

It talks to Jellyfin, Plex, and Emby, and it can read a plain network share directly if you don't run a server at all. Connect more than one and Plozz presents them as a single library rather than a set of tabs you switch between.

Features

Your servers, together

  • Jellyfin, Plex, and Emby — all three are first-class. Nothing is a second-tier afterthought bolted on later.
  • Network shares too — SMB, NFS, WebDAV, SFTP, and FTP. A bare folder of files becomes a real library with artwork, descriptions, ratings, and cast. (Shares are supported, but still the newest and roughest part.)
  • One merged library — connect several servers and see one set of rows instead of picking a server first.
  • Sync watch history across servers — optional, and off until you ask for it.
  • Found automatically — Plozz detects Jellyfin, Emby, and Seerr servers on your network so you don't type an address.
  • Sign in without the remote — Jellyfin Quick Connect, Plex Link, and Emby password sign-in.

Watching

  • Plays essentially anything — HDR, Dolby Vision, AV1, and the awkward files other clients hand back to you, powered by AetherEngine. (The full format list.)
  • Subtitles you can actually read — change font, size, weight, colour, opacity, background, shadow, position, and HDR brightness from inside the player.
  • Two subtitle tracks at once — for learning a language, or for a household that doesn't share one.
  • Mark as watched — a whole season, or everything up to a given episode.
  • Watched and unwatched indicators — a checkmark, or an unwatched corner badge in the Infuse / classic-Plex style, on every poster.

Music

  • Your music library too — browse albums and artists, queue things up, and keep listening with a mini-player while you carry on browsing. Audio keeps playing in the background.

Make it yours

  • Themes — light, dark, or Pure Black.
  • Layout — change how dense the rows are, whether the big hero banner shows at all, and how navigation behaves.
  • Profiles — real Apple TV profile support. Every setting is per-profile, and Plozz remembers which one you were using.
  • Circadian mode — warms and dims the app at times you choose, so late-night viewing isn't a floodlight.

Connected services

  • Trackers — Trakt, AniList, MyAnimeList, Simkl, and Last.fm, across movies, TV, anime, and music.
  • Seerr — request something you don't have without leaving search.

Getting started

Plozz is in public beta on TestFlight. Join the beta and it installs on your Apple TV, iPhone, and iPad.

You'll need one of: a Jellyfin, Plex, or Emby server, or a network share with your media on it. Plozz will offer to set up whichever it finds.

Found a bug? Want something?

Open an issue and pick a template — 🐞 Bug report or ✨ Feature request. Bug reports are read and they do get fixed; feature requests genuinely shape what gets built next.

Please don't paste tokens, passwords, or credentialed server URLs into an issue.

Contributing

Pull requests are welcome. Building the app, running the tests, the module layout, how localization works, and the release process are all in CONTRIBUTING.md, with the deeper notes in docs/.

Donate

Plozz will always be free and open source, with no paywall, ads, or obligation. If it's useful to you, donations toward upkeep are welcome — and not donating is completely okay.

Donate via GitHub Sponsors — one-time or recurring.

Credits & attribution

Plozz is an unofficial client and is not affiliated with, endorsed, or certified by any of the services below.

  • AetherEngine — on-device playback engine (FFmpeg demux → VideoToolbox decode) by Vincent Herbst, LGPL-3.0 with an App Store exception. superuser404notfound/AetherEngine. Its bundled FFmpeg is a decode-only, LGPL-3.0 build (see NOTICE.md).

  • The Movie Database (TMDB) — some artwork and metadata is provided by the TMDB API. This product uses the TMDB API but is not endorsed or certified by TMDB. TMDB's marks and logos are trademarks of TMDB.

    The Movie Database (TMDB)

  • TheTVDB — some metadata and artwork is provided by TheTVDB. Please consider adding missing information or subscribing at thetvdb.com. This product uses the TheTVDB API but is not endorsed or certified by TheTVDB.

    TheTVDB

  • OMDb API — optional IMDb ratings enrichment (requires your own OMDb key).

  • AniList — keyless community scores for anime titles.

  • Plex, Jellyfin, and Emby — the media servers Plozz connects to. All library content, artwork, and ratings shown in the app are supplied by your own server. Those names are trademarks of their respective owners.

License

GPL-3.0, with an App Store Exception © 2026 Brandon Moore


More open source

HozzMozzPlozzTwozz

Brandon Moore

About

Free, open-source native Apple TV, iOS, and iPadOS app for Jellyfin, Plex, Emby, and local shares (SMB, NFS, WebDAV, SFTP, FTP). Stream your movies, shows, and music on all devices with auto skip, full subtitle support, dark/light modes, customizable UI, multi-server sync, supports all trackers (Last.fm, AniList, MyAnimeList, Trakt, Simkl).

Topics

Resources

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Plozz logo

Plozz

A free, open source media player for Jellyfin, Plex, and Emby — native on Apple TV, iPhone, and iPad.
It also plays straight from network shares, so a folder of files works too.

plozz.app

Join the Plozz public beta on TestFlight

Latest TestFlight betaLicense: GPL-3.0Platform: tvOS, iOS, iPadOSDonate


A look at it

The Plozz home screen, with a featured show and a Continue Watching rowA series detail page showing artwork, cast, ratings and episodes

Home — one row set across every server you've connected.Detail — artwork, ratings, cast and episodes, filled in automatically.

The Plozz player showing an episode with the transport bar visiblePlozz settings, showing a library sync in progress and the settings list

Player — plays essentially anything, with real subtitle control.Settings — per-profile, and there is a lot you can change.

More screens, including iPhone and iPad, are on plozz.app.

What it is

Plozz plays the movies, shows, and music on your server, on your Apple TV, iPhone, and iPad. It's free and open source.

It talks to Jellyfin, Plex, and Emby, and it can read a plain network share directly if you don't run a server at all. Connect more than one and Plozz presents them as a single library rather than a set of tabs you switch between.

Features

Your servers, together

  • Jellyfin, Plex, and Emby — all three are first-class. Nothing is a second-tier afterthought bolted on later.
  • Network shares too — SMB, NFS, WebDAV, SFTP, and FTP. A bare folder of files becomes a real library with artwork, descriptions, ratings, and cast. (Shares are supported, but still the newest and roughest part.)
  • One merged library — connect several servers and see one set of rows instead of picking a server first.
  • Sync watch history across servers — optional, and off until you ask for it.
  • Found automatically — Plozz detects Jellyfin, Emby, and Seerr servers on your network so you don't type an address.
  • Sign in without the remote — Jellyfin Quick Connect, Plex Link, and Emby password sign-in.

Watching

  • Plays essentially anything — HDR, Dolby Vision, AV1, and the awkward files other clients hand back to you, powered by AetherEngine. (The full format list.)
  • Subtitles you can actually read — change font, size, weight, colour, opacity, background, shadow, position, and HDR brightness from inside the player.
  • Two subtitle tracks at once — for learning a language, or for a household that doesn't share one.
  • Mark as watched — a whole season, or everything up to a given episode.
  • Watched and unwatched indicators — a checkmark, or an unwatched corner badge in the Infuse / classic-Plex style, on every poster.

Music

  • Your music library too — browse albums and artists, queue things up, and keep listening with a mini-player while you carry on browsing. Audio keeps playing in the background.

Make it yours

  • Themes — light, dark, or Pure Black.
  • Layout — change how dense the rows are, whether the big hero banner shows at all, and how navigation behaves.
  • Profiles — real Apple TV profile support. Every setting is per-profile, and Plozz remembers which one you were using.
  • Circadian mode — warms and dims the app at times you choose, so late-night viewing isn't a floodlight.

Connected services

  • Trackers — Trakt, AniList, MyAnimeList, Simkl, and Last.fm, across movies, TV, anime, and music.
  • Seerr — request something you don't have without leaving search.

Getting started

Plozz is in public beta on TestFlight. Join the beta and it installs on your Apple TV, iPhone, and iPad.

You'll need one of: a Jellyfin, Plex, or Emby server, or a network share with your media on it. Plozz will offer to set up whichever it finds.

Found a bug? Want something?

Open an issue and pick a template — 🐞 Bug report or ✨ Feature request. Bug reports are read and they do get fixed; feature requests genuinely shape what gets built next.

Please don't paste tokens, passwords, or credentialed server URLs into an issue.

Contributing

Pull requests are welcome. Building the app, running the tests, the module layout, how localization works, and the release process are all in CONTRIBUTING.md, with the deeper notes in docs/.

Donate

Plozz will always be free and open source, with no paywall, ads, or obligation. If it's useful to you, donations toward upkeep are welcome — and not donating is completely okay.

Donate via GitHub Sponsors — one-time or recurring.

Credits & attribution

Plozz is an unofficial client and is not affiliated with, endorsed, or certified by any of the services below.

  • AetherEngine — on-device playback engine (FFmpeg demux → VideoToolbox decode) by Vincent Herbst, LGPL-3.0 with an App Store exception. superuser404notfound/AetherEngine. Its bundled FFmpeg is a decode-only, LGPL-3.0 build (see NOTICE.md).

  • The Movie Database (TMDB) — some artwork and metadata is provided by the TMDB API. This product uses the TMDB API but is not endorsed or certified by TMDB. TMDB's marks and logos are trademarks of TMDB.

    The Movie Database (TMDB)

  • TheTVDB — some metadata and artwork is provided by TheTVDB. Please consider adding missing information or subscribing at thetvdb.com. This product uses the TheTVDB API but is not endorsed or certified by TheTVDB.

    TheTVDB

  • OMDb API — optional IMDb ratings enrichment (requires your own OMDb key).

  • AniList — keyless community scores for anime titles.

  • Plex, Jellyfin, and Emby — the media servers Plozz connects to. All library content, artwork, and ratings shown in the app are supplied by your own server. Those names are trademarks of their respective owners.

License

GPL-3.0, with an App Store Exception © 2026 Brandon Moore


More open source

HozzMozzPlozzTwozz

Brandon Moore

About

Free, open-source native Apple TV, iOS, and iPadOS app for Jellyfin, Plex, Emby, and local shares (SMB, NFS, WebDAV, SFTP, FTP). Stream your movies, shows, and music on all devices with auto skip, full subtitle support, dark/light modes, customizable UI, multi-server sync, supports all trackers (Last.fm, AniList, MyAnimeList, Trakt, Simkl).

Topics

Resources

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Plozz logo

Plozz

A free, open source media player for Jellyfin, Plex, and Emby — native on Apple TV, iPhone, and iPad.
It also plays straight from network shares, so a folder of files works too.

plozz.app

Join the Plozz public beta on TestFlight

Latest TestFlight betaLicense: GPL-3.0Platform: tvOS, iOS, iPadOSDonate


A look at it

The Plozz home screen, with a featured show and a Continue Watching rowA series detail page showing artwork, cast, ratings and episodes

Home — one row set across every server you've connected.Detail — artwork, ratings, cast and episodes, filled in automatically.

The Plozz player showing an episode with the transport bar visiblePlozz settings, showing a library sync in progress and the settings list

Player — plays essentially anything, with real subtitle control.Settings — per-profile, and there is a lot you can change.

More screens, including iPhone and iPad, are on plozz.app.

What it is

Plozz plays the movies, shows, and music on your server, on your Apple TV, iPhone, and iPad. It's free and open source.

It talks to Jellyfin, Plex, and Emby, and it can read a plain network share directly if you don't run a server at all. Connect more than one and Plozz presents them as a single library rather than a set of tabs you switch between.

Features

Your servers, together

  • Jellyfin, Plex, and Emby — all three are first-class. Nothing is a second-tier afterthought bolted on later.
  • Network shares too — SMB, NFS, WebDAV, SFTP, and FTP. A bare folder of files becomes a real library with artwork, descriptions, ratings, and cast. (Shares are supported, but still the newest and roughest part.)
  • One merged library — connect several servers and see one set of rows instead of picking a server first.
  • Sync watch history across servers — optional, and off until you ask for it.
  • Found automatically — Plozz detects Jellyfin, Emby, and Seerr servers on your network so you don't type an address.
  • Sign in without the remote — Jellyfin Quick Connect, Plex Link, and Emby password sign-in.

Watching

  • Plays essentially anything — HDR, Dolby Vision, AV1, and the awkward files other clients hand back to you, powered by AetherEngine. (The full format list.)
  • Subtitles you can actually read — change font, size, weight, colour, opacity, background, shadow, position, and HDR brightness from inside the player.
  • Two subtitle tracks at once — for learning a language, or for a household that doesn't share one.
  • Mark as watched — a whole season, or everything up to a given episode.
  • Watched and unwatched indicators — a checkmark, or an unwatched corner badge in the Infuse / classic-Plex style, on every poster.

Music

  • Your music library too — browse albums and artists, queue things up, and keep listening with a mini-player while you carry on browsing. Audio keeps playing in the background.

Make it yours

  • Themes — light, dark, or Pure Black.
  • Layout — change how dense the rows are, whether the big hero banner shows at all, and how navigation behaves.
  • Profiles — real Apple TV profile support. Every setting is per-profile, and Plozz remembers which one you were using.
  • Circadian mode — warms and dims the app at times you choose, so late-night viewing isn't a floodlight.

Connected services

  • Trackers — Trakt, AniList, MyAnimeList, Simkl, and Last.fm, across movies, TV, anime, and music.
  • Seerr — request something you don't have without leaving search.

Getting started

Plozz is in public beta on TestFlight. Join the beta and it installs on your Apple TV, iPhone, and iPad.

You'll need one of: a Jellyfin, Plex, or Emby server, or a network share with your media on it. Plozz will offer to set up whichever it finds.

Found a bug? Want something?

Open an issue and pick a template — 🐞 Bug report or ✨ Feature request. Bug reports are read and they do get fixed; feature requests genuinely shape what gets built next.

Please don't paste tokens, passwords, or credentialed server URLs into an issue.

Contributing

Pull requests are welcome. Building the app, running the tests, the module layout, how localization works, and the release process are all in CONTRIBUTING.md, with the deeper notes in docs/.

Donate

Plozz will always be free and open source, with no paywall, ads, or obligation. If it's useful to you, donations toward upkeep are welcome — and not donating is completely okay.

Donate via GitHub Sponsors — one-time or recurring.

Credits & attribution

Plozz is an unofficial client and is not affiliated with, endorsed, or certified by any of the services below.

  • AetherEngine — on-device playback engine (FFmpeg demux → VideoToolbox decode) by Vincent Herbst, LGPL-3.0 with an App Store exception. superuser404notfound/AetherEngine. Its bundled FFmpeg is a decode-only, LGPL-3.0 build (see NOTICE.md).

  • The Movie Database (TMDB) — some artwork and metadata is provided by the TMDB API. This product uses the TMDB API but is not endorsed or certified by TMDB. TMDB's marks and logos are trademarks of TMDB.

    The Movie Database (TMDB)

  • TheTVDB — some metadata and artwork is provided by TheTVDB. Please consider adding missing information or subscribing at thetvdb.com. This product uses the TheTVDB API but is not endorsed or certified by TheTVDB.

    TheTVDB

  • OMDb API — optional IMDb ratings enrichment (requires your own OMDb key).

  • AniList — keyless community scores for anime titles.

  • Plex, Jellyfin, and Emby — the media servers Plozz connects to. All library content, artwork, and ratings shown in the app are supplied by your own server. Those names are trademarks of their respective owners.

License

GPL-3.0, with an App Store Exception © 2026 Brandon Moore


More open source

HozzMozzPlozzTwozz

Brandon Moore

About

Free, open-source native Apple TV, iOS, and iPadOS app for Jellyfin, Plex, Emby, and local shares (SMB, NFS, WebDAV, SFTP, FTP). Stream your movies, shows, and music on all devices with auto skip, full subtitle support, dark/light modes, customizable UI, multi-server sync, supports all trackers (Last.fm, AniList, MyAnimeList, Trakt, Simkl).

Topics

Resources

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Plozz logo

Plozz

A free, open source media player for Jellyfin, Plex, and Emby — native on Apple TV, iPhone, and iPad.
It also plays straight from network shares, so a folder of files works too.

plozz.app

Join the Plozz public beta on TestFlight

Latest TestFlight betaLicense: GPL-3.0Platform: tvOS, iOS, iPadOSDonate


A look at it

The Plozz home screen, with a featured show and a Continue Watching rowA series detail page showing artwork, cast, ratings and episodes

Home — one row set across every server you've connected.Detail — artwork, ratings, cast and episodes, filled in automatically.

The Plozz player showing an episode with the transport bar visiblePlozz settings, showing a library sync in progress and the settings list

Player — plays essentially anything, with real subtitle control.Settings — per-profile, and there is a lot you can change.

More screens, including iPhone and iPad, are on plozz.app.

What it is

Plozz plays the movies, shows, and music on your server, on your Apple TV, iPhone, and iPad. It's free and open source.

It talks to Jellyfin, Plex, and Emby, and it can read a plain network share directly if you don't run a server at all. Connect more than one and Plozz presents them as a single library rather than a set of tabs you switch between.

Features

Your servers, together

  • Jellyfin, Plex, and Emby — all three are first-class. Nothing is a second-tier afterthought bolted on later.
  • Network shares too — SMB, NFS, WebDAV, SFTP, and FTP. A bare folder of files becomes a real library with artwork, descriptions, ratings, and cast. (Shares are supported, but still the newest and roughest part.)
  • One merged library — connect several servers and see one set of rows instead of picking a server first.
  • Sync watch history across servers — optional, and off until you ask for it.
  • Found automatically — Plozz detects Jellyfin, Emby, and Seerr servers on your network so you don't type an address.
  • Sign in without the remote — Jellyfin Quick Connect, Plex Link, and Emby password sign-in.

Watching

  • Plays essentially anything — HDR, Dolby Vision, AV1, and the awkward files other clients hand back to you, powered by AetherEngine. (The full format list.)
  • Subtitles you can actually read — change font, size, weight, colour, opacity, background, shadow, position, and HDR brightness from inside the player.
  • Two subtitle tracks at once — for learning a language, or for a household that doesn't share one.
  • Mark as watched — a whole season, or everything up to a given episode.
  • Watched and unwatched indicators — a checkmark, or an unwatched corner badge in the Infuse / classic-Plex style, on every poster.

Music

  • Your music library too — browse albums and artists, queue things up, and keep listening with a mini-player while you carry on browsing. Audio keeps playing in the background.

Make it yours

  • Themes — light, dark, or Pure Black.
  • Layout — change how dense the rows are, whether the big hero banner shows at all, and how navigation behaves.
  • Profiles — real Apple TV profile support. Every setting is per-profile, and Plozz remembers which one you were using.
  • Circadian mode — warms and dims the app at times you choose, so late-night viewing isn't a floodlight.

Connected services

  • Trackers — Trakt, AniList, MyAnimeList, Simkl, and Last.fm, across movies, TV, anime, and music.
  • Seerr — request something you don't have without leaving search.

Getting started

Plozz is in public beta on TestFlight. Join the beta and it installs on your Apple TV, iPhone, and iPad.

You'll need one of: a Jellyfin, Plex, or Emby server, or a network share with your media on it. Plozz will offer to set up whichever it finds.

Found a bug? Want something?

Open an issue and pick a template — 🐞 Bug report or ✨ Feature request. Bug reports are read and they do get fixed; feature requests genuinely shape what gets built next.

Please don't paste tokens, passwords, or credentialed server URLs into an issue.

Contributing

Pull requests are welcome. Building the app, running the tests, the module layout, how localization works, and the release process are all in CONTRIBUTING.md, with the deeper notes in docs/.

Donate

Plozz will always be free and open source, with no paywall, ads, or obligation. If it's useful to you, donations toward upkeep are welcome — and not donating is completely okay.

Donate via GitHub Sponsors — one-time or recurring.

Credits & attribution

Plozz is an unofficial client and is not affiliated with, endorsed, or certified by any of the services below.

  • AetherEngine — on-device playback engine (FFmpeg demux → VideoToolbox decode) by Vincent Herbst, LGPL-3.0 with an App Store exception. superuser404notfound/AetherEngine. Its bundled FFmpeg is a decode-only, LGPL-3.0 build (see NOTICE.md).

  • The Movie Database (TMDB) — some artwork and metadata is provided by the TMDB API. This product uses the TMDB API but is not endorsed or certified by TMDB. TMDB's marks and logos are trademarks of TMDB.

    The Movie Database (TMDB)

  • TheTVDB — some metadata and artwork is provided by TheTVDB. Please consider adding missing information or subscribing at thetvdb.com. This product uses the TheTVDB API but is not endorsed or certified by TheTVDB.

    TheTVDB

  • OMDb API — optional IMDb ratings enrichment (requires your own OMDb key).

  • AniList — keyless community scores for anime titles.

  • Plex, Jellyfin, and Emby — the media servers Plozz connects to. All library content, artwork, and ratings shown in the app are supplied by your own server. Those names are trademarks of their respective owners.

License

GPL-3.0, with an App Store Exception © 2026 Brandon Moore


More open source

HozzMozzPlozzTwozz

Brandon Moore

About

Free, open-source native Apple TV, iOS, and iPadOS app for Jellyfin, Plex, Emby, and local shares (SMB, NFS, WebDAV, SFTP, FTP). Stream your movies, shows, and music on all devices with auto skip, full subtitle support, dark/light modes, customizable UI, multi-server sync, supports all trackers (Last.fm, AniList, MyAnimeList, Trakt, Simkl).

Topics

Resources

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Plozz logo

Plozz

A free, open source media player for Jellyfin, Plex, and Emby — native on Apple TV, iPhone, and iPad.
It also plays straight from network shares, so a folder of files works too.

plozz.app

Join the Plozz public beta on TestFlight

Latest TestFlight betaLicense: GPL-3.0Platform: tvOS, iOS, iPadOSDonate


A look at it

The Plozz home screen, with a featured show and a Continue Watching rowA series detail page showing artwork, cast, ratings and episodes

Home — one row set across every server you've connected.Detail — artwork, ratings, cast and episodes, filled in automatically.

The Plozz player showing an episode with the transport bar visiblePlozz settings, showing a library sync in progress and the settings list

Player — plays essentially anything, with real subtitle control.Settings — per-profile, and there is a lot you can change.

More screens, including iPhone and iPad, are on plozz.app.

What it is

Plozz plays the movies, shows, and music on your server, on your Apple TV, iPhone, and iPad. It's free and open source.

It talks to Jellyfin, Plex, and Emby, and it can read a plain network share directly if you don't run a server at all. Connect more than one and Plozz presents them as a single library rather than a set of tabs you switch between.

Features

Your servers, together

  • Jellyfin, Plex, and Emby — all three are first-class. Nothing is a second-tier afterthought bolted on later.
  • Network shares too — SMB, NFS, WebDAV, SFTP, and FTP. A bare folder of files becomes a real library with artwork, descriptions, ratings, and cast. (Shares are supported, but still the newest and roughest part.)
  • One merged library — connect several servers and see one set of rows instead of picking a server first.
  • Sync watch history across servers — optional, and off until you ask for it.
  • Found automatically — Plozz detects Jellyfin, Emby, and Seerr servers on your network so you don't type an address.
  • Sign in without the remote — Jellyfin Quick Connect, Plex Link, and Emby password sign-in.

Watching

  • Plays essentially anything — HDR, Dolby Vision, AV1, and the awkward files other clients hand back to you, powered by AetherEngine. (The full format list.)
  • Subtitles you can actually read — change font, size, weight, colour, opacity, background, shadow, position, and HDR brightness from inside the player.
  • Two subtitle tracks at once — for learning a language, or for a household that doesn't share one.
  • Mark as watched — a whole season, or everything up to a given episode.
  • Watched and unwatched indicators — a checkmark, or an unwatched corner badge in the Infuse / classic-Plex style, on every poster.

Music

  • Your music library too — browse albums and artists, queue things up, and keep listening with a mini-player while you carry on browsing. Audio keeps playing in the background.

Make it yours

  • Themes — light, dark, or Pure Black.
  • Layout — change how dense the rows are, whether the big hero banner shows at all, and how navigation behaves.
  • Profiles — real Apple TV profile support. Every setting is per-profile, and Plozz remembers which one you were using.
  • Circadian mode — warms and dims the app at times you choose, so late-night viewing isn't a floodlight.

Connected services

  • Trackers — Trakt, AniList, MyAnimeList, Simkl, and Last.fm, across movies, TV, anime, and music.
  • Seerr — request something you don't have without leaving search.

Getting started

Plozz is in public beta on TestFlight. Join the beta and it installs on your Apple TV, iPhone, and iPad.

You'll need one of: a Jellyfin, Plex, or Emby server, or a network share with your media on it. Plozz will offer to set up whichever it finds.

Found a bug? Want something?

Open an issue and pick a template — 🐞 Bug report or ✨ Feature request. Bug reports are read and they do get fixed; feature requests genuinely shape what gets built next.

Please don't paste tokens, passwords, or credentialed server URLs into an issue.

Contributing

Pull requests are welcome. Building the app, running the tests, the module layout, how localization works, and the release process are all in CONTRIBUTING.md, with the deeper notes in docs/.

Donate

Plozz will always be free and open source, with no paywall, ads, or obligation. If it's useful to you, donations toward upkeep are welcome — and not donating is completely okay.

Donate via GitHub Sponsors — one-time or recurring.

Credits & attribution

Plozz is an unofficial client and is not affiliated with, endorsed, or certified by any of the services below.

  • AetherEngine — on-device playback engine (FFmpeg demux → VideoToolbox decode) by Vincent Herbst, LGPL-3.0 with an App Store exception. superuser404notfound/AetherEngine. Its bundled FFmpeg is a decode-only, LGPL-3.0 build (see NOTICE.md).

  • The Movie Database (TMDB) — some artwork and metadata is provided by the TMDB API. This product uses the TMDB API but is not endorsed or certified by TMDB. TMDB's marks and logos are trademarks of TMDB.

    The Movie Database (TMDB)

  • TheTVDB — some metadata and artwork is provided by TheTVDB. Please consider adding missing information or subscribing at thetvdb.com. This product uses the TheTVDB API but is not endorsed or certified by TheTVDB.

    TheTVDB

  • OMDb API — optional IMDb ratings enrichment (requires your own OMDb key).

  • AniList — keyless community scores for anime titles.

  • Plex, Jellyfin, and Emby — the media servers Plozz connects to. All library content, artwork, and ratings shown in the app are supplied by your own server. Those names are trademarks of their respective owners.

License

GPL-3.0, with an App Store Exception © 2026 Brandon Moore


More open source

HozzMozzPlozzTwozz

Brandon Moore

About

Free, open-source native Apple TV, iOS, and iPadOS app for Jellyfin, Plex, Emby, and local shares (SMB, NFS, WebDAV, SFTP, FTP). Stream your movies, shows, and music on all devices with auto skip, full subtitle support, dark/light modes, customizable UI, multi-server sync, supports all trackers (Last.fm, AniList, MyAnimeList, Trakt, Simkl).

Topics

Resources

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages