A modern, professional video downloader built with Electron and React, featuring AI-powered capabilities and a beautiful dark theme UI.
- Multi-Platform Support: YouTube, TikTok, Instagram, Facebook, Twitter, Vimeo, and 45+ more platforms
- Quality Selection: 4K Ultra HD, Full HD (1080p), HD (720p), Standard (480p), and Audio Only
- Batch Downloads: Download multiple videos at once
- Subtitle Support: Download subtitles and auto-translate with AI
- Audio Extraction: High-quality MP3 conversion
- AI Rename: Smart file naming based on content
- AI Subtitle Translate: Automatic subtitle translation
- Auto Folder Sort: Intelligent file organization
- Cloud Sync: Automatic backup to cloud storage
- Modern Design: Dark theme with purple-pink gradients
- Responsive Layout: Three-panel design with sidebar navigation
- Real-time Stats: Track downloads, success rate, and storage usage
- Smooth Animations: Hover effects and transitions
- Background:
#0F0F1A(Dark navy) - Gradient Header:
#7F00FF→#E100FF(Purple to pink) - Accent Buttons:
#B517FF(Vibrant purple) - Text:
#E0E0E0(Soft white) - Progress Bar:
#8B5CF6(Glow purple)
- Header Font: Poppins SemiBold
- Body Font: Inter Regular
- Button Font: Montserrat Bold
- Node.js (v16 or higher)
- npm or yarn
- Python (for yt-dlp)
- Clone the repository:
git clone <repository-url>
cd universal-video-downloader- Install dependencies:
npm install- Install yt-dlp:
# Windows
pip install yt-dlp
# macOS/Linux
pip3 install yt-dlp# Start development server
npm run dev
# Build for production
npm run build
# Build Electron app
npm run build-electron- Launch the app: Run
npm startor use the built executable - Enter URL: Paste video URL(s) in the input field
- Select Quality: Choose desired video quality
- Configure Options: Enable subtitles or audio extraction
- Start Download: Click the "Start" button
- Monitor Progress: Watch real-time download progress
Ctrl+V: Paste URLCtrl+D: Start downloadCtrl+O: Open downloads folderF1: Show help
universal-video-downloader/
├── main/
│ ├── main.js # Electron main process
│ └── preload.js # Preload script for security
├── src/
│ ├── App.jsx # Main React application
│ ├── components/
│ │ ├── Sidebar.jsx # Left navigation panel
│ │ ├── DownloadPanel.jsx # Center download controls
│ │ ├── StatsPanel.jsx # Right statistics panel
│ │ └── Footer.jsx # Bottom status bar
│ ├── hooks/ # Custom React hooks
│ └── styles/
│ └── app.css # Main stylesheet
├── public/
│ └── index.html # HTML template
├── package.json # Dependencies and scripts
└── README.md # This file
- Default Path:
~/Downloads/VideoDownloader - Quality: 1080p Full HD
- Format: MP4 (video), MP3 (audio)
- Concurrent Downloads: 1 (can be increased)
- Auto-rename: Enabled by default
- Subtitle Translation: Manual trigger
- Folder Organization: By content type
- Cloud Sync: Optional
The app tracks:
- Downloads today
- Total downloads
- Success rate
- Storage used
- Download history
npm run devnpm run build
npm run build-electronnpm run dist- yt-dlp not found: Install yt-dlp using pip
- Download fails: Check internet connection and URL validity
- Permission errors: Run as administrator (Windows) or with sudo (macOS/Linux)
# Enable debug logging
DEBUG=1 npm startThis project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Email: [email protected]
- Website: www.videodownloader.com
- Issues: GitHub Issues
Universal Video Downloader Pro v2.0 - Smart Downloading with AI