Skip to content
Projects

n00bcodr/Jellyfin-Enhanced

View on GitHub

n00bcodr/Jellyfin-Enhanced has 2,024 GitHub stars and 107 forks. GitHot measured +31 in 7 days. Last checked 2026-11-09 22:09 UTC. Last push 2026-11-02.

How these counts are measured

A comprehensive enhancement layer for the Jellyfin web UI with keyboard shortcuts, subtitle styling, TMDB and User reviews, Seerr integration with auto-request, a media calendar and download monitor via Sonarr & Radarr, and a growing collection of quality-of-life improvements.

Measured star growth

in 24h
Update delayed
in 7 days
+31
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Jellyfin Enhanced

Everything you wish Jellyfin's web app already did, in one plugin.

Request new movies right from search · Watch shows without spoilers · See 4K, HDR and Atmos on every poster
Keyboard shortcuts · Bookmarks · A release calendar · Reviews · Live "who's watching" · and a lot more

Jellyfin 10.11 | 12.x Last updated Downloads for 10.11 Downloads for 12.x Discord

Install · Tour · Documentation · FAQ · Discord

A quick tour: quality tags on posters, then a movie page with ratings, streaming availability, reviews, awards, cast ages and Seerr recommendations

🪼 What is Jellyfin Enhanced?

Jellyfin is a free media server you run yourself, like your own private Netflix. Jellyfin Enhanced is a free server plugin that adds browsing and playback tools to your server's web interface, including compatible official mobile and desktop playback modes.

  • Install it once, on the server. Everyone who uses your server gets the new features. There is nothing to install on phones, TVs or computers.
  • Every person picks what they want. Press ? outside an input or textarea in Jellyfin to open the Enhanced panel and switch features on or off for yourself.
  • Choose the features you want. Whoever runs the server chooses which features are available and how they're set up by default; many start switched off. Connecting Seerr, Sonarr, Radarr, TMDB or MDBList adds even more.

🍿 For viewers: Poster tags · Richer movie pages · A better player · Shortcuts · Random
👨‍👩‍👧 For households: Spoiler Guard · Hide things · Reviews and Activity · Phones
🛠️ For whoever runs the server: Requests · Calendar · Active Streams · Admin tools

⚡ Install in a minute

  1. In Jellyfin, open Dashboard → Plugins → Repositories and click ➕.
  2. Give it a name (for example Jellyfin Enhanced), paste this repository URL, and save:
    https://raw.githubusercontent.com/n00bcodr/jellyfin-plugins/main/manifest.json
    
  3. Open the Catalog tab, find Jellyfin Enhanced, and click Install.
  4. Restart Jellyfin and refresh your browser (Ctrl+F5). Press ? outside an input or textarea, or choose Enhanced Panel in the drawer. On Jellyfin 12, choose Jellyfin Enhanced in the avatar menu. If the panel opens, JE’s web tools have loaded.

[!IMPORTANT] Current JE builds target Jellyfin 12.x and 10.11.x. The same repository URL serves every version, and Jellyfin installs the build that matches your server. Something not working? See the installation guide and troubleshooting.

First admin settings and defaults

Open Dashboard → Plugins → Jellyfin Enhanced next. Overview shows status and quick actions. Configure features in Display, Playback, Pages, Seerr, *arr, Elsewhere & Reviews, Extras, Keyboard and Admin; Docs links to the guides.

Setting Default What it does
Enable Custom Pause Screen On Shows the pause overlay after the personal delay, initially 5 seconds.
Enable Bookmarks Feature On Saves playback timestamps.
Enable Random Button On Adds random browsing.
Auto-pause on tab switch On Sets the starting Auto-pause preference.
Show available audio languages on item detail page On Sets the starting audio-language preference.

Main media-tag preferences start off, as do Seerr, Spoiler Guard, Activity, Requests, Calendar, Hidden Content, Catch Up and Active Streams. Elsewhere starts on, but its TMDB key is initially empty. Add a key to use it.

