A simple, user-friendly GUI application for downloading YouTube videos with quality selection and audio extraction capabilities.
- 🎯 Multiple Quality Options: Download videos in 240p, 360p, 480p, 720p, 1080p, or 4K resolution
- 🎵 Audio Only: Extract audio in MP3 format
- 📁 Custom Download Location: Choose where to save your downloads
- 🖥️ Clean GUI: Simple and intuitive interface built with tkinter
- 📦 Single Executable: No installation required - just run the executable
- 🚀 Cross-Platform: Works on macOS, Windows, and Linux
-
Download the latest executable from Releases
- Choose your platform:
ytdl-app-windows.zip,ytdl-app-macos.zip, orytdl-app-linux.zip
- Choose your platform:
-
Extract and run based on your platform:
🪟 Windows:
- Extract the ZIP file
- Double-click
main.exe - If Windows shows "Windows protected your PC" warning:
- Click "More info" → "Run anyway"
- Or right-click the file → Properties → Unblock → OK
🍎 macOS:
- Extract the ZIP file
- Right-click
main→ "Open" (don't double-click!) - If macOS shows "cannot be opened because it is from an unidentified developer":
- Go to System Preferences → Security & Privacy → General
- Click "Open Anyway" next to the blocked app message
- Alternative: Run in Terminal:
chmod +x main && ./main
🐧 Linux:
- Extract the ZIP file
- Open Terminal in the extracted folder
- Make executable:
chmod +x main - Run:
./main
-
Use the app:
- Enter a YouTube URL
- Select your preferred quality
- Choose download location
- Click Download!
# Clone the repository
git clone https://github.com/ad-archer/ytdl-app.git
cd ytdl-app
# Install dependencies
pip install yt-dlp pyinstaller
# Build executable
pyinstaller --onefile main.py
# Run the app
python main.py- For Users: None! The executable is self-contained
- For Developers:
- Python 3.8+
- yt-dlp
- PyInstaller (for building)
# Install dependencies
pip install yt-dlp pyinstaller
# Build single executable
pyinstaller --onefile main.py
# The executable will be in dist/main- URL Input: Paste the YouTube video URL
- Quality Selection: Choose from available resolutions
- Audio Only: Check this box to download audio only (MP3)
- Download Location: Click "Browse" to select save location
- Download: Click the green "Download" button
- Built with Python + tkinter for the GUI
- Uses yt-dlp for robust YouTube downloading
- Single executable created with PyInstaller
- Supports all yt-dlp format options
- Solution: Right-click the file and select "Open" instead of double-clicking
- Alternative: System Preferences → Security & Privacy → General → "Open Anyway"
- Solution: Click "More info" → "Run anyway"
- Alternative: Right-click file → Properties → Unblock → OK
- Solution: Run
chmod +x mainfirst, then./main
- Make sure you downloaded the correct version for your operating system
- Try running from Terminal/Command Prompt to see error messages
- Ensure you have an internet connection for downloading videos
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for educational purposes only. Please respect YouTube's Terms of Service and copyright laws. Only download content you have permission to download.
- yt-dlp - The powerful YouTube downloader
- PyInstaller - For creating standalone executables