Skip to content

A minimalist web interface for downloading YouTube videos in MP4, MP3, or WAV formats with a sleek dark theme

License

Notifications You must be signed in to change notification settings

randomsnippets/minimalytd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MinimalYTD

A minimalist web interface for downloading YouTube videos in MP4, MP3, or WAV formats with a sleek dark theme - just paste, pick format, and press enter

Tired of cluttered YouTube downloaders with ads, tracking, and unnecessary features? This minimalist web interface strips everything down to the essentials. Built with FastAPI and a dark terminal aesthetic, it delivers a clean, distraction-free experience that feels like using a command-line tool in your browser.

✨ Key Features

🎯 Ultra-Minimal Interface

  • Terminal-inspired design - dark theme with monospace fonts for that hacker aesthetic
  • Three-click workflow - paste URL → select format → press enter
  • Smart URL validation - automatically cleans and validates YouTube URLs
  • Glowing visual feedback - subtle animations guide you through the process

🎵 Multi-Format Support

  • MP4 video downloads - highest quality video with audio
  • MP3 audio extraction - 192kbps quality for music and podcasts
  • WAV audio conversion - uncompressed audio for professional use
  • Automatic format detection - handles all YouTube URL variations

🍪 Cookie Authentication

  • Age-restricted content - bypass restrictions with browser cookies
  • Private/unlisted videos - access content requiring authentication
  • Persistent cookie storage - saves cookies locally for future downloads
  • Multiple format support - accepts both Netscape and JSON cookie formats

⚡ Performance Optimized

  • Streaming downloads - files stream directly to browser without server storage
  • Temporary processing - no files left behind on server
  • Clean filename generation - removes special characters and spaces
  • Chunked responses - efficient memory usage for large files

🚀 Quick Setup

Requirements

  • Python 3.7+
  • FFmpeg - required for audio conversion (MP3/WAV)

Installation

# Install all dependencies from requirements.txt
pip install -r requirements.txt

# Run the server
python app.py

Access at: http://localhost:8000

📖 Usage Guide

Basic Download

  1. Paste YouTube URL - any YouTube URL format works
  2. Select format - click MP4, MP3, or WAV
  3. Press Enter - download starts automatically

Using Cookies (for restricted content)

  1. Click "cookies" button - top-right corner
  2. Export cookies from browser - use dev tools or browser extension
  3. Paste with Ctrl+V - cookies are saved automatically
  4. Go back and download - now works with restricted content

Supported URL Formats

https://youtube.com/watch?v=VIDEO_ID
https://youtu.be/VIDEO_ID  
https://m.youtube.com/watch?v=VIDEO_ID
https://www.youtube.com/embed/VIDEO_ID
youtube.com/watch?v=VIDEO_ID (auto-adds https)

🔧 How It Works

Backend Magic

  • URL normalization - converts any YouTube URL to standard format
  • yt-dlp integration - leverages the most powerful YouTube downloader
  • Streaming responses - files never touch server disk
  • Smart error handling - graceful failure with helpful messages

Frontend Polish

  • Typewriter effects - smooth text animations and transitions
  • Visual state management - interface adapts to current action
  • Keyboard shortcuts - Enter to download, Ctrl+V for cookies
  • Responsive design - works on mobile and desktop

Security Features

  • URL validation - prevents injection attacks
  • Temporary file cleanup - no persistent storage
  • Cookie isolation - each user's cookies stay separate
  • Input sanitization - safe filename generation

⚠️ Important Notes

FFmpeg Dependency

Audio conversion (MP3/WAV) requires FFmpeg to be installed and accessible in PATH:

# Windows (with Chocolatey)
choco install ffmpeg

# macOS (with Homebrew)  
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

Cookie Export Methods

  • Browser Dev Tools: Application → Cookies → copy values
  • Browser Extensions: "Get cookies.txt" or similar
  • Format Support: Both Netscape (.txt) and JSON formats work

Rate Limiting

YouTube may temporarily block requests if you download too frequently. Use cookies and reasonable delays between downloads.

🎨 Interface Highlights

Dark Terminal Theme: Monospace fonts, minimal colors, focus on functionality
Smooth Animations: Text scrambling effects, glowing selections, typewriter transitions
Smart Feedback: Visual cues for every action, loading states, error messages
Keyboard-First: Tab navigation, Enter to download, Ctrl+V for cookies

📋 Technical Stack

  • Backend: FastAPI + yt-dlp + Python
  • Frontend: Vanilla JS + CSS animations
  • Processing: FFmpeg for audio conversion
  • Storage: Browser localStorage for cookies, temporary server files

Perfect for self-hosting, development, or anyone who wants a clean YouTube downloader without the bloat.

About

A minimalist web interface for downloading YouTube videos in MP4, MP3, or WAV formats with a sleek dark theme

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages