Jellyfin open-source media server

Plex has moved another wall in 2026: remote streaming now sits behind Plex Pass in more regions, and the free client tier keeps shrinking. If you have a NAS full of MKV files, the cost-benefit for a $120 lifetime pass is quietly getting worse, and Jellyfin keeps closing the feature gap that used to justify it.

We tested seven tools that make a Plex-to-Jellyfin migration actually finish: metadata that survives the jump, watch history that comes with, playlists that still play, and clients that do not embarrass Jellyfin in the living room. Ranked by how much you can keep and how few hours it takes.

What to look for in a migration tool

Quick comparison

Tool Best for License Handles Notes
Jellyfin The destination server GPLv2 Everything Start here
Plex-to-Jellyfin Migrator History and playlists MIT Progress, playlists Community-maintained script
Kometa Collections, art MIT Metadata bulk edit Formerly Plex-Meta-Manager
Jellyfin Vue Web client that feels modern GPLv3 Playback Snappier than official web UI
Fin Native macOS client GPLv3 Playback The Plex-macOS replacement
Jellyseerr Requests MIT Request UI The Overseerr fork for Jellyfin
PlexTraktSync Watch history via Trakt AGPLv3 Trakt bridge Portable across servers

The apps

1. Jellyfin, the destination server

Jellyfin is the fork of Emby that stayed open source. The 12.x line closed the last few gaps that mattered: HDR tone-mapping, DoVi passthrough on capable clients, and hardware transcoding across Intel Quick Sync, NVENC, and VA-API. The setup wizard is a copy of Plex’s, so anyone who has done a Plex install is at home in Jellyfin within a day.

Where it falls short: No first-party mobile app parity with Plex’s polish. Third-party clients (Streamyfin, Findroid) are the answer.

Pricing: Free.

Platforms: Linux, macOS, Windows, Docker, ARM.

Download: Jellyfin on GitHub and the Jellyfin website.

Bottom line: The whole exercise ends here. Install first, migrate into it.

2. Plex-to-Jellyfin Migrator, the history bridge

The community-maintained jf-migrator (formerly plex-to-jellyfin-migrator) is a Python script that reads the Plex database and writes the equivalent state into Jellyfin’s API. Watch history, in-progress positions, playlists, and per-user favourites all cross over. Run it once, check the output, run it again if you added anything on Plex in the meantime.

Where it falls short: Not a click-through tool. You edit a config file, run the script, and read the log for errors.

Pricing: Free.

Platforms: Anywhere Python 3.10 runs.

Download: jf-migrator on GitHub.

Bottom line: The one script that makes the whole migration bearable.

3. Kometa, the metadata bulk-editor

Kometa (formerly Plex-Meta-Manager) started as a Plex tool and now handles Jellyfin. Point it at a config full of collection rules (“all Studio Ghibli,” “all 2023 releases with a Rotten Tomatoes score above 90”) and it recreates them on the new server. Also good for reapplying poster packs and studio branding you spent hours on.

Where it falls short: YAML-heavy. Expect an hour of config tuning per library size.

Pricing: Free.

Platforms: Linux, macOS, Windows, Docker.

Download: Kometa on GitHub and the Kometa website.

Bottom line: The tool for anyone whose Plex library was a curated project, not a dumping ground.

4. Jellyfin Vue, the modern web client

Jellyfin Vue is the community rewrite of the Jellyfin web UI with a snappier feel and better mobile responsiveness. Not a replacement for the server. It sits alongside the built-in web client and lets you pick per browser. If the default UI felt sluggish on your last Jellyfin trial, Vue is what changes your mind.

Where it falls short: Still labelled beta. Some server-side settings pages point back at the classic UI.

Pricing: Free.

Platforms: Any modern browser.

Download: Jellyfin Vue on GitHub.

Bottom line: The web client to bookmark on the laptop. Install once, forget the classic one exists.

5. Fin, native macOS client

Fin is the AppKit-native Jellyfin client for macOS. The window looks like a native Mac app, not a stretched web page, and playback runs through AVKit for lower CPU use than the browser client. Small team, active updates, and the closest experience to the retired Plex-for-Mac app.

Where it falls short: macOS only. No iPad build.

Pricing: Free.

Platforms: macOS 12 and newer.

Download: Fin on GitHub and the Fin website.

Bottom line: The Mac client that stops you missing Plex on the desktop.

6. Jellyseerr, the request UI

Jellyseerr is the Overseerr fork that speaks Jellyfin. Family requests movies and shows through a clean web page, and the tool wires the request into Sonarr or Radarr for download. Users log in with their Jellyfin accounts, so no separate signup.

Where it falls short: Depends on Sonarr and Radarr being set up already. Not a media downloader on its own.

Pricing: Free.

Platforms: Linux, Docker.

Download: Jellyseerr on GitHub.

Bottom line: The tool that keeps the household from asking you to download things by text message.

7. PlexTraktSync, the portable watch history

PlexTraktSync pushes Plex watch history to Trakt on a schedule. Jellyfin has its own Trakt plugin that pulls the same history back down. Route both servers through Trakt and the watch state stays consistent even if you keep both running for a while during the migration.

Where it falls short: Adds a dependency on Trakt. If Trakt breaks, both servers stop syncing.

Pricing: Free.

Platforms: Linux, macOS, Windows, Docker.

Download: PlexTraktSync on GitHub.

Bottom line: The safest way to run Plex and Jellyfin side by side during the transition month.

How to pick the right one

FAQ

Can I run Plex and Jellyfin at the same time?

Yes. Point both at the same media library. Different ports, different service names. Run the pair for a couple of weeks before you retire Plex.

Will hardware transcoding work in Jellyfin?

On Intel Quick Sync and NVIDIA NVENC, yes and reliably. VA-API on AMD works with a config nudge. The Jellyfin 12.x line closed most of the transcoding gap with Plex.

Do I lose my Plex Pass features going to Jellyfin?

You lose Plex-cloud features (Plex TV, movies free with ads) that Jellyfin does not offer. You keep hardware transcoding, live TV via HDHomeRun, and DVR. Trailers require a plugin.

What about the TV client?

Jellyfin has apps for Android TV, Apple TV, Fire TV, Roku, LG, and Samsung. Streamyfin on Android TV and Swiftfin on Apple TV are the community picks worth trying first.

How long does the migration actually take?

For a library under 1 TB with one user, an afternoon. For a family library with four users and years of watch history, a weekend of preparation and a week of side-by-side testing.