Jellyfin is a free, open-source media server that lets you host and stream your personal movie, TV show, music, and photo libraries to any device — no subscription, no account required, no data shared with third parties. Think of it as your own private Netflix, running on hardware you own, accessible anywhere in the world.
Jellyfin was created in 2018 as a fork of Emby after Emby transitioned to a closed-source premium model. The project has since grown into the definitive open-source media server, with an active community, polished clients for every platform, and feature parity with commercial alternatives that charge $5-15/month.
What is Jellyfin?
At its core, Jellyfin is a media server: software that organizes your video and audio files, fetches metadata (cover art, descriptions, cast info, ratings) from online databases, and transcodes or direct-plays media to clients over your local network or the internet.
You install Jellyfin on a computer or NAS that stores your media files. Then you access it from a Jellyfin client app — on your TV, phone, tablet, computer, or game console — and browse your library like a polished streaming service. The experience rivals Netflix or Plex, except you own everything and owe nothing to anyone.
Key Features
- No subscription fees — Jellyfin is 100% free, forever. No “Jellyfin Pass” required to unlock features
- No tracking or telemetry — Jellyfin does not phone home, collect usage data, or share your library information with any company
- Hardware transcoding — Offload video conversion to GPU (Intel Quick Sync, NVIDIA NVENC, AMD AMF) for smooth playback on lower-powered servers
- Multi-user support — Create accounts for family members with individual watch history, progress tracking, and parental controls
- Live TV and DVR — Integrate with HDHomeRun or other TV tuners for live television and scheduled recording with an EPG (electronic program guide)
- Music library — Full music server with artist/album browsing, playlist creation, and streaming to music-capable clients
- Photo library — Browse and share photo collections organized by date and folder
- Plugin system — Extend Jellyfin with community plugins for metadata providers (AniDB, MusicBrainz), subtitle downloaders (OpenSubtitles), and more
- SyncPlay — Watch content simultaneously with remote friends, synchronized in real-time
- Offline downloads — Mobile apps support downloading content for offline viewing
- Subtitle support — Embedded, external (.srt, .ass), and auto-downloaded subtitles with full customization
Supported Platforms: Server
Jellyfin server runs on virtually any hardware capable of running Linux, Windows, or macOS:
- Linux (Ubuntu, Debian, Fedora, Arch, etc.) — Recommended platform; best performance and hardware transcoding support
- Windows — Native installer available; decent for home users
- macOS — Supported but hardware transcoding is limited
- Docker — Official Docker images for x86_64, ARM64, and ARMv7 (Raspberry Pi)
- Synology NAS — Available as a package via SynoCommunity
- QNAP NAS — Available via QNAP App Center
- Unraid — Available in the Community Applications store
- TrueNAS Scale — Available via the built-in app catalog
Client Apps: Watch Anywhere
Jellyfin has official and community clients covering every major platform:
| Platform | Client | Notes |
|---|---|---|
| Web Browser | Jellyfin Web (built-in) | No install needed, access at server URL |
| Android | Jellyfin for Android | Free on Google Play |
| iOS / iPadOS | Jellyfin Mobile | Free on App Store |
| Android TV / Fire TV | Jellyfin for Android TV | Free, excellent 10-foot UI |
| Apple TV | Swiftfin (community) | Free, native tvOS app |
| Roku | Jellyfin for Roku | Free on Roku Channel Store |
| Windows | Jellyfin Media Player | Based on mpv, best quality |
| macOS / Linux | Jellyfin Media Player | Cross-platform mpv client |
| Kodi | Jellyfin for Kodi | Integrates Jellyfin into Kodi |
| Samsung/LG TV | Jellyfin Web (browser) | Built-in browser on smart TVs |
Hardware Requirements
Direct Play (No Transcoding)
If your client devices can play the video files natively (correct codec, bitrate within Wi-Fi/ethernet bandwidth), Jellyfin streams them directly without conversion. In this mode, even a Raspberry Pi 4 can serve dozens of simultaneous streams. Most modern TVs, phones, and computers can direct-play H.264 and H.265/HEVC content.
Software Transcoding
When a client can’t play the source file (wrong codec, insufficient bandwidth, incompatible container), Jellyfin transcodes in real-time. Software transcoding requires significant CPU power:
- 1080p H.264 ? 720p H.264 transcode: ~2,000 PassMark CPU score per simultaneous stream
- 4K HEVC transcode: ~12,000 PassMark per stream
- A modern 6-core CPU can handle 3-5 simultaneous 1080p transcodes comfortably
Hardware Transcoding (Recommended)
GPU-accelerated transcoding dramatically reduces CPU load and power consumption:
- Intel Quick Sync (iGPU) — Best option for low-power builds. An Intel N100 mini PC can transcode 10+ 1080p streams simultaneously at 6W TDP. Excellent H.264/H.265/AV1 encode/decode support
- NVIDIA NVENC — Available on GTX/RTX cards. Excellent quality but requires a dedicated GPU (more power/cost)
- AMD AMF — On AMD discrete GPUs and newer Ryzen APUs. Good but historically less reliable in Jellyfin than Intel or NVIDIA
- VA-API — Generic Linux hardware acceleration API; used with Intel, AMD, and some ARM platforms
Installation
Docker Compose (Recommended)
version: '3.5'
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
network_mode: host # Host networking for autodiscovery
environment:
- JELLYFIN_PublishedServerUrl=https://media.yourdomain.com
volumes:
- ./jellyfin/config:/config
- ./jellyfin/cache:/cache
- /media/movies:/movies:ro # Your movie library (read-only)
- /media/tvshows:/tvshows:ro # Your TV show library
- /media/music:/music:ro # Music library
devices:
- /dev/dri:/dev/dri # Intel/AMD GPU hardware transcoding
Ubuntu/Debian Native Install
# Add Jellyfin repository
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
# Start and enable
sudo systemctl enable --now jellyfin
# Access web UI at http://YOUR_IP:8096
Proxmox LXC via Helper Script
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/jellyfin.sh)"
The helper script creates an optimized LXC container with Intel GPU passthrough pre-configured for hardware transcoding. Highly recommended for Proxmox users.
Setting Up Your Media Library
Organizing Your Files
Jellyfin uses filenames to identify media. Proper naming is crucial for correct metadata matching:
# Movies: /movies/Movie Name (Year)/Movie Name (Year).mkv
/movies/The Dark Knight (2008)/The Dark Knight (2008).mkv
/movies/Interstellar (2014)/Interstellar (2014).mkv
# TV Shows: /tvshows/Show Name/Season XX/ShowName S01E01.mkv
/tvshows/Breaking Bad/Season 01/Breaking Bad S01E01.mkv
/tvshows/Breaking Bad/Season 01/Breaking Bad S01E02.mkv
# Music: /music/Artist/Album/TrackNumber - TrackTitle.flac
/music/Pink Floyd/The Dark Side of the Moon/01 - Speak to Me.flac
Adding Libraries
In the Jellyfin web UI, go to Dashboard ? Libraries ? Add Media Library. Select the content type (Movies, Shows, Music, Photos), name it, and point it to your folder path. Jellyfin will scan the library, match filenames against The Movie Database (TMDb) and TheTVDB, and download artwork, descriptions, ratings, and cast information automatically.
Enabling Hardware Transcoding
Go to Dashboard ? Playback ? Transcoding. Select your hardware acceleration type (Intel Quick Sync, NVENC, etc.) and enable the codec checkboxes (H.264, H.265, AV1). Enable “Tone mapping” for HDR?SDR conversion. Save and restart Jellyfin.
Remote Access Setup
To access Jellyfin from outside your home network, you have several options:
- Port forwarding — Forward port 8096 (or 8920 for HTTPS) on your router to your Jellyfin server. Use a dynamic DNS service (DuckDNS, Cloudflare) if you have a dynamic IP. Simple but exposes the server directly to the internet
- Cloudflare Tunnel — Use Cloudflare’s free tunnel service to expose Jellyfin without opening ports. Traffic goes through Cloudflare’s network. Note: Cloudflare ToS may restrict large video streaming; use with awareness
- VPN (Recommended) — Use WireGuard or Tailscale to connect your devices to your home network when remote, then access Jellyfin on its local IP. Most secure option — Jellyfin never faces the open internet
- Reverse proxy with domain — Nginx Proxy Manager or Caddy with a real domain and Let’s Encrypt SSL. Clean URL like
media.yourdomain.comwith HTTPS
Jellyfin vs Plex vs Emby
| Feature | Jellyfin | Plex | Emby |
|---|---|---|---|
| Cost | 100% Free | Free + Plex Pass ($120/yr) | Free + Emby Premiere ($54/yr) |
| Hardware transcoding | Free | Requires Plex Pass | Requires Premiere |
| Mobile sync | Free | Requires Plex Pass | Requires Premiere |
| Multi-user | Free, unlimited | Managed users (Plex Pass) | Free limited, Premiere for more |
| Open source | Yes (GPL v2) | No (closed source) | Partially |
| Data privacy | No telemetry | Telemetry, Plex account required | Optional telemetry |
| Offline mobile | Free | Plex Pass required | Premiere required |
| Live TV/DVR | Free | Plex Pass required | Premiere required |
| UI polish | Good, improving | Excellent | Good |
| Client variety | Good | Excellent | Good |
The core advantage Jellyfin has over Plex is that every premium feature is free. Plex’s “Plex Pass” at $120/year unlocks hardware transcoding, offline sync, live TV, and multi-user support — features Jellyfin includes at zero cost. For media enthusiasts who don’t want recurring fees, Jellyfin is the obvious choice.
Plugins Worth Installing
- Open Subtitles — Automatically downloads subtitles from OpenSubtitles.org. Configure your API key in plugin settings and Jellyfin will auto-fetch missing subtitles
- Anime Series Provider — Better metadata matching for anime from AniDB and AniList; handles anime naming conventions correctly
- Playback Reporting — Detailed statistics on what’s been watched, by whom, and when. Useful for households with multiple users
- Intro Skipper — Automatically detects and enables a “Skip Intro” button for TV show intro sequences, similar to Netflix’s feature
- Merge Versions — Combines multiple versions of the same movie (e.g., theatrical and director’s cut) into a single library entry
Recommended Hardware for a Jellyfin Server in 2026
Budget: Intel N100 Mini PC (~$150-200) — The Intel N100 (Alder Lake-N, 12th gen) is a revelation for Jellyfin. It has Intel Quick Sync with full AV1 decode support, transcodes dozens of 1080p streams simultaneously, uses under 10W at load, and costs very little. Mini PCs like the Beelink EQ12, Trigkey G5, or Topton N100 are ideal Jellyfin servers that run 24/7 cheaply.
Mid-range: Intel 12th/13th gen NUC or mini PC (~$300-500) — More RAM headroom and storage options. A NUC 12 with 32 GB RAM can run Jellyfin alongside other self-hosted services comfortably.
Existing hardware: Any spare PC — If you have an old Core i5/i7 (6th gen or newer), it likely has Quick Sync for hardware transcoding and will serve as an excellent Jellyfin server. Intel iGPU hardware transcoding is well-supported across all recent generations.
NAS integration: If you already have a Synology or QNAP NAS for storage, install Jellyfin directly on the NAS (DS923+, TS-464 or similar) and keep your media and server on the same device. Higher-end NAS devices have Intel iGPUs that support hardware transcoding via Jellyfin.
Pros and Cons
Pros
- Completely free — no subscription, no premium tier, all features included
- 100% open source (GPL v2) — community-driven, no corporate lock-in
- No Jellyfin account required — fully local operation
- Hardware transcoding included free (unlike Plex)
- Strong multi-user support with granular parental controls
- Active development with frequent releases
- Runs on low-power hardware cost-effectively
Cons
- UI polish still slightly behind Plex (though improving rapidly)
- Client app quality is uneven — some platforms have better apps than others
- No built-in CDN or relay — remote access requires port forwarding or VPN setup
- Metadata matching occasionally fails on obscure titles (fixable manually)
- Live TV/DVR setup requires a compatible tuner and more configuration than basic media serving
Conclusion
Jellyfin is the best free media server available in 2026, and for most personal and family use cases, it’s superior to Plex when you factor in cost. Hardware transcoding, multi-user support, offline downloads, and live TV — features Plex charges $120/year for — are all included for free.
If you have a collection of movies and TV shows and want to watch them from any device anywhere in the world without ongoing subscription fees or privacy concerns, Jellyfin is the definitive solution. Set it up once, and you have a private streaming service for life.
Download: Jellyfin is available at jellyfin.org. Docker images, native packages for Ubuntu/Debian/Fedora/Windows, and platform-specific clients are all available free from the official website and GitHub.