Jellyfin: Free Open-Source Self-Hosted Media Server

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:

PlatformClientNotes
Web BrowserJellyfin Web (built-in)No install needed, access at server URL
AndroidJellyfin for AndroidFree on Google Play
iOS / iPadOSJellyfin MobileFree on App Store
Android TV / Fire TVJellyfin for Android TVFree, excellent 10-foot UI
Apple TVSwiftfin (community)Free, native tvOS app
RokuJellyfin for RokuFree on Roku Channel Store
WindowsJellyfin Media PlayerBased on mpv, best quality
macOS / LinuxJellyfin Media PlayerCross-platform mpv client
KodiJellyfin for KodiIntegrates Jellyfin into Kodi
Samsung/LG TVJellyfin 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.com with HTTPS

Jellyfin vs Plex vs Emby

FeatureJellyfinPlexEmby
Cost100% FreeFree + Plex Pass ($120/yr)Free + Emby Premiere ($54/yr)
Hardware transcodingFreeRequires Plex PassRequires Premiere
Mobile syncFreeRequires Plex PassRequires Premiere
Multi-userFree, unlimitedManaged users (Plex Pass)Free limited, Premiere for more
Open sourceYes (GPL v2)No (closed source)Partially
Data privacyNo telemetryTelemetry, Plex account requiredOptional telemetry
Offline mobileFreePlex Pass requiredPremiere required
Live TV/DVRFreePlex Pass requiredPremiere required
UI polishGood, improvingExcellentGood
Client varietyGoodExcellentGood

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.

Share This Article

Written by

Technology journalist and software expert, covering the latest trends in tech and digital innovation.