Migrate from Plex to Jellyfin in 2026: Transfer Watch History, Keep Everything (Step-by-Step)

Migrate from Plex to Jellyfin in 2026: Transfer Watch History, Keep Everything (Step-by-Step)

How to Migrate from Plex to Jellyfin (2026)

Plex has been raising prices, locking features behind Plex Pass, and pushing ads into the free tier. More and more self-hosters are making the switch to Jellyfin - 100% free, no account required, no telemetry.

This guide walks you through the full migration: library setup, watch history transfer, metadata preservation, and client configuration.


Why People Are Leaving Plex

FeaturePlex (Free)Plex PassJellyfin
Live TV / DVR✅ Free
Hardware transcoding✅ Free
Mobile sync / downloads✅ Free
Multi-user managementLimited✅ Free
No account required
Open source
Ads in UIYesNoNo

Jellyfin gives you everything Plex Pass offers - for free, forever.


Before You Start

What migrates easily

  • Media files (they stay exactly where they are)
  • Library structure (movies, TV shows, music)
  • Metadata (re-fetched from TMDB/TVDB automatically)
  • Posters and artwork (re-downloaded)

What requires extra steps

  • Watch history and played status
  • Playlists
  • User accounts
  • Custom artwork you manually set

What you lose

  • Plex-specific features (Discover, Watchlist, Plex TV)
  • Plex's managed home users (recreate manually in Jellyfin)

Step 1: Install Jellyfin

Run Jellyfin alongside Plex - do not uninstall Plex until you are fully migrated.

Docker Compose

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    ports:
      - "8096:8096"
    volumes:
      - ./jellyfin/config:/config
      - ./jellyfin/cache:/cache
      - /path/to/media:/media:ro
    restart: unless-stopped

Point Jellyfin to the same media folders Plex uses. Your files do not move.


Step 2: Set Up Libraries

  1. Open Jellyfin at http://your-server:8096
  2. Complete the setup wizard
  3. Add libraries pointing to your existing media paths:
    • Movies → /media/movies
    • TV Shows → /media/tv
    • Music → /media/music
  4. Let Jellyfin scan and fetch metadata (this takes 10-60 minutes depending on library size)

Jellyfin uses TMDB and TVDB - the same sources as Plex - so metadata quality is identical.


Step 3: Migrate Watch History

This is the most important step for most users. Nobody wants to lose their "watched" status.

Method A: Plex-to-Jellyfin migration tool (recommended)

The community-built PlexToJellyfin tool automates watch history migration:

# Install via pip
pip install plex-to-jellyfin

# Run migration
plex-to-jellyfin \
  --plex-url http://localhost:32400 \
  --plex-token YOUR_PLEX_TOKEN \
  --jellyfin-url http://localhost:8096 \
  --jellyfin-api-key YOUR_JELLYFIN_KEY

Get your Plex token: Plex Web → Account → click any media item → Get Info → View XML → find X-Plex-Token in the URL.

Method B: Kometa (formerly Plex Meta Manager)

If you already use Kometa for Plex, it can export watched status to a format Jellyfin can import.

Method C: Trakt sync (both platforms)

  1. Install the Trakt plugin on Plex → sync your history to Trakt
  2. Install the Trakt plugin on Jellyfin → import from Trakt
  3. All watched status transfers via Trakt as the intermediary

This is the most reliable method for large libraries.


Step 4: Migrate Playlists

Plex playlists do not export directly to Jellyfin. Options:

  • Manual recreation - for small playlists, just rebuild them in Jellyfin
  • Listrr - syncs Trakt lists to both Plex and Jellyfin
  • Export to M3U - for music playlists, export from Plex and import to Jellyfin

Step 5: Recreate Users

Jellyfin user accounts are local - no Plex account required.

JellyWatchTry JellyWatch — Your Jellyfin companion, everywhere.
  1. Dashboard → Users → Add User
  2. Create accounts for each person who had Plex access
  3. Set library permissions and parental controls as needed
  4. Share the Jellyfin URL and credentials with each user

Users do not need a Jellyfin account - only a username and password on your server.


Step 6: Configure Clients

Android / Android TV

Install the official Jellyfin for Android app from Google Play. Add your server URL and log in.

iOS / Apple TV

Install Infuse (best Jellyfin client for Apple devices) or the official Jellyfin app.

Kodi

Install the Jellyfin for Kodi add-on from the Jellyfin repository.

Smart TV

Jellyfin has apps for Samsung (Tizen), LG (webOS), and Android TV.

Web browser

Access directly at http://your-server:8096 - no app needed.


Step 7: Verify and Decommission Plex

Before uninstalling Plex:

  • [ ] All media appears correctly in Jellyfin
  • [ ] Watch history transferred for all users
  • [ ] All users can log in and stream
  • [ ] Clients configured on all devices
  • [ ] Reverse proxy updated to point to Jellyfin
  • [ ] Notifications and monitoring set up

Once confirmed, stop and remove Plex:

docker stop plex
docker rm plex

Common Migration Issues

IssueCauseFix
Wrong metadata on some itemsPlex used different TMDB IDFix match in Jellyfin: Edit → Identify
Missing episodesNaming format differenceRename files to Jellyfin standard
Watch history incompleteAPI rate limits during migrationRe-run migration tool in batches
Clients can't find serverDifferent port (8096 vs 32400)Update server URL in each client
Custom posters lostPlex stores them internallyRe-upload manually or use Kometa

FAQ

Can I run Plex and Jellyfin at the same time? Yes. They use different ports (32400 vs 8096) and can share the same media files simultaneously.

Will my media files be affected? No. Jellyfin reads your files in read-only mode. Nothing is moved or modified.

Do I need to re-download all my metadata? Jellyfin fetches metadata automatically during the library scan. It takes time but requires no manual work.

What about Plex Pass features I paid for? All Plex Pass features (hardware transcoding, Live TV, mobile sync) are free in Jellyfin.


Monitor Your New Jellyfin Server

After migrating, set up monitoring so you know your server is healthy:

  • Active sessions and transcoding status
  • CPU and RAM usage
  • Push notifications when users connect
  • Server uptime alerts

JellyWatch gives you all of this from your Android device - the perfect companion for your new Jellyfin setup.


Just migrated to Jellyfin? Keep an eye on your new server. Download JellyWatch on Google Play - real-time session monitoring, transcoding alerts, and server health for Jellyfin on Android.

Still running Emby? Download EmbyWatch on Google Play - the same monitoring experience for Emby servers.

Comments 3

PlexSurvivor·

Used the Trakt sync method to migrate watch history. Worked flawlessly for 3 users and 2000+ items. Zero data loss.

FamilyAdmin·

Ran both servers side by side for a week before cutting over. Smooth transition, family didn't even notice the switch.

FreedFromPlex·

No more Plex account required to access my own server. That alone was worth the migration effort.

Leave a comment

Never displayed publicly.
0 / 2000 · Supports limited Markdown: **bold**, *italic*, `code`, [link](url), lists, > quote.