Jellyfin vs Plex vs Emby: which media server should you self-host?
A plain comparison of the three big self-hosted media servers — licensing, clients, transcoding and who each one suits.
If you want your own film, TV and music library streamed to a TV, phone or browser, three names come up: Jellyfin, Plex and Emby. They do broadly the same job; the differences are licensing, polish and how much you want to pay.
The short version
| Jellyfin | Plex | Emby | |
|---|---|---|---|
| Licensing | Fully open source (GPL-2.0) | Proprietary (freemium) | Proprietary (freemium / open-core) |
| Cost | Free, forever | Free tier; Plex Pass for some features | Free tier; Premiere for some features |
| Clients | Good and improving | The best coverage (TVs, consoles, phones) | Broad |
| Transcoding | CPU or hardware (VAAPI/NVENC) | Excellent, hardware-accelerated | Excellent, hardware-accelerated |
| Account | Your own server login | Plex account for remote access | Emby Connect optional |
What each one is best at
Jellyfin — the choice if "open source, no account, no subscription" matters to you. It is community-run, has no paid tier, and does everything a household needs. Its client apps are solid on the platforms people actually use; obscure smart-TV apps are its weakest spot.
Plex — the choice if you want the fewest rough edges and the widest device support, and you do not mind a free account plus an optional Plex Pass. Plex "just works" on a smart TV in a way Jellyfin sometimes does not, but its server is closed-source.
Emby — sits between the two: strong clients, good transcoding, a smaller footprint than Plex, and an open-core history. Some features need the Premiere licence.
What "transcoding" means (and why it drives your plan)
A media server often has to convert a file on the fly to a format your device can play — that is transcoding, and it is the expensive part. Direct-play (the device already supports the file) costs almost nothing. Transcoding 1080p on the CPU is fine on a modest VPS; transcoding 4K, or several streams at once, wants either more CPU or a GPU. So: direct play → small plan; heavy transcoding → bigger plan, and check whether your hardware supports NVENC/VAAPI before you rely on acceleration.
The practical recommendation
Privacy-first household, all open source: Jellyfin.
Maximum device compatibility, don't mind a login: Plex.
In between: Emby.
All three run perfectly well on a VPS. Start with 2–4 vCPU and 4 GB RAM for direct play, and scale up if you transcode. See /app-hosting/jellyfin for the Jellyfin spec sheet and a step-by-step setup, and Video on demand setup for the encode-and-serve workflow.