Skip to content
Projects

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.

How these counts are measured

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 & Apps

README.md

Original

JellyTags Logo

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.

Screenshot

[!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!

ko-fi