- Professional UI Redesign
- Complete visual overhaul with a new professional dark theme.
- Consistent styling across all widgets using a dedicated QSS stylesheet.
- Improved layout with a larger default window size for a better user experience.
 
- Enhanced Download Progress
- Added a visual progress bar to the "Activity" page for real-time download feedback.
- The progress bar is updated dynamically by parsing yt-dlp's output.
 
- Code Refinements
- Removed all inline styling in favor of the new stylesheet.
- Added object names to widgets for more specific styling.
 
- Automatic yt‑dlp Updater
 Checks GitHub for new yt-dlp releases and replaces your local binary automatically.
- Multiple Download Modes
- Single Video / MP3
- Playlist Video / Playlist MP3
- Channel Videos / Channel MP3
- Channel Shorts / Shorts MP3
 
- Cookie‑Based Login
 Import YouTube cookies via “Get cookies.txt Locally” extension for authenticated downloads.
- Modern PyQt6 GUI
 Intuitive sidebar, real‑time status, and scrolling activity log.
- Flexible Quality Options
 Choose best‑available or specific resolutions (8K, 4K, 1080p, etc.); MP3 defaults to 320 kbps.
- Lightweight & Cross‑Platform
 Single‑file app plus assets; runs on Windows, macOS, and Linux (ffmpeg required).
yt-downloader-gui/
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   └── feature_request.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── RELEASE_TEMPLATE.md
│   └── workflows/
│       └── ci.yml
├── .gitignore
├── assets/
│   ├── screenshots/
│   │   └── screenshot.png
│   └── yt-downloader-gui-logo.ico
├── docs/
│   ├── CHANGELOG.md
│   ├── CODE_OF_CONDUCT.md
│   ├── CONTRIBUTING.md
│   ├── README.md
│   ├── SECURITY.md
│   ├── STATUS.md
│   └── USAGE.md
├── LICENSE
├── pyproject.toml
├── requirements.txt
├── src/
│   ├── app/
│   │   ├── __init__.py
│   │   ├── download_manager.py
│   │   ├── login_manager.py
│   │   ├── main_window.py
│   │   ├── ui_manager.py
│   │   └── updater.py
│   ├── assets/
│   │   ├── activity.png
│   │   ├── download.png
│   │   ├── style.qss
│   │   └── video-favicon.png
│   ├── bin/
│   │   ├── ffmpeg.exe
│   │   └── yt-dlp.exe
│   ├── build.bat
│   ├── favicon.ico
│   └── main.py
└── tests/
    ├── __init__.py
    ├── test_download_manager.py
    └── test_updater.py
- GitHub
# Clone the repository
git clone https://github.com/uikraft-hub/yt-downloader-gui.gitFor more detailed documentation, see our USAGE.md
Please see our Contributing Guide for details.
This project follows our Code of Conduct. Please read it before contributing.
- Modern PyQt6 GUI
- Multiple Download Modes
- Automatic yt‑dlp Updater
See the open issues for a full list of proposed features and known issues.
All notable changes to this project are documented in CHANGELOG.md.
This project is licensed under the MIT License - see the LICENSE file for details.
- yt-dlp for the robust download backend
- PyQt6 for the modern GUI framework
- ffmpeg for audio/video processing
- GitHub API for seamless updater integration
- 📧 Email: [email protected]
- 🐛 Issues: Repo Issues
- 🔓 Security: Repo Security
- ⛏ Pull Request: Repo Pull Request
- 📖 Docs: Repo Documentation
- 📃 Changelog: Repo Changelog

