Skip to content
Swiftly Music Blog Discord GitHub
  1. Swiftly Player
  2. Blog

Watching Jellyfin on a Mac: 9 clients side by side

Jellyfin Desktop, Infuse, Fladder, Swiftly Player, VidHub, SenPlayer, jellyfin-mpv-shim and IINA for Mac: price, engine, HDR, Direct Play.

By Swiftly Player13 min read

Disclosure: we build Swiftly Player, one of the clients in this article. We point out where other apps do better.

Prices, version numbers and features below come from each project's App Store listing, GitHub repository or official site, checked in September 2026. These apps update often, so check the linked source before you decide.

TL;DR

There is no single official Jellyfin app for Mac. If you want free and open source with no subscription, pick Swiftly Player, Fladder or the project's own Jellyfin Desktop. If you want the widest file and HDR support and don't mind paying, Infuse is the one most people already use. If you also connect to Plex or Emby, look at VidHub or SenPlayer. If you want zero installs, the browser works but plays fewer files without help from the server. jellyfin-mpv-shim and IINA with a community plugin are for people who want to build their own setup instead of using a finished app.

Comparison table

ClientPricePlayback engineSkip Intro / Media SegmentsHDR & Dolby Vision on MacMultiple serversInstall source
Jellyfin DesktopFree, open sourcelibmpv inside a Qt WebEngine window (rewrite to mpv + CEF in progress)Yes, via the web client's Media Segment ActionsNative HDR playback listed as a goal of the in-progress rewriteYes, connect and switch serversGitHub releases
InfuseFree, Pro $1.99/month, $16.99/year or $99.99 lifetimeInfuse's own engineYes, via Infuse's own TheIntroDB.org, not Jellyfin Media SegmentsDolby Vision Profile 5 & 8, HDR10, HDR10+, HLG on compatible displaysYes, Jellyfin, Plex and Emby at onceMac App Store
FladderFreeFlutter's own playerListed, method not documentedNot documentedYes, several accounts and serversGitHub releases, also on Flathub for Linux
Swiftly PlayerFree, open sourceVLCKit (Direct Play / Direct Stream)Yes, Skip Intro, Skip Recap and Skip Credits from Media SegmentsPlays HDR metadata untouched; how it looks depends on the screenYes, several servers and accountsMac App Store
VidHubFree, Pro $1.49/month, $9.99/year or $14.99 lifetime (Mac)Own engineNot documented for JellyfinHD, 4K and HDR playback listed; Dolby Vision not documentedYes, Jellyfin, Plex and EmbyMac App Store
SenPlayerFree, Lifetime Pro (Mac) $9.99, Suite $12.99Apple's native engineNot documented for JellyfinHDR10, HDR10+, HLG and Dolby Vision listedYes, Jellyfin, Plex and EmbyMac App Store
The browserFreeSafari's or Chrome's own decoder, or server-side transcodingYes, Media Segment ActionsDepends on the browser and displayYesNone, open the server's address
jellyfin-mpv-shimFree, open sourcempv (native pipeline)Not documentedHDR and tone mapping via mpv's pipeline; on Mac only the external-mpv mode is confirmed workingNot built for switching servers in one sessionGitHub releases, install via Homebrew and pipx
IINA + Jellyfin pluginFree, open sourcempvNot documentedDepends on mpv and the displayYes, several servers and usersIINA, plugin via IINA's own plugin manager

Jellyfin Desktop (formerly Jellyfin Media Player)

Jellyfin Desktop belongs to the Jellyfin project itself. Until version 2.0.0 on December 14, 2025 it was called Jellyfin Media Player. That release also moved the app to Qt 6 and warned that old settings would not carry over. The project's introduction post describes the idea: take the interface from jellyfin-web and combine it with libmpv for playback, so "all features of the web client are available as usual, including server management." In practice that means Skip Intro and the other Media Segment Actions from the Jellyfin 12.0 release work the same way they do in a browser, and you can save and switch between several servers.

Version 2.0.0 is a pre-release, and it is not the end of the story. A May 2026 project update says the team is rewriting Jellyfin Desktop from the ground up: replacing Qt and its QtWebEngine browser component with the Chromium Embedded Framework, and moving from the older bundled libmpv pipeline to the same modern pipeline the standalone mpv player uses. The stated goals are better GPU use and native HDR playback on macOS, Windows and Wayland. As of the same post, this rewrite was "not yet ready for a stable v3.0.0 release," so what you get today is either the Qt 6 pre-release or a development build. Earlier releases already shipped an Apple Silicon build alongside the Intel one, according to the v1.10.0 notes.

Who it fits: people who want the project's own client and don't mind a tool that is mid-rewrite.

Infuse

