TiloBox
Back to directory
Invidious project preview

Invidious

Alternative privacy-respecting front-end for YouTube with no ads and zero tracking.

LicenseAGPL-3.0
GitHub stars22.7k
Last commit1 weeks ago
Tags6 topics
Front EndCrystalPrivacyAdblockSelf HostedYoutube
Overview

Why consider Invidious?

Invidious is an open-source alternative front-end for YouTube written in Crystal. It strips ads, disables tracking cookies, provides RSS feeds, and supports audio-only playback.

Guided learning

Learn Invidious by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

3 min read 10 sections
In this guide10 sections

What is Invidious?

Invidious is an open-source, privacy-oriented alternative web front-end for YouTube written in the Crystal programming language. It allows users to watch YouTube videos, browse channels, search for content, and manage subscriptions without viewing advertisements, loading Google tracking scripts, or creating a Google account.

Invidious proxies video audio/video streams through the server host or allows direct video delivery, protecting the viewer's IP address and preventing tracking cookies from profiling browsing habits.

Who Is It For?

  • Privacy-Conscious Web Users: Watching video content and listening to audio streams without tracking cookies or targeted advertising.
  • Low-Bandwidth & Mobile Users: Consuming audio-only streams and selecting specific video resolutions on metered mobile data connections.
  • Self-Hosters & Homelabbers: Providing a private, ad-free video portal for family and local network devices.

Key Features

  • Ad-free video playback with zero Google telemetry, tracking pixels, or proprietary JavaScript blobs.
  • Built-in subscription management with support for importing/exporting subscription feeds as OPML/JSON.
  • Native RSS feeds for any YouTube channel or user playlist.
  • Audio-only background playback mode for bandwidth savings and podcast listening.
  • Integrated REST API for third-party client applications (FreeTube, Yattee, Clipious).

Deploying Invidious with Docker Compose

Invidious runs alongside PostgreSQL as its backend database for storing local user accounts, preferences, and subscriptions.

yaml
1version: '3'
2
3services:
4 invidious:
5 image: quay.io/invidious/invidious:latest
6 container_name: invidious
7 restart: unless-stopped
8 ports:
9 - "3000:3000"
10 environment:
11 - INVIDIOUS_CONFIG=
12 db:
13 user: kemal
14 password: custom_password_here
15 host: invidious-db
16 port: 5432
17 dbname: invidious
18 check_tables: true
19 depends_on:
20 - invidious-db
21
22 invidious-db:
23 image: postgres:15-alpine
24 container_name: invidious-db
25 restart: unless-stopped
26 volumes:
27 - ./postgres_data:/var/lib/postgresql/data
28 - ./init-db.sql:/docker-entrypoint-initdb.d/init-db.sql
29 environment:
30 - POSTGRES_DB=invidious
31 - POSTGRES_USER=kemal
32 - POSTGRES_PASSWORD=custom_password_here

Start the instance:

bash
1docker compose up -d

Open http://localhost:3000 in your browser to browse and watch videos through your private Invidious front-end.

Practical Use Cases

1. Private Ad-Free Video Viewing

A user browses technical talks and music videos through Invidious without video pre-roll advertisements, tracking cookies, or algorithmic recommendations.

2. Channel RSS Feeds in Feed Readers

A developer extracts direct RSS links for favorite technology channels (https://invidious.example.com/feed/channel/UC...) and subscribes to them inside an RSS reader like FreshRSS or Miniflux.

3. Backend Video Proxy for Desktop Clients

A user connects the FreeTube desktop app to their self-hosted Invidious instance API, syncing watched video histories and subscriptions across devices privately.

Troubleshooting and Limitations

  • YouTube Upstream Rate Limiting: Heavy usage from a single public IP can trigger rate limits or CAPTCHA challenges from YouTube; configuring Invidious companion proxy pools or rotating IPv6 subnets resolves rate limits.
  • Account Import Format: When importing subscriptions from Google Takeout, ensure the CSV/JSON file format matches the Invidious import schema under Preferences -> Import/Export Data.

Official Resources

Related tools

More options with a similar category or technology profile.

Invidious FAQs

Invidious is listed as a Media tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Invidious is listed under the AGPL-3.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Invidious is listed as an alternative to YouTube Web. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.