Create dynamic playlists that update themselves.

Rule‑based playlists for Jellyfin that refresh with your library — powered by SmartPlaylist plugin. Works with ALL Jellyfin media types. MusicTags adds rich audio metadata so your rules can be even smarter.

Background

Why these plugins exist

I wanted a “smart playlist” feature in Jellyfin but couldn’t find one that worked well and wasn't too complicated. With the help of AI, I revived an older, broken plugin, rewrote large parts of it, and kept adding functionality over time. I’m actively maintaining and improving it.

Along the way I built MusicTags — a tiny companion that brings more audio metadata into Jellyfin. Those extra tags unlock more powerful audio rules in SmartPlaylist.

Both plugins are open‑source. If you have ideas, issues, or PRs — you’re invited!

SmartPlaylist

What it does

  • Create playlists from rules (e.g., Media Type is "Movie" AND Genre is "Action".
  • Auto‑refreshes so new matching items appear without manual edits.
  • Works with all Jellyfin media types.
  • Choose ordering (e.g., random, most recent, least played) and limit sizes.
  • Optional scheduled rebuilds or on‑demand regeneration.

Read the full README →

Example rules

Type: Movie
Filters:
  • Genre == "Action"
  • Year <= 2000
  • IsPlayed == False
Order: Random
Limit: 250 items

MusicTags

Why it exists

Many audio files contain rich tags (BPM, Key, Comment, custom DJ tags) that does not show in Jellyfin by default. MusicTags imports selected tags into Jellyfin’s item fields so SmartPlaylist can use them in rules and sorting.

MusicTags README →

Example use with MusicTags

Type: Audio
Filters:
  • BPM between 120 and 130
  • Key == "8A"
Order: Most recently added
Limit: 100 items

Install / Update

  1. Open Jellyfin DashboardPluginsRepositories.
  2. Add this repository: https://raw.githubusercontent.com/jyourstone/jellyfin-plugin-manifest/refs/heads/main/manifest.json (or download the latest release from the GitHub releases page and upload the contents to your Jellyfin plugin folder).
  3. Search for SmartPlaylist and install. Optional: also install MusicTags.
  4. Restart Jellyfin if prompted.
  5. Configure: DashboardPluginsSmartPlaylist (and MusicTags), then start creating rules.

Always check the latest releases for notes and compatibility.

FAQ

Is this still being updated?

Yes. SmartPlaylist started as a rescue of an older plugin and keeps evolving. Contributions and feedback are welcome.

Do I need MusicTags?

No — SmartPlaylist works on its own. MusicTags just exposes more audio metadata so your rules can be more expressive.

Where to report issues?

Open an issue on the relevant GitHub repository: SmartPlaylist or MusicTags.

Pro tip: Backup your rules

SmartPlaylist stores your rules in JSON files, and the plugin includes Export/Import functionality. Use the Export feature in the plugin settings to download your rules as JSON files. This makes it easy to backup your playlists or transfer them to another Jellyfin server.