Start with the quick start or settings overview.

🗺️ The tour

The screenshots and recordings illustrate configured features on Jellyfin 12. They do not show fresh-install defaults; some recordings display an older plugin version.

🔎 Request anything, right from search

Search Jellyfin as usual to find Seerr results below your library matches. Request a missing title with one click. Your request goes to whoever runs the server, who can approve it from inside Jellyfin.

Searching for 'spider' shows library movies with quality tags, then Seerr results; one click requests a movie

  • Request movies and shows from search results, detail pages and discovery pages, including 4K and specific seasons.
  • Recommendations and "Similar" rows on every movie and show page, with request buttons.
  • Browse and discover by genre, network, studio, actor, collection or tag, plus a Recommendations page with trending and popular titles. Studio and network pages show their movies and series side by side, with an All / Movies / Series switch.
  • Smarter search: type Dune (2021) to match a specific year, and optionally hide Seerr results you already have in Jellyfin.
  • Automatic requests: when you're close to the end of a season, the next season is requested for you. The same works for the next movie in a collection.
  • More request options: pick the server, quality profile and folder when requesting, see your request quota, and use Request More on a show to add missing seasons.
  • Watchlist sync between Seerr and Jellyfin, in both directions (KefinTweaks shows the Jellyfin side as a watchlist).
  • Report a problem (video, audio, subtitles or other) straight to Seerr from the item page.
  • Fix shows Seerr can't match: for a series with no TVDB match (common with anime), pick the right one, or type its TVDB ID, before you request it.
  • Parental controls are respected. Results follow each user's rating limit and blocked tags.

Recommendations page (enabled separately)
Seerr Recommendations page with Trending and Popular rows

Requests, with approve and decline for authorized managers
Requests page showing pending requests with approve and decline buttons

Configure a Seerr server in the admin Seerr tab. Each requesting user needs a Seerr account linked to their Jellyfin user ID and the appropriate permissions; optional automatic import can attempt to create that link. Approval follows Seerr policy, so requests do not necessarily wait for a Jellyfin administrator.

Seerr settings, automation and details
Setting Default What it does
Enable Seerr integration Off Enables the integration.
Seerr URL(s) (One per line) Empty Connects to your Seerr server.
Seerr API Key Empty Authenticates server requests.
Enable Recommendations Page Off Enables the standalone page; also choose its delivery under Pages.
Enable 4K Requests Off Offers 4K movie requests, subject to permissions.
Enable 4K TV Requests Off Offers 4K TV requests, subject to permissions.
Show advanced request options Off Offers advanced fields to authorized users.
Show "Report Issue" button on items Off Adds issue reporting, subject to Seerr permissions.

Administrator automation settings:

Setting Default What it does
Enable Automatic Advance Season Requests Off Enables next-season requests.
Episodes Remaining Threshold 2 Sets the remaining-episode threshold for season requests.
Require All Prior Episodes Watched Off Adds a prior-episode watched requirement.
Enable Auto Movie Requests Off Enables requests for the immediately following collection part.
When movie starts Off Requests the next collection part as soon as a movie starts; either selected trigger can fire.
After X minutes watched On Requests the next collection part after playback reaches the minutes threshold; either selected trigger can fire.
Minutes Watched Threshold: 20 Sets the playback-position threshold in minutes.
Only request if released On Checks the next movie's release date.
Quality Profile Mode: Default Uses the default request quality mode.
Sync Seerr Watchlist → Jellyfin Off Enables this watchlist-sync direction independently.
Sync Jellyfin Watchlist → Seerr Off Enables the reverse sync direction independently.

Movie automation needs a TMDB key and matching movie ID. It inspects the immediately following collection part without skipping ahead to a later missing movie. Jellyfin watchlist membership uses the Likes flag. Seerr features · Settings and automatic-request quality options · Permission audit