Infuse is the client most people already know. Version 8.5.5 requires macOS 15 and up, and the Mac App Store listing lists it as free with an optional Infuse Pro subscription at $1.99 a month, $16.99 a year, or $99.99 once, after a 7-day trial. Firecore's own product page states Dolby Vision Profile 5 and 8, HDR10, HDR10+ and HLG support "on compatible hardware," plus hardware-accelerated decoding on Apple Silicon. Infuse connects to Jellyfin, Plex and Emby at the same time, so it is a fit if your library isn't only on Jellyfin.

Infuse's Skip Intro uses its own TheIntroDB.org database rather than your Jellyfin server's Media Segments, so it depends on Infuse's own catalog matching your files instead of a plugin like Intro Skipper. That is a real difference: a title your server has marked with segments may still show nothing in Infuse until TheIntroDB.org has an entry for it, and the reverse can also happen. We cover four free alternatives to Infuse, including Swiftly Player, in more detail in Free Infuse alternatives for Jellyfin.

Who it fits: people who want the widest file support with the least setup, and are fine paying for it.

Fladder

Fladder is a Flutter app by DonutWare, independent of the Jellyfin project. The v0.11.1 release from September 8, 2026 ships a native macOS build (Fladder-macOS-0.11.1.dmg) alongside Windows and Linux builds. Its README describes downloads with synced watch progress, several accounts and servers, Seerr and Jellyseerr integration, trickplay scrubbing (thumbnails while you drag the seek bar) and a comic book reader for .cbz/.cbr files. It lists intro and credits skipping, but does not say in its documentation whether that reads Jellyfin's own Media Segments or works some other way, so test it against your server before relying on it.

Fladder is also on Flathub for Linux, but that listing currently serves version 0.10.3, a few releases behind the GitHub build — on Mac, the DMG from GitHub releases is the current version.

Who it fits: people who want one free client with downloads and Seerr on Mac, Windows and Linux alike.

Swiftly Player

Swiftly Player is a free, open-source client under the MPL-2.0 license, with its source on GitHub. The App Store lists version 1.0.3 and macOS 15 or later. It plays through VLCKit and asks the server for Direct Play or Direct Stream — meaning the file plays as it is, or with only its audio or subtitles adjusted, instead of the server re-encoding the whole video. That covers MKV, HEVC, AV1, VP9, DTS, TrueHD and PGS subtitles on the device itself. Because it does not transcode, HDR metadata in the file passes through untouched; whether the picture actually looks like HDR still depends on the Mac's own screen or the external display it is connected to.

On Mac specifically, Swiftly downloads titles for offline playback through the same VLC player used for streaming, so a downloaded MKV plays the same as a streamed one. Media keys work, and a small player window can stay on top while you do something else. Picture in Picture in the iOS sense is an iPhone, iPad and Android feature. It keeps several Jellyfin servers and accounts side by side, signs in with Quick Connect, requests titles through Seerr without leaving the app, shows Skip Intro, Skip Recap and Skip Credits where the server has Media Segments, and can pick up playback started on another device. Subtitle handling, including when a file's subtitles force the server to transcode instead of Direct Play, is covered in our Jellyfin subtitles guide. It has no SyncPlay, no Live TV and no casting, and it is a younger project with a smaller community than Infuse. Get it from the Mac App Store.

Who it fits: people who want a free client with VLC's format support, offline downloads, and the same app on iPhone, iPad, Apple TV, Windows and Linux.

VidHub

VidHub is at version 3.0.6 on the Mac App Store, requiring macOS 11 or later. It is free with in-app purchases: Pro at $1.49 a month, $9.99 a year, or $14.99 as a Mac-only lifetime purchase. Its listing describes "direct-link to Emby, Jellyfin, Plex media server" alongside support for a long list of formats (.mkv, .avi, .mp4, .mov, .rmvb, .wmv and more), HD, 4K and HDR playback, and network shares over SMB, WebDAV and other protocols, plus cloud storage from Dropbox, Google Drive, OneDrive and Baidu Netdisk. Its App Store description does not document Skip Intro or Media Segments support for Jellyfin specifically, or Dolby Vision.

Who it fits: people who already keep a video library spread across cloud drives, network shares and several media servers, and want one app for all of it.

SenPlayer

SenPlayer is at version 6.2.1 on the Mac App Store, requiring macOS 14 or later. It costs $9.99 for a Mac-only lifetime purchase, or $12.99 for a lifetime "Suite" purchase covering more platforms. Its listing names Emby, Jellyfin and Plex support with multi-server backup, HDR10, HDR10+, HLG and Dolby Vision, and playback from local files, network shares (WebDAV, SMB, FTP) and several cloud drives. As with VidHub, its store listing does not document Skip Intro or Media Segments support for Jellyfin.

Who it fits: the same audience as VidHub — people connecting several server types and storage sources rather than a Jellyfin-only household.

The browser

