Youtarr is a free, open source orchestration & scheduling project written in TypeScript and released under ISC. It has 1,570 GitHub stars, 67 forks and 71 open issues, and was last pushed 27 hours ago. On this registry it ranks #55 of 64 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available.

What is Youtarr?

Youtarr is a self-hosted web application that downloads, organizes, and schedules YouTube channel and playlist content and supplies it with metadata to Plex, Kodi, Emby, and Jellyfin, built for people who run their own media server and want their subscriptions archived, ad-free, and offline.

What it is

Youtarr is a TypeScript web application, licensed under ISC, that runs on a server the user controls and turns YouTube channels and playlists into a managed local video library. It downloads videos, shorts, and streams, files them by channel, generates the metadata media servers expect, and runs on a cron schedule so new uploads arrive without anyone pasting a link. It also works standalone, so downloading and in-app playback remain usable with no media server present.

The concrete problem is the manual per-video routine of fetching an upload, naming it, placing it in the correct folder, and persuading the media server to notice it. Youtarr replaces that loop with subscriptions, a scheduler, metadata generation through NFO files, poster images and embedded MP4 metadata, duplicate prevention, and cleanup. It lives in the self-hosted media-server ecosystem; the download engine named in its topics is yt-dlp, and Youtarr is the orchestration and library layer above it.

Key capabilities

  • Channel subscriptions that auto-download new videos, shorts, and streams, with per-tab controls for each type.
  • Playlist subscriptions that download into the correct channel folders and mirror each playlist into Plex, Jellyfin, and Emby as a native playlist, plus a universal .m3u file for other players.
  • Channel grouping into custom subfolders such as __kids, __music, and __news, which become separate media server libraries.
  • Media preparation through NFO files, poster images, and embedded MP4 metadata, SponsorBlock removal of sponsored segments, and global or per-channel resolution settings from 360p to 4K.
  • Watch status sync that pulls per-video watched state from Plex, Jellyfin, and Emby for every user on the server, adds a Watched chip to listing pages, and filters by watched or unwatched. One-way only; Youtarr never writes back.
  • Cron-based scheduled downloads and auto-cleanup by age, free space, or watched state, with dry-run previews, per-video and per-channel protection, and keep-recent guards.
  • Filesystem rescan from Settings -> Maintenance & Rescan to reconcile the database after files are moved, renamed, or converted outside Youtarr, for example .mp4 to .mkv.

Who uses it and how

  • Households building a curated, family-friendly YouTube library, where subfolders such as __kids and __news produce separate libraries on the media server.
  • Plex owners who want automatic library refreshes and native playlists instead of a folder of loose video files.
  • Archivists preserving videos before they are deleted or made private.
  • Multi-user homeservers, since watched state is pulled for every user on the server, not only the owner.
  • Self-hosters with no media server at all, because downloads, browsing, and scheduling work standalone.

Getting started

Self-hosted setup and deployment guidance are documented at youtarr.com. For those who do not want to self-host, a managed deployment is available through ElfHosted, which maintains its own Youtarr documentation.

How it compares

Youtarr sits above yt-dlp, the download engine named in its topics, adding scheduling, metadata, playlist mirroring, and cleanup rather than replacing the downloader. The media servers it feeds, Plex, Kodi, Jellyfin, and Emby, remain the playback layer, and Youtarr is the bridge between them and raw YouTube content.

When to use it — and when not to

A self-hoster operates the web app, provides storage for a library that grows with every subscription, and depends on cron to keep schedules running. Watch status sync is one-way, so anyone who needs watched state written back to Plex, Jellyfin, or Emby should look elsewhere, as should anyone unwilling to run and maintain a server. The available README excerpt ends mid-sentence in its Discord notifications section, and the repository carries 71 open issues, so parts of the documentation are thinner than the rest of the project.

project readme (upstream, from github) — read inline

Youtarr

Backend Coverage Frontend Coverage CI Status

Youtarr is a self-hosted YouTube downloader that automatically downloads videos from your favorite channels and playlists. It provides metadata for multiple media servers, mirrors your subscribed YouTube playlists into Plex, Jellyfin, and Emby as native playlists, pulls watch status back from those servers so you can filter your library by what's been watched, and offers optional Plex integration for automatic library refreshes. Learn more at youtarr.com.

Don't want to self-host? You can also run Youtarr on ElfHosted with a managed deployment – see their Youtarr docs.

Like Youtarr? Consider supporting the project on Patreon to help keep it free and actively developed!

https://github.com/user-attachments/assets/a80548fc-bcf9-4ad0-889c-dbd5aac250ee

Why Youtarr?

  • No Ads or Tracking: Watch YouTube content without interruptions
  • Offline Viewing: Access your videos anytime, even without internet
  • Archive Content: Preserve videos before they're deleted or made private
  • Works Standalone: Full functionality without requiring any media server
  • Family-Friendly: Create curated, safe YouTube experiences with multi-library support
  • Media Server Ready: Downloads videos with proper organization and metadata for Plex, Kodi, Jellyfin, and Emby.

