ScriptsApr 14, 2026·3 min read

Invidious — Alternative Privacy-First Frontend for YouTube

Invidious lets you watch YouTube without ads, tracking, or a Google account. It proxies video content and strips all tracking — a self-hostable frontend for YouTube that respects your privacy.

Introduction

Invidious is the flagship alternative frontend for YouTube. It fetches videos from YouTube, strips all JavaScript tracking and ads, and serves a lightweight HTML interface. Your browser never talks to Google's servers; only the Invidious instance does.

With over 19,000 GitHub stars, Invidious is maintained by a volunteer collective (iv-org). Public instances come and go (YouTube's anti-scraping measures are a constant cat-and-mouse), which is why self-hosting for personal or small-group use is the most reliable option.

What Invidious Does

Invidious queries YouTube's internal APIs (the ones the mobile app uses), extracts video URLs + metadata, and re-serves them through its own frontend. It strips tracking, ads, and recommendations-injection, and offers features YouTube doesn't — like downloading videos, subscribing without a Google account, and RSS feeds for channels.

Architecture Overview

Browser -> [Invidious frontend (Crystal)]
              |
              | scrapes / calls YouTube's internal APIs
              v
       [YouTube]

No client-side JS from Google. Videos are proxied through Invidious
(which means Invidious bandwidth grows with usage).

Features:
  - RSS feeds per channel
  - No account subscriptions (cookie-based local storage)
  - Full account mode: import YT subscriptions, create playlists
  - Trending, popular, search without ads
  - Download videos / audio-only
  - Embedded video without tracking

Self-Hosting & Configuration

# docker-compose.yml (excerpt)
services:
  invidious:
    image: quay.io/invidious/invidious:latest
    restart: unless-stopped
    ports: ["3000:3000"]
    environment:
      INVIDIOUS_CONFIG: |
        db:
          dbname: invidious
          user: kemal
          password: kemal
          host: invidious-db
          port: 5432
        check_tables: true
        external_port: 443
        domain: invidious.example.com
        https_only: true
        hmac_key: "GENERATE_A_RANDOM_STRING"
        statistics_enabled: false
        popular_enabled: true
        hsts: true
        default_user_preferences:
          dark_mode: auto
          quality_dash: auto
        captcha_enabled: false
    depends_on: [invidious-db]

  invidious-db:
    image: postgres:15
    environment:
      POSTGRES_DB: invidious
      POSTGRES_USER: kemal
      POSTGRES_PASSWORD: kemal
    volumes:
      - postgresdata:/var/lib/postgresql/data
# Add to your mobile browser: pipe-pipe or NewPipe (Android) can use your
# Invidious instance as data source for better Android experience

Key Features

  • No ads — stripped before reaching your browser
  • No tracking — your IP/browser fingerprint never touches Google
  • No account needed — subscribe via cookies or self-hosted account
  • RSS feeds — subscribe to channels in any feed reader
  • Download + audio-only — pull videos without ytdlp on the client
  • Dark mode + customization — clean, fast UI
  • Embedded player — embed videos without YouTube's tracking scripts
  • Import/export YT subscriptions — move your Google subs into Invidious

Comparison with Similar Tools

Feature Invidious Piped NewPipe (Android) yt-dlp FreeTube (desktop)
Hosting model Self + public Self + public On-device CLI On-device
Ads Blocked Blocked Blocked N/A Blocked
Audio-only Yes Yes Yes Yes Yes
Feed subscriptions Yes Yes Yes CLI-based Yes
RSS output Yes Yes No No No
Comments Yes Yes Yes No Yes
Best For Browser + self-host Browser + self-host Android phone Power CLI Desktop app

FAQ

Q: Is using Invidious legal? A: Grey area. Scraping YouTube technically violates ToS. No one has been prosecuted for using it (and several public instances operate openly), but self-hosting in jurisdictions that honor YouTube ToS strictly could carry risk. For personal use, most users accept the trade-off.

Q: Why do public instances keep going offline? A: YouTube actively blocks scraping IPs. Public instances have a half-life of months or less. Self-hosting (with residential proxies or rotating IPs) is more reliable for heavy use.

Q: Invidious vs Piped? A: Similar goals. Piped has a polished React frontend and may hold up better against YouTube blocks. Invidious is older and more configurable. Run both and pick based on which works on your current ISP.

Q: Does it support YouTube Music? A: Audio playback works for any YouTube video (music or otherwise). For a dedicated music experience, check Hyperpipe (fork of Piped optimized for music).

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets