A beautiful, modern desktop application for yt-dlp with smooth animations and an intuitive interface
Features โข Installation โข Usage โข Screenshots โข Contributing
- Glassmorphism Design - Elegant UI with frosted glass effects and gradient backgrounds
- Smooth Animations - Powered by Anime.js for delightful micro-interactions
- Responsive Layout - Adapts beautifully to different window sizes
- Custom Styling - Polished scrollbars, hover effects, and transitions
- Multiple Formats - MP4, WebM, MKV, MP3, M4A, and more
- Quality Options - From 4K down to 240p, choose your preferred resolution
- Playlist Support - Download entire playlists or cherry-pick specific videos
- Smart Defaults - Automatically selects the best available quality
- Video Preview - View thumbnail, title, uploader, duration, and view count before downloading
- Real-time Progress - Live progress bar with download speed and ETA
- Toast Notifications - Beautiful pop-up feedback for all actions
- Auto-save Settings - Your preferences persist between sessions
- Custom Output - Choose exactly where your downloads go
- Subtitle Downloads - Automatically fetch available subtitles
- Thumbnail Extraction - Save video thumbnails separately
- Metadata Embedding - Include video information in file metadata
- Detailed Logging - Timestamped output log for troubleshooting
You'll need these installed on your system:
- Node.js (v16 or higher) - Download here
- yt-dlp - The powerful video downloader this app uses
Windows
# Using pip (recommended)
pip install yt-dlp
# Using winget
winget install yt-dlp
# Using Chocolatey
choco install yt-dlpmacOS
# Using Homebrew (recommended)
brew install yt-dlp
# Using pip
pip install yt-dlpLinux
# Using pip (recommended)
pip install yt-dlp
# Ubuntu/Debian
sudo apt install yt-dlp
# Arch Linux
sudo pacman -S yt-dlp
# Fedora
sudo dnf install yt-dlpVerify installation:
yt-dlp --version- Clone or download the repository:
git clone https://github.com/Mohammed-ALhassanSE/EZDownload.git
cd ytdlp-gui-electronOr download and extract the ZIP file.
- Install dependencies:
npm install- Run the application:
npm start- Paste a video URL into the input field
- Click Get Info to preview the video
- Select your preferred quality and format
- Click Download and watch the magic happen
- Choose Output Location - Click the folder icon to select your download directory
- Download Subtitles - Enable the subtitles checkbox before downloading
- Save Thumbnails - Keep video thumbnails alongside your downloads
- Embed Metadata - Include video information in the file properties
- Paste a playlist URL
- Preview all videos in the playlist
- Download the entire playlist or select individual videos
ytdlp-gui-electron/
โโโ main.js # Electron main process (backend logic)
โโโ preload.js # Secure IPC bridge between renderer and main
โโโ index.html # Application interface markup
โโโ styles.css # Styling with animations and effects
โโโ script.js # Frontend functionality and UI logic
โโโ package.json # Dependencies and project configuration
โโโ README.md # Documentation (you are here!)
npm start
# or
npm run devThe app will launch with hot-reload enabled for quick iterations.
npm run buildThis creates platform-specific distributables in the dist/ folder:
- Windows:
.exeinstaller - macOS:
.dmgdisk image - Linux:
.AppImageor.debpackage
Edit the CSS variables in styles.css:
:root {
--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
--accent-color: #667eea;
--success-color: #4caf50;
--error-color: #f44336;
--warning-color: #ff9800;
}The modular architecture makes it easy to extend:
- UI Changes - Modify
index.htmlandstyles.css - Frontend Logic - Add functionality in
script.js - Backend Logic - Handle IPC and system operations in
main.js - Secure Communication - Update
preload.jsfor new IPC channels
Problem: Error message about yt-dlp not being found
Solutions:
- Verify installation:
yt-dlp --version - Ensure yt-dlp is in your system PATH
- Restart your terminal/command prompt after installation
- Try reinstalling:
pip install --upgrade yt-dlp
Problem: Downloads fail or error out
Check:
- โ Internet connection is stable
- โ Video URL is valid and accessible
- โ You have write permissions for the output directory
- โ Sufficient disk space is available
- โ Review the output log for specific error messages
Problem: Application feels sluggish
Try:
- Close resource-intensive applications
- Download one video at a time for large files
- Check available disk space
- Restart the application
- Update to the latest version of yt-dlp
| Error | Solution |
|---|---|
ERROR: Unable to extract video data |
Video may be private, deleted, or region-locked |
HTTP Error 403 |
May require cookies/authentication (not currently supported) |
Postprocessing: ffmpeg not found |
Install ffmpeg for format conversion features |
Contributions are welcome! Here's how you can help:
- Use the issue tracker to report bugs
- Include your OS, Node.js version, and yt-dlp version
- Provide steps to reproduce the issue
- Share relevant error messages or logs
- Open an issue with the "enhancement" label
- Describe the feature and its use case
- Explain how it would benefit users
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow existing code style
- Test your changes thoroughly
- Update documentation as needed
- Keep commits focused and well-described
This project is licensed under the MIT License - see the LICENSE file for details.
This project wouldn't be possible without these amazing tools:
- yt-dlp - The powerful command-line video downloader
- Electron - Framework for building cross-platform desktop apps
- Anime.js - Lightweight JavaScript animation library
- Font Awesome - Icon library for beautiful UI elements
- Inter Font - Modern and readable typeface
If you encounter issues or have questions:
- ๐ Check the Troubleshooting section
- ๐ Open an issue on GitHub
- ๐ฌ Start a discussion for questions and ideas
Made with โค๏ธ for the yt-dlp community