🫣 Watch without spoilers

Spoiler Guard hides unwatched episode images and details so you can browse without spoilers. Once you’ve watched an episode, it looks normal.

An admin must enable Enable Spoiler Guard (off by default). Then turn on Spoiler Guard for a show, movie or collection. Unwatched thumbnails use the show's artwork, or blur if your admin prefers. Titles, plots, ratings, chapter names and guest stars are hidden.

Configured Blur images mode: later episodes blurred and renamed, compared with protection off

  • Supported Jellyfin images and metadata are protected on the server, including for native TV and phone clients.
  • It's per person: turning it on for yourself doesn't change anything for anyone else. You can also choose which details stay visible for you, such as ratings or the cast.
  • Server protection also covers supported trickplay previews, chapter lists and search metadata. JE's web interface additionally suppresses its Reviews panel; other clients using the Reviews API need their own corresponding UI behavior.
  • Admins can turn it on automatically when someone starts a new show, requests one, or when a new title lands in the library, for shows, movies or only certain libraries.
▶️ See it in action

Configured Blur images mode: watched episodes retain artwork while protected episodes are blurred with hidden titles

Spoiler Guard docs →

🏷️ See quality at a glance

Every poster gets small badges, so you can tell at a glance what you're about to watch.

Movie library with quality, genre, language, age rating and score badges on every poster

Badge What it shows
Quality (top left) Resolution (8K, 4K, 1080p…), source (BluRay, DVD, HDTV, VHS…), HDR, Dolby Vision, HDR10+, IMAX, 3D, codec, and audio such as Atmos, DTS:X, TrueHD and 7.1. It can describe matching audio tracks in your preferred language, with fallback to other tracks when no match exists
Genre (top right) Icons for up to three genres, which expand into their names when you hover
Language (bottom left) Up to three distinct flags for audio languages. On shows, a dimmed flag means that dub doesn't cover every episode
Age rating (bottom right) The parental rating (PG-13, TV-MA, FSK 12, BBFC 15…), colour-coded by rating board
Ratings (bottom right) The community and critic scores from your metadata (usually TMDB and Rotten Tomatoes), plus (optionally) the average rating from people on your server
People (cast photos) Each actor's age now and at release, and their birthplace

Cast row with each actor's age, age at release and birthplace

Native Poster Tags adds your chosen tags to posters in eligible native apps. Choose your tag categories in the personal panel.

Tag settings and how native posters work

JE draws your selected tags into returned Primary images without changing artwork files. An administrator enables Enable Native Poster Tags (Experimental); you can opt out with Show Tags in Native Clients (Experimental) in UI Settings. Your app may need a library refresh or restart to show changes.

See Native Poster Tags for eligible clients and exclusions, Tag Styles for colors, tag-cache settings for exclusions and rebuilding, and audio-language synchronization for Jellyfin tag links and existing items.

Tags & badges → · Enhanced settings →

📄 Richer movie and show pages

See ratings, streaming availability, reviews and extra details on movie and show pages. Open a title to see the features your administrator has enabled.

Movie page with ratings, release dates, file size, audio languages and external links

Streaming availability and user reviews on a movie page

  • Ratings from TMDB and Rotten Tomatoes, plus IMDb, Letterboxd, Metacritic, Trakt and more through MDBList. MDBList ratings can also be saved into Jellyfin itself, for clients that display those metadata fields
  • Elsewhere: see which streaming services carry the title in your selected region or another.
  • Reviews: TMDB reviews, and reviews and star ratings written by people on your server
  • Awards: see available wins and nominations from Wikidata for movies, shows and people.
  • Extra details such as release dates (cinema, digital and physical for movies, air dates for shows), file size, watch progress and audio languages
  • Quick links to Letterboxd, and (for admins) to the title in Sonarr, Radarr or Bazarr

Wikidata-backed awards example with available wins and nominations