Key Features

  • Smart Downloads: Pre-validate manually pasted URLs with metadata preview before downloading
  • Channel Subscriptions: Subscribe to channels and auto-download new videos, shorts, and streams with per-tab controls
  • Playlist Subscriptions: Subscribe to YouTube playlists and auto-download their videos into the right channel folders; Youtarr mirrors each playlist into Plex, Jellyfin, and Emby as a native playlist and writes a universal .m3u file for any other player
  • Browse Channels: View and search all videos from subscribed channels with advanced filtering, tabbed views for Videos/Shorts/Streams, and contextual publish date accuracy tips
  • Find on YouTube: Search YouTube from inside Youtarr on the Find Channels on YouTube and Find Videos on YouTube pages; video results show which ones are already downloaded or missing, and a click subscribes to a channel or queues a download
  • In-App Playback: Click any thumbnail to open a detail modal with extended metadata and in-browser streaming of downloaded videos; no media server required
  • Channel Grouping & Multi-Library Support: Organize channels into custom subfolders (e.g., __kids, __music, __news) to create separate media server libraries
  • Smart Organization: Videos organized by channel with metadata and thumbnails
  • SponsorBlock Integration: Remove sponsored segments automatically
  • Quality Control: Global and per-channel resolution settings (360p to 4K)
  • Download History: Track what you've downloaded with smart duplicate prevention
  • Watch Status Sync: Pull per-video watched state from Plex, Jellyfin, and Emby (every user on the server, not just yours), show a Watched chip on listing pages, and filter your library by watched or unwatched. One-way sync; Youtarr never writes back to your servers
  • Metadata Generation: NFO files, poster images and embedded MP4 metadata for all media servers
  • Scheduled Downloads: Configure automatic downloads on your schedule (cron-based)
  • Auto-Cleanup: Age, free-space, and watched-based removal of videos with dry-run previews, plus per-video and per-channel protection and keep-recent guards
  • Filesystem Rescan: Move, rename, or convert downloaded files outside Youtarr (e.g., .mp4 to .mkv) and trigger a rescan from Settings -> Maintenance & Rescan to reconcile the database; daily and startup scans pick up changes automatically
  • Discord Notifications: Optional webhook alerts for new downloads
  • Web Interface: Manage everything through a responsive (PC or mobile) web UI
  • Secure Access: Built-in authentication with admin controls
  • REST API: Full API with interactive Swagger/OpenAPI documentation for automation and integrations
  • Platform Flexible: Configurable storage paths and guides for deployment to multiple platforms and architectures
  • Unraid Ready: Community Applications template (via DialmasterOrg repo) with headless-friendly credential presets
  • Powered by yt-dlp: Uses yt-dlp under the hood for YouTube integration and downloads
  • Content Ratings: Add per-video and per-channel content ratings (normalized to common media-server values like G, PG, PG-13, R, NC-17, TV-*). Ratings can be set per-download, via channel defaults, or derived from yt-dlp metadata; they show up as badges and can be used for automated policies.

How Youtarr compares

Youtarr predates Pinchflat (first commits May 2023 vs. January 2024); the two arrived at similar solutions independently and have evolved in parallel since. For a side-by-side of where Youtarr, Pinchflat, and Tube Archivist differ on Plex integration, in-app playback, watch-status tracking, content ratings, REST API, filename templating, and transcript search, see the comparison doc.

Quick Start

You'll need Docker, Docker Compose, Git, and a Bash shell (Git Bash on Windows). See the Installation Guide for prerequisites, install methods, initial setup, and updating.

Heads up: Youtarr runs exclusively via Docker; direct npm start/Node deployments are unsupported.

Want to try unreleased features? See Using Development Builds for the bleeding-edge dev-latest image.

Database note for Docker Desktop/ARM/NAS users: Fresh installs started with ./start.sh use Docker named-volume storage for MariaDB. Existing bind-mounted installs and plain docker compose up -d installs may use ./database; on virtualized filesystems this can be risky for MariaDB schema migrations. If you see Table ... doesn't exist in engine or Incorrect information in file errors, or if you want to proactively migrate, see Database Management.

Documentation

Setup & Configuration

Media Server Setup

Platform Guides

Advanced Topics

Help & Support

Contributing

Interested in contributing to Youtarr? We welcome contributions of all kinds!

readme truncated — read the full docs on github

Frequently asked questions

Is Youtarr free to use?

Youtarr is open source under the ISC licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Youtarr do?

Self-hosted web app that automates downloading, organizing, and scheduling YouTube channel content with support for Plex, Kodi, Emby and Jellyfin

What is Youtarr written in?

Youtarr is primarily written in TypeScript. Its source is publicly available at https://github.com/DialmasterOrg/Youtarr, and it has 1,570 GitHub stars.