christt105/jellytags
christt105/jellytags has 41 GitHub stars and 10 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 10:33 UTC. Last push 2026-10-31.
What you can do
- Batch Editing: Select multiple media items and apply tags to all of them at once.
- Tag Suggestions: View existing tags across your selection and easily propose new or current ones.
- Responsive Design: A mobile-friendly sliding sidebar allows you to manage tags on the go.
- Sorting & Filtering: Find specific media quickly using the built-in search bar and sorting dropdown.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Website to batch edit tags in Jellyfin
Web & AppsREADME.md
Original
JellyTags
JellyTags is a lightweight, responsive web application for managing tags within your Jellyfin media library. Easily select multiple movies or shows and batch-apply tags.

[!WARNING] Early Version & Disclaimer
This is an early-stage release. While it has been thoroughly tested, this application modifies your media metadata. We strongly recommend creating a backup of your Jellyfin database before use. Use it at your own risk.
Features
- Batch Editing: Select multiple media items and apply tags to all of them at once.
- Tag Suggestions: View existing tags across your selection and easily propose new or current ones.
- Responsive Design: A mobile-friendly sliding sidebar allows you to manage tags on the go.
- Sorting & Filtering: Find specific media quickly using the built-in search bar and sorting dropdown.
- Tag Filtering: Filter the grid by tag, either to items that have a tag or to items missing it, useful for finding what still needs tagging.
Requirements
- A Jellyfin server.
- An API Token from your Jellyfin server with Administrator privileges (needed to fetch the admin user's library context and update items).
Running via Docker (Recommended)
You can easily spin up the JellyTags interface using Docker and Docker Compose. VITE_JELLYFIN_URL and VITE_JELLYFIN_TOKEN are only used server-side, by nginx's reverse proxy under /jellyfin: the browser talks to that same-origin path and never sees the Jellyfin URL or token.
[!WARNING] Anyone who can reach JellyTags' port gets full admin access to your Jellyfin server through
/jellyfin, without needing any credential of their own: the proxy injects the token for them. Don't expose this port beyond a network you trust.
1. Create a docker-compose.yml
Create a docker-compose.yml file anywhere on your server, or clone this repository and modify the existing one.
services:
jellytags:
image: christt105/jellytags:latest
container_name: jellytags
restart: unless-stopped
ports:
- "8181:80"
environment:
- VITE_JELLYFIN_URL=http://your-jellyfin-server-ip:8096
- VITE_JELLYFIN_TOKEN=your_admin_api_token
2. Start the container
Run the following command:
docker-compose up -d
Access the interface at http://localhost:8181.
Installation (Local Development)
1. Clone the repository
git clone https://github.com/christt105/jellytags.git
cd jellytags
2. Install dependencies
npm install
3. Environment Variables
To run JellyTags locally, create a .env file at the root of the project:
VITE_JELLYFIN_URL=http://localhost:8096
VITE_JELLYFIN_TOKEN=your_admin_api_token
These are only read by Vite's dev proxy (server.proxy in vite.config.ts), which mirrors the production nginx reverse proxy: the app itself calls the relative /jellyfin path and never reads either value directly.
4. Start the Development Server
npm run dev
Support / Sponsor
If you found this tool useful, consider buying me a coffee!