Invidious
Alternative privacy-respecting front-end for YouTube with no ads and zero tracking.
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.
Learn Invidious by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
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.
version: '3'services: invidious: image: quay.io/invidious/invidious:latest container_name: invidious restart: unless-stopped ports: - "3000:3000" environment: - INVIDIOUS_CONFIG= db: user: kemal password: custom_password_here host: invidious-db port: 5432 dbname: invidious check_tables: true depends_on: - invidious-db invidious-db: image: postgres:15-alpine container_name: invidious-db restart: unless-stopped volumes: - ./postgres_data:/var/lib/postgresql/data - ./init-db.sql:/docker-entrypoint-initdb.d/init-db.sql environment: - POSTGRES_DB=invidious - POSTGRES_USER=kemal - POSTGRES_PASSWORD=custom_password_hereStart the instance:
docker compose up -dOpen 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
- Official Website: https://invidious.io
- GitHub Repository: https://github.com/iv-org/invidious
- Documentation: https://docs.invidious.io
Related tools
More options with a similar category or technology profile.
MyPaint
Nimble, distraction-free, and easy graphic application for digital painters.
Pencil2D
Easy, intuitive traditional hand-drawn 2D animation software across raster and vector.
Hydrogen
Advanced open-source drum machine and pattern-based step sequencer for audio production.
Pure Data
Open source visual programming language for multimedia, audio, and physical computing.