Open your server's address in Safari or Chrome and you install nothing. Since Jellyfin 12.0, the Modern layout is the default web interface, and Skip Intro and the other Media Segment Actions work there too. What plays without the server transcoding depends entirely on the browser's own decoder. Jellyfin's codec support documentation explains that if the browser cannot decode the video codec, audio codec, container or subtitle format, the server transcodes or remuxes the file instead, and video transcoding is the heaviest load a Jellyfin server can be asked to carry. On a Mac, that means Safari and Chrome will not treat every MKV or HEVC file the same way, and neither is guaranteed to Direct Play a whole library.

Who it fits: a quick watch on someone else's Mac, not a daily habit.

jellyfin-mpv-shim

jellyfin-mpv-shim is an official Jellyfin project, built around mpv, a general-purpose media player known for wide format support. Its v3.0.0 release, from September 2026, rewrote the app to render entirely inside mpv itself rather than a separate window, and lists SyncPlay improvements, full Live TV (channels, guide and recording) and HDR/tone-mapping support through direct access to mpv's video pipeline. It works both as a cast target — something another Jellyfin app can send video to — and as its own client.

On macOS, the project's own documentation says that "currently on macOS only the external MPV backend seems to be working," and installation runs through Homebrew (brew install python mpv, then pipx install jellyfin-mpv-shim). Some features, such as display mirroring, are untested on Mac according to the same source. This is a tool for people comfortable with a terminal, not a polished downloadable app.

Who it fits: people who already run mpv and want SyncPlay or Live TV, and don't mind less testing on Mac than on Linux.

IINA with the Jellyfin plugin

IINA is a free, open-source native video player for Mac, also built on mpv, requiring macOS 11 or newer. On its own it has no idea what Jellyfin is. The community iina-jellyfin plugin, installed through IINA's own plugin manager, adds a media browser sidebar with multi-server and multi-user support, Quick Connect sign-in by QR code, automatic subtitle downloads, resume from the last position reported by the server, and autoplay of the next episode. Its documentation does not mention Skip Intro or Media Segments, so treat that as unsupported until the plugin says otherwise.

Who it fits: people who already use IINA for local files and want Jellyfin browsing added on top, rather than a separate app.

FAQ

Is there an official Jellyfin app for Mac?

Not a finished one. Jellyfin Desktop, listed on the project's own GitHub, is the closest thing, but it is a pre-release under a name change and a full rewrite at the same time. Everything else on this list is a third-party or community project.

Which Mac Jellyfin client avoids transcoding most reliably?

Clients with their own playback engine — Infuse, Swiftly Player, Fladder, jellyfin-mpv-shim and IINA with the Jellyfin plugin all use mpv, VLC or their own decoder instead of depending only on what the browser supports. Whether one specific file Direct Plays still depends on its codec, container and subtitle format, and on your Jellyfin server's settings; see our subtitles guide for how subtitle formats alone can force a transcode.

Does Skip Intro work the same way in all of these?

No. Jellyfin Desktop, the browser and Swiftly Player read Skip Intro data from your own server's Media Segments, usually set up through a plugin such as Intro Skipper. Infuse uses its own external database, TheIntroDB.org, instead. Fladder lists the feature without documenting which method it uses. VidHub, SenPlayer, jellyfin-mpv-shim and the IINA plugin do not document Skip Intro support for Jellyfin at all at the time of writing.

Do I need Apple Silicon, or does Intel still work?

Most of these are ordinary Mac App Store or DMG downloads that run on both, since Apple still supports Intel Macs on current macOS versions. Jellyfin Desktop specifically has shipped a separate Apple Silicon build since its v1.10.0 release. If your Mac is several years old, check the minimum macOS version in the table above before you install anything.

Can I connect more than one Jellyfin server?

Yes, in Jellyfin Desktop, Infuse, Swiftly Player, Fladder, the browser, VidHub, SenPlayer and the IINA plugin. jellyfin-mpv-shim is built more as a single cast target than a multi-server browser, so treat that one differently if juggling several servers matters to you.

Do any of these also work on Windows or Linux?

Swiftly Player and Fladder are the two with real, separate installers for Windows and Linux, alongside their Mac builds — see our comparison of Windows Jellyfin clients for how they and Jellyfin Desktop compare there. Infuse, VidHub and SenPlayer are Apple-only. IINA and jellyfin-mpv-shim are built around mpv, which exists on Linux too, but the specific setups described here (the IINA app itself, and jellyfin-mpv-shim's Mac install path) are Mac-focused.

Summary

  • Pick Jellyfin Desktop if you want the project's own client and can live with it being mid-rewrite.
  • Pick Infuse if wide format and HDR support with minimal setup matters more than the subscription price.
  • Pick Fladder or Swiftly Player for a free, open-source app with downloads, and the same client on Windows and Linux.
  • Pick VidHub or SenPlayer if your library spans Jellyfin, Plex, Emby and cloud storage.
  • Use the browser for a one-off watch, not daily viewing.
  • Reach for jellyfin-mpv-shim or IINA with the Jellyfin plugin only if you want to assemble your own setup and don't mind a terminal.

Related articles

All articles