Jellyfin follows a client–server model that allows for multiple users and clients to connect, even simultaneously, and stream digital media remotely. Because Jellyfin runs as a fully self-contained server, there is no subscription-based consumption model that exists, and Jellyfin does not utilize an external connection nor third-party authentication for any of its functionality. This enables Jellyfin to work on an isolated intranet in much the same fashion as it does over the Internet. Because it shares a heritage with Emby, some clients for that platform are unofficially compatible with Jellyfin, however as Jellyfin's codebase diverges from Emby, this becomes less possible.
Jellyfin is extensible, and optional third-party plugins exist to provide additional feature functionality. The project hosts an official repository, however plugins need not be hosted in the official repository to be installable.
Version 10.6.0 of the server software introduced a feature known as "SyncPlay", which provides functionality for multiple users to consume media content together in a synchronized fashion. Support to read epub ebooks with Jellyfin was also added. Also introduced is multiple plugin repositories. Anyone can now create unofficial plugins for Jellyfin and do not need to wait for them to be added to the official plugin repository. The web front end has been split off in a separate system in anticipation of the move towards a SQL backend and High Availability with multiple servers.
The project began on December 8, 2018, when co-founders Andrew Rabert and Joshua Boniface, among other users, agreed to fork Emby as a direct reaction to closing of open-source development on that project. A reference to streaming, Jellyfin's name was conceived of by Rabert the following day. An initial release was made available on December 30, 2018.