Custom logo replacement plugin for Jellyfin 10.11+
  • HTML 52.9%
  • C# 36.6%
  • Shell 10.5%
Find a file
NewsGuyTor 28539394fe
Fix duplicate logo image in README
Removed duplicate logo image tag from README.
2025-11-26 00:25:17 +01:00
Controllers v1.1.0: Simplified CSS injection 2025-11-25 23:50:19 +01:00
static Update plugin icon (700x700) 2025-11-26 00:17:47 +01:00
Views v1.1.0: Simplified CSS injection 2025-11-25 23:50:19 +01:00
.gitignore Initial release v1.0.0 - LogoSwap plugin for Jellyfin 2025-11-25 23:15:29 +01:00
build.sh Initial release v1.0.0 - LogoSwap plugin for Jellyfin 2025-11-25 23:15:29 +01:00
LogoInjector.cs Initial release v1.0.0 - LogoSwap plugin for Jellyfin 2025-11-25 23:15:29 +01:00
LogoSwap.csproj v1.1.1: Updated plugin icon 2025-11-26 00:19:07 +01:00
manifest.json v1.1.1: Updated plugin icon 2025-11-26 00:19:07 +01:00
Plugin.cs Initial release v1.0.0 - LogoSwap plugin for Jellyfin 2025-11-25 23:15:29 +01:00
PluginConfiguration.cs Initial release v1.0.0 - LogoSwap plugin for Jellyfin 2025-11-25 23:15:29 +01:00
PluginServiceRegistrator.cs Initial release v1.0.0 - LogoSwap plugin for Jellyfin 2025-11-25 23:15:29 +01:00
README.md Fix duplicate logo image in README 2025-11-26 00:25:17 +01:00
RELEASE_GUIDE.md Initial release v1.0.0 - LogoSwap plugin for Jellyfin 2025-11-25 23:15:29 +01:00

LogoSwap

Custom logo replacement plugin for Jellyfin 10.11+ LogoSwap

Replace the default Jellyfin branding with your own logo across the entire interface—no manual file editing required.

Jellyfin .NET License

Features

  • Simple Upload Interface — Upload your logo directly from the Jellyfin dashboard
  • One-Click Activation — Automatically injects CSS & JavaScript into branding settings
  • Live Preview — See your current logo before applying changes
  • Easy Removal — Restore default Jellyfin branding with a single click

Installation

  1. Open Jellyfin Dashboard → PluginsRepositories
  2. Click + to add a new repository:
    • Name: LogoSwap
    • URL: https://raw.githubusercontent.com/NewsGuyTor/LogoSwap/main/manifest.json
  3. Go to PluginsCatalog
  4. Find LogoSwap and click Install
  5. Restart Jellyfin

Manual Installation

  1. Download the latest release from Releases
  2. Extract LogoSwap.dll to your Jellyfin plugins directory:
    • Linux: /var/lib/jellyfin/plugins/LogoSwap/
    • Windows: C:\ProgramData\Jellyfin\Server\plugins\LogoSwap\
    • Docker: /config/plugins/LogoSwap/
  3. Restart Jellyfin

Usage

Navigate to DashboardPluginsLogoSwap

  • Click Select Logo Image (PNG) and choose your logo file
  • Click Upload Logo

Tip: For best results, use a PNG with a transparent background. Recommended dimensions: 400×100px or similar wide aspect ratio.

2. Apply to Branding

  • Click Apply Custom Logo to Branding
  • Hard refresh your browser (Ctrl+Shift+R / Cmd+Shift+R)

Your custom logo will now appear across the main Jellyfin interface.

Note: The custom logo will not appear in the Dashboard admin area, as it uses a separate interface where custom branding is not applied.

  • Preview — View your current uploaded logo
  • Delete Logo — Remove your logo and restore default branding
  • Remove from Branding — Disable the logo without deleting the file

API Endpoints

Endpoint Method Description
/logoswap/upload POST Upload a new logo (multipart/form-data)
/logoswap/image GET Retrieve the current logo
/logoswap/delete DELETE Delete the uploaded logo
/logoswap/status GET Check if a logo is configured
/logoswap/script GET Get the injection JavaScript

How It Works

LogoSwap uses Jellyfin's built-in branding customization system. When you click "Apply Custom Logo to Branding", the plugin:

  1. Generates CSS rules that override logo background-images
  2. Creates JavaScript to replace logo <img> elements
  3. Injects both into Jellyfin's Custom CSS & Custom JS settings

This approach is non-destructive—your original Jellyfin files are never modified.


Building from Source

git clone https://github.com/NewsGuyTor/LogoSwap.git
cd LogoSwap
dotnet build

Output: bin/Debug/net9.0/LogoSwap.dll


Requirements

  • Jellyfin Server 10.11.0+
  • .NET 9.0 Runtime (bundled with Jellyfin 10.11)

Troubleshooting

Logo not appearing after applying?

  • Hard refresh your browser (Ctrl+Shift+R)
  • Clear browser cache
  • Check Dashboard → General → Branding to verify injection is present

Upload fails?

  • Ensure the file is PNG format
  • Check Jellyfin has write permissions to its plugin config directory
  • Review server logs for detailed error messages

FAQ

Why doesn't my logo appear in the Dashboard?

The Jellyfin Dashboard admin area uses a separate interface where custom branding (Custom CSS/JS) is not applied. This is a limitation of how Jellyfin handles its admin pages. Your custom logo will appear on all regular user-facing pages.

Can I replace the splash/loading screen logo?

Not yet. The splash screen that appears when Jellyfin is loading is embedded in the core application and cannot be replaced via branding customization. This may be added in a future version if there's a feasible approach.

Where is my logo stored?

Your logo is stored in the plugin's data directory within Jellyfin's configuration folder. It's served via the /logoswap/image endpoint.


Contributing

Bug reports, feature requests, and pull requests are welcome!


License

MIT License — see LICENSE for details.


Author: NewsGuyTor