Streaming availability, TMDB reviews and release-date lookups need a TMDB API key. Extra MDBList ratings need an MDBList key.

Detail-page settings and lookup details

For default aired season order, regular seasons fall back to series providers when needed. Specials without provider data are omitted. You can disable per-season providers in your personal Elsewhere search settings.

Awards need matching TMDB identifiers. Coverage depends on Wikidata claims; its public endpoint needs no API key.

Movie cinema, digital and physical dates prefer the configured region (initially US), then US, then another available region. Episode dates prefer Jellyfin's date before falling back to TMDB. Size and language information follow the selected media version.

Administrator detail-page settings:

Setting Default What it does
Per-season providers On Looks up season providers for default aired season order; users can disable this in personal Elsewhere search settings.
Show Awards Banner Off Displays available Wikidata awards.
Show Release/Air Date Off Displays release and air-date lookups.

Administrator display defaults, overridable through personal preferences:

Setting Default What it does
Show file sizes Off Displays file-size information.
Show watch progress Off Displays watch-progress information.
Show available audio languages on item detail page On Displays audio languages.
MDBList display, bulk fetching and metadata synchronization

Display lookups can populate the cache. For bulk setup, enable fetching and run Fetch Ratings from MDBList, then enable synchronization and run Sync Ratings from MDBList to Jellyfin. Sync reads the cache without MDBList lookups and skips missing entries; it does not require the Fetch switch. Display alone does not synchronize metadata. Lookups are subject to your account's quota.

Elsewhere docs → · MDBList settings →

⏯️ A better player

Save favorite moments, adjust subtitles and make playback more comfortable in Jellyfin’s web player.

Custom pause screen with logo, plot, rating and progress

  • A pause screen with the title, plot, rating and how far you are through it
  • Bookmarks: press B to save a moment. It appears as a marker on the timeline, and every bookmark is listed on its own page, where you can label, play, edit, delete and repair them.
  • Automatic intro and outro skipping, using the intro data Jellyfin already has (for example from Intro Skipper)
  • Auto-pause when you switch browser tabs, auto-resume when you come back, and optional picture-in-picture
  • Custom subtitles: font, size, color, background, position and an outline or drop shadow, with a live preview
  • Press and hold the video for 2× speed (mouse or touch)
  • Ratings in the player while the controls are showing, and optionally a brief age rating, content advisory and genre card when playback starts

Bookmarks on the timeline
Player timeline with bookmark markers

All your bookmarks in one place
Bookmarks page listing saved moments with play, edit and delete buttons

Playback docs →

Playback settings and limits

These personal playback settings start from the admin defaults and require Jellyfin's web player.

Setting Default What it does
Custom Pause Screen On Shows the overlay while paused and idle, after Delay before showing (seconds):, initially 5 seconds.
Auto-pause On Pauses when leaving the tab.
Auto-resume Off Resumes on return.
Auto Picture-in-Picture Off Attempts PiP when leaving the tab.
Automatically Skip Intro Off Skips available Intro segments.
Automatically Skip Outro Off Skips available Outro segments.
Long Press for 2x Speed (β) Off Hold for 500 ms to play at 2×; release restores the previous speed.

Saved personal choices take precedence over the administrator defaults.

Automatic skipping needs Intro/Outro Media Segment data. Automatic PiP depends on browser support and video state; JE closes only the PiP window it opened. Subtitle styling affects subtitle elements shown by the browser and cannot change subtitles burned into video.

Administrator playback setting:

Setting Default What it does
Show Age Rating When Playback Starts Off Shows the age rating, available content advisories and genres for about five seconds when playback starts, once per item.

A player bookmark button also saves a moment without a keyboard. Bookmark management provides Movies, Series and Others groups and repair tools. See the bookmark and playback guide before destructive cleanup. There is no bookmark export/import interface; use the settings backup guidance for file backups.

⌨️ The Enhanced panel and shortcuts

