Skip to main content
OfflineTube is a web application that allows you to search for YouTube videos, download them for offline use, and play them locally with a YouTube-style interface. The application provides a complete solution for managing your offline video library with features like quality selection, download management, and local streaming.

What is OfflineTube?

OfflineTube bridges the gap between online video content and offline viewing. It combines the familiar YouTube browsing experience with powerful download capabilities and local playback features. Whether you want to save videos for offline viewing, create a local video library, or have reliable access to content without internet connectivity, OfflineTube provides the tools you need.

Architecture

OfflineTube is built with a modern architecture that separates the frontend and backend concerns:
Browser (UI)


Next.js Frontend (port 3000)
     │  HTTP

FastAPI + yt-dlp (port 8001)
     ├─ downloads/     (media files)
     └─ thumbnails/    (local thumbnails)

Frontend

The frontend is built with Next.js 16 using the App Router architecture. It provides:
  • Modern React-based user interface
  • Responsive design with dark/light mode support
  • Real-time download progress tracking
  • Local video player with streaming support
  • Search and discovery features

Backend

The backend is powered by FastAPI and yt-dlp, running on port 8001. It handles:
  • Video information extraction and metadata
  • Download orchestration with quality selection
  • Local file storage and management
  • HTTP range request streaming for smooth playback
  • Thumbnail caching and optimization

Key features

OfflineTube offers a comprehensive set of features for managing your offline video experience:

Content exploration

Browse YouTube content through search and trending sections directly from the app

Flexible downloads

Download videos or audio-only with quality and format selection options

Offline library

Manage your downloaded content with a local library and built-in media player

Smooth streaming

Stream local files with HTTP range requests for seamless playback and seeking

Download management

Track, cancel, delete, and retry download tasks with real-time progress updates

Optimized thumbnails

Automatic thumbnail caching with fallback support for reliable preview images

Responsive design

Modern interface that works across devices with adaptive layouts

Theme support

Switch between light and dark modes for comfortable viewing in any environment

Technology stack

  • Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS, shadcn/ui
  • Backend: FastAPI, Python 3.10+, yt-dlp, uvicorn
  • Media Processing: ffmpeg, ffprobe
  • Storage: Local file system for downloads and thumbnails

Get started

Ready to set up OfflineTube? Check out the quickstart guide for a streamlined setup process, or dive into the detailed installation instructions for more control over your configuration.

Quickstart

Get OfflineTube running in minutes with our step-by-step quickstart guide