YouTube Video Downloader
A desktop downloader for videos and playlists, built with PyQt6 and yt-dlp.
- Developer
- 2026

What it is
A cross-platform desktop app that downloads single videos and whole playlists at a chosen resolution, packaged as native builds for macOS and Linux.
The problem
The original pytube-based version hung for 30 seconds generating tokens, was blocked as a bot, froze the UI and took up to a minute to load playlists.
Architecture
Requests flow left to right. Hover a component for its role.
- PyQt6 desktop UI client
- Download service worker, background threads
- yt-dlp external
- Local library data
- PyInstaller builds infrastructure, macOS Apple Silicon and Intel, Linux
Key decisions
Replace the engine, keep the app
Moving from pytube to yt-dlp removed token generation entirely and fixed bot detection, without changing the user interface.
No shell strings
A subprocess call that used shell=True was rewritten to pass an argument list, closing a command-injection risk.
Highlights
- Playlist loading no longer blocks the interface.
- Native builds for Apple Silicon, Intel Macs and Linux.