Choose your personal settings and shortcuts in the Enhanced panel. Press ? while you’re not typing in an input or textarea, or choose Enhanced Panel in the drawer.

Other ways to open the panel

Use Jellyfin Enhanced in Jellyfin 12's avatar menu or Jellyfin Enhanced - User Settings in user preferences. In mobile or TV web layouts, you can also use the player's tune button titled Jellyfin Enhanced when the player controls are available; desktop layouts hide it.

Search settings… filters the section list.

  1. Open Shortcuts and click a key.
  2. Press your new key combination. Backspace restores the current admin binding; Delete disables it.
Panel behavior and disabling shortcuts

Desktop restores your last section. Phone layouts start at the section list with a back button. About → Release Notes loads the latest GitHub release, which can differ from your installed version.

Disable Keyboard Shortcuts starts off. Enabling it disables ordinary JE shortcuts and hides their personal section. The separate ? listener still opens the panel.

Enhanced panel section navigator and settings tour; this recording shows an older plugin version

⌨️ Default keyboard shortcuts
While browsing In the web player
/ Search B Bookmark this moment
Shift+H Home O Skip intro or outro
D Dashboard S / C Subtitle menu / next subtitle track
Q Quick Connect V Next audio track
R Open something random + / - / R Faster / slower / normal speed
? Open the Enhanced panel A Change aspect ratio
I Playback info
P Episode preview (with the InPlayerEpisodePreview plugin)
, / . Back or forward one frame
Z Jump back to where you were
0–9 Jump to 0–90% of the video

🙈 Keep your home screen tidy

Hide titles on the surfaces you choose, or remove them from home rows while keeping your watch progress. Use Hidden Content to restore hidden entries.

Remove from Continue Watching
Removing a movie from the Continue Watching row via its menu

Hide a title and manage your hidden list
Hiding a movie, then finding it on the Hidden Content page

  • Continue Watching only, Next Up only and Home sections only hide titles from home rows while preserving progress.
  • Hide titles from the surfaces you choose. Choose the surfaces to filter in personal Hidden Content settings.
  • Your hidden list is saved on the server and follows you across devices on supported surfaces. Administrators can manage other users' lists when permitted. Hiding changes displayed results; it does not revoke library access.
Hidden Content settings and home-row behavior

Personal Hidden Content defaults:

Setting Default What it does
Filter Library On Filters hidden titles from library views.
Filter Recommendations On Filters hidden titles from recommendations.
Filter Calendar On Filters hidden titles from the calendar.
Filter Search Off Filters hidden titles from search when enabled.

Starting playback clears Continue Watching-only suppression; combined home suppression becomes Next Up-only. Restore Next Up suppression separately. The two hiding features share the hidden-content store.

Administrator settings:

Setting Default What it does
Enable "Remove from Continue Watching" Off Enables home-row removal independently of Hidden Content.
Enable Hidden Content Off Enables filtering of hidden titles.
Filter Search results Off Sets the initial personal search-filter preference.

Hidden content docs →

📅 See what's coming

The Calendar shows upcoming episodes and movies from Sonarr and Radarr, plus anime from Shoko. See what's available and filter by cinema, digital or physical release.

Choose day, week, month or agenda view; your initial personal view is agenda. You can enable watchlist and watched/started indicators for matched events.

Month calendar of upcoming episodes and movie releases

The combined Requests page shows Seerr requests and active downloads with progress bars.

Calendar details, Requests settings and permissions

Pending Approval, Processing, Coming Soon and Available describe request states, separate from the download queue. Processing excludes coming-soon and orphaned requests.

The Calendar supports several Sonarr and Radarr instances. Series indicators use the matched episode, rather than whole-show watch history.

Linked users can view all requests if they are Jellyfin admins or have Seerr ADMIN, MANAGE_REQUESTS or REQUEST_VIEW. Approval and decline require a linked account plus Jellyfin admin status or Seerr ADMIN/MANAGE_REQUESTS. Downloads normally show non-admins only content they requested; turning off Filter Downloads by User Requests exposes the queue to all authenticated users.

Administrator Requests settings:

Setting Default What it does
Enable Requests Page Off Enables the combined page.
Show Downloads in Requests Page On Includes Sonarr/Radarr download progress.
Filter Downloads by User Requests On Restricts non-admin download and history visibility to requested content.
Show Seerr Issues Section Off Includes issues, subject to Seerr permissions.
Show Download History Section On Includes recent download history.
Restrict Download History to Admins Off Adds an admin-only history restriction.

The Calendar needs Sonarr, Radarr or Shoko. Request and issue sections need Seerr; downloads and history need Sonarr or Radarr. Non-admin request filtering also needs a linked Seerr account. · *arr docs →

👥 Share it with your household

See household activity and share reviews with the people on your server.

Activity page showing who is watching now and recent watch history

  • Activity: see recent watched, favorite and review activity. Active streams appear when separately enabled and permitted for your account. History respects the viewer's libraries and parental access.
  • Reviews and ratings: users can review movies, shows, seasons and episodes when reviews are enabled. Click Write a Review, enter text, stars or both, then save. Text is limited to 2,000 characters after trimming whitespace at the ends. Ratings use 1–5 stars in half-star steps.
  • Login picture: when someone picks their name to sign in, their profile picture appears above the password box.
Activity and review settings and author visibility

Administrator Activity and review settings:

Setting Default What it does
Enable Activity Feed Off Enables the Activity page.
Show recently watched On Includes watched activity once the feed is enabled.
Show recently favorited On Includes favorite activity once the feed is enabled.
Show recently reviewed On Includes review activity once the feed is enabled.
Show Active Streams section On Includes streams in the enabled feed when Active Streams Header Widget is also enabled. Non-admin viewers also need Show widget to non-admins enabled.
Enable User Written Reviews Off Enables household reviews and star ratings.
Show average user rating on poster cards Off Adds poster averages when the personal Show Rating Tags preference is also enabled.
Hide reviews from hidden users On Filters hidden authors for other non-admin viewers; also applies to activity.
Hide reviews from disabled users On Filters disabled authors for other non-admin viewers; also applies to activity.
Also save review star ratings as the user's Jellyfin rating Off Saves movie/series review stars multiplied by two to Jellyfin's user rating, replacing any existing rating.

Administrators can see all reviews and existing authors can see their own. Deleted or unresolved authors are hidden from non-admins when either author filter is on; activity filtering also has administrator/self exceptions. Season and episode review ratings are not mirrored.

Picking Riley on the sign-in screen shows Riley's profile picture above the password box

📡 See who's watching right now

A live counter in the header shows how many streams are playing. Click it to see posters, progress, devices, codec and bitrate, and whether playback is direct or transcoded.

Admins can send a message to everyone who’s connected. Non-admin responses omit remote addresses, and broadcasting requires administrator access.

Active Streams settings

Administrator Active Streams settings:

Setting Default What it does
Active Streams Header Widget Off Adds the header counter and session panel.
Show widget to non-admins Off Allows non-admin viewers to use the widget and see streams in Activity.

Active Streams, broadcasts and settings.

Administrator Active Streams view with live sessions and connection details

🎲 Can't decide?

The Random button (or R) picks something from your library. You can limit it to movies, shows or things you haven't watched yet, or have it pick from the playlist or collection you're looking at (or one you choose).

Clicking the random button twice opens two random titles

Catch Up

Catch Up helps you work through unwatched movies and series with artwork. Swipe through titles or use buttons and arrow keys:

  • Right: mark watched. Multi-season series open a picker; single-season series are marked watched directly.
  • Left: dismiss in this browser.
  • Up: add to the watchlist.
  • Down: open details.

Backspace rewinds. Selecting a later season selects earlier seasons too.

Catch Up settings and details

Administrator Catch Up settings under Pages:

Setting Default What it does
Enable Catch Up Off Enables the Catch Up page.
Record Catch Up activity On Logs the user, title, action and time to catchup-log.jsonl in the server’s plugin configuration folder when Catch Up is enabled. Administrators can read the log and per-user summary in Catch Up’s Activity panel.
Add Catch Up as a native Home tab Off Adds a Home tab without a companion plugin.
Use Plugin Pages Off Delivers the page through the Plugin Pages plugin.
Use Custom Tabs Off Delivers the page through the Custom Tabs plugin.
Add the Custom Tabs entry for me Off Creates the Custom Tabs entry when that delivery is enabled.

Native Home and Custom Tabs delivery are mutually exclusive in the admin UI. Adding to the watchlist sets Jellyfin’s Likes flag.

Dismissals are per user in this browser and do not follow you across devices. Marking watched intentionally updates Jellyfin's watched state. See Catch Up features and page setup.

📱 On your phone

JE's web features work when the official Android/iOS app or a phone browser loads your server's web interface. The header adapts to small screens; playback enhancements depend on the player and client support.

Open personal settings without a keyboard through the drawer's Enhanced Panel or Jellyfin 12's avatar-menu Jellyfin Enhanced.

Configured phone views with enhanced details and cast, streaming providers and reviews, and Spoiler Guard in Blur images mode

🛠️ Tools for the server admin

Everything is configured from Dashboard → Plugins → Jellyfin Enhanced, with search, descriptions for every option and highlights of the new settings after each update.

Jellyfin Enhanced settings page in the dashboard

  • Set defaults for new personal settings. Saved user values take precedence. Integration and server-policy controls govern availability separately.
  • Import Jellyfin users into Seerr, and audit who is allowed to request what
  • Sonarr, Radarr and Bazarr links, plus *arr and audio-language tags synchronized into Jellyfin's metadata
  • Check which parts are working with built-in connection tests
  • Maintenance mode: a banner on the login page with a live countdown, reminders when people start playing something, and optionally lock out everyone except admins while you work. It can also switch itself on every day for a set window, such as overnight while library scans run
  • Your own branding: upload a logo, login banners, favicon and app icon, and set your own loading screen
  • Themes: pick a color theme for Jellyfish (or a random one each day), plus colored activity and plugin icons
  • Documented CSS hooks to restyle JE
  • More than 30 locales translated by the community; completeness varies and missing strings fall back to English

Maintenance banner with a countdown on the Jellyfin login page

Replacing personal settings and where choices are saved

To change only the settings you just edited for everyone, use Apply the above in that card's banner. To replace everyone’s choices, save the admin changes first. Then use Apply all plugin settings to every user under Overview → Quick Actions. Personal settings are stored on the server; theme choices and Catch Up dismissals use browser storage.

Admin & other features →

📖 Read the full feature guide →

📱 Where it works

App What you get
Jellyfin web UI Full web integration when loading this server's web interface.
Official Android and iOS apps Web integration through their embedded web UI; player capabilities depend on the app and playback mode.
Jellyfin Desktop Injected features when it loads this server's web interface. Consult desktop releases for that project's release information.
TV and other native clients Enabled server features: Spoiler Guard, hidden-content/home-row filtering, automatic Seerr requests, watchlist sync, metadata ratings, audio-language/*arr tag sync, experimental Native Poster Tags and maintenance restrictions.

Player enhancements require the Jellyfin web player. PiP and some controls depend on browser/client support; bundled web clients and external players can limit injected features. Configure server features from the web interface. Native clients may show server messages if they support them. See compatibility and requirements.

🧩 Works great with

Plugin or app Why
Seerr Powers requests, discovery, recommendations and watchlist sync.
Sonarr / Radarr Power the Calendar, the Requests page's download progress, and admin links.
Bazarr / Shoko Bazarr adds subtitle links for admins; Shoko adds anime to the Calendar.
Intro Skipper Finds the intros and outros that auto-skip jumps over.
Plugin Pages / Custom Tabs Optional page navigation in the sidebar (mobile only in Jellyfin 12's Modern Layout) or as Home tabs; see page placement. Both need File Transformation. JE’s native Home tabs work without them.
KefinTweaks Shows the Jellyfin watchlist that watchlist sync keeps up to date.
Jellyfish A Jellyfin theme by the same author. The theme selector picks its colors.
Setting up page navigation

Under Pages, enable each page and its desired delivery; placement switches start off. Native Home and Custom Tabs delivery are mutually exclusive per page. Plugin Pages 3.0+ supports live registration; older versions need a restart after first enabling a page. See JE pages & tabs.

❓ Common questions

Does it work on my TV?

Server features work when enabled: Spoiler Guard, hidden-content and home-row filtering, automatic requests, watchlist synchronization, ratings and audio-language/*arr tags saved into Jellyfin, experimental Native Poster Tags and maintenance restrictions. Injected controls need a client loading this server's web interface, and player enhancements need its web player. Configure server features from the web interface; native clients' cached images may need refreshing. See the compatibility guide.

Do I need Seerr, Sonarr or Radarr?

No. Without them you still get tags, shortcuts, the pause screen, bookmarks, Spoiler Guard, reviews, the Activity page, hidden content, themes and much more. The request, calendar and download features need Seerr, Sonarr, Radarr or (for the Calendar) Shoko.

Will it mess up my server or my watch history?

Your media files remain unchanged. Continue Watching removal preserves progress, and you can restore hidden entries. Catch Up intentionally changes watched state; optional review-rating mirroring changes movie/series user ratings. Optional rating and tag synchronization writes Jellyfin metadata. To uninstall, remove the plugin under Dashboard → Plugins and restart; uninstalling does not reverse those intentional metadata changes.

Does it send my data anywhere?

The server talks to configured services such as Seerr, Sonarr, Radarr, Shoko, TMDB and MDBList. Awards query Wikidata. The server also fetches upstream icons, flags and theme CSS into JE's local CDN cache; serving them locally does not mean they were bundled. Posters for non-library titles can load from TMDB. The browser queries GitHub for release notes and newly available locales.

Installation usage reporting is off by default. An admin must enable Share Anonymous Usage Statistics and save. Preview shows selected statistics, not the exact authenticated request: real reports also include installation credentials and build proof. Visiting the Community Analytics dashboard separately makes browser requests to public Supabase views and Google Fonts, regardless of server reporting consent.

Catch Up has a separate local log. With Enable Catch Up and Record Catch Up activity enabled, it records usernames/IDs, title names/IDs, actions, times, reported success and selected seasons. The log and summary are administrator-only through JE. The server keeps catchup-log.jsonl and one rotated catchup-log.1.jsonl, rotating at approximately 5 MiB per file. These records are not included in analytics reports. Turn off Record Catch Up activity and save to stop future recording. Collection, controls and reporting details.

Is it free?

Yes. It's open source under GPL-3.0. If you'd like to say thanks, there's Ko-fi and Buy Me a Coffee.

Is it in my language?

Community translations cover more than 30 locales; completeness varies and missing strings fall back to English. Display Language in personal Language Settings can override automatic selection; save and refresh after changing it. Missing yours? Help translate on Weblate. No coding needed.

Is this made by Jellyfin or Seerr?

No. It's a community project by n00bcodr and contributors. Please report problems here, not to Jellyfin or Seerr.

More answers are in the full FAQ.

💬 Help, feedback and translations

Translation status

More from n00bcodr

⭐ Star history


If Jellyfin Enhanced made your server better, please ⭐ star the repo. It helps other people find it.

Buy Me a Coffee at ko-fi.com Buy Me a Coffee

Licensed under GPL-3.0 · Made with 💜 for Jellyfin and the community

Explore related projects