Hands‑free, clipboard‑based YouTube video & playlist downloader in Python
Copy a YouTube link → the script queues it → downloads automatically in the best available quality.
This project is a zero‑interaction YouTube downloader that continuously monitors your system clipboard. Whenever you copy a valid YouTube video, shorts, or playlist URL, it is automatically queued and downloaded—no pasting, no commands, no limits.
It is designed to be:
- Fast (multi‑threaded queue)
- Safe (duplicate detection per session)
- Clean (automatic folder organization)
- Informative (colored logs + progress bars)
| Feature | Description |
|---|---|
| Clipboard Monitoring | Automatically detects YouTube links copied to the clipboard. |
| Queue‑Based Downloads | Links are added to a download queue and processed safely in order. |
| Multi‑Threaded Workers | Configurable worker pool for concurrent downloads. |
| Video + Playlist Support | Handles single videos, Shorts, and full playlists. |
| Highest Resolution | Downloads the best available stream automatically. |
| Smart Folder Structure | Videos → downloads/videosPlaylists → downloads/<playlist_name> |
| Duplicate Protection | Prevents re‑downloading the same link during a session. |
| Live Progress Bars | Real‑time progress using tqdm. |
| Colored Logs | Clear status messages using colorama. |
-
Script starts and initializes folders, queue, and worker threads.
-
Clipboard is checked every second (configurable).
-
A copied URL is:
- Sanitized
- Validated (video / shorts / playlist)
- Added to the download queue
-
Worker threads pick items from the queue:
- Playlists → downloaded sequentially into their own folder
- Videos → downloaded into
downloads/videos
-
Each download shows a live progress bar.
The script runs indefinitely until manually stopped.
downloads/
├── videos/
│ ├── video1.mp4
│ └── video2.mp4
└── Playlist Name/
├── track1.mp4
├── track2.mp4
└── track3.mp4
Modify these constants at the top of the script:
| Variable | Description | Default |
|---|---|---|
OUTPUT_DIR |
Root download directory | "downloads" |
CHECK_INTERVAL |
Clipboard polling interval (seconds) | 1 |
MAX_THREADS |
Max concurrent downloads | 4 |
- Python 3.8+
- Internet connection
Install all dependencies using pip:
pip install pytubefix pyperclip tqdm colorama-
Run the script
python downloader.py
-
YouTube opens automatically (non‑blocking)
-
Copy any YouTube link
- Video
- Shorts
- Playlist
-
Watch it download automatically in your terminal
The script will continue running and accepting new links until you stop it.
✔ https://www.youtube.com/watch?v=...
✔ https://youtu.be/...
✔ https://www.youtube.com/playlist?list=...
✔ https://www.youtube.com/shorts/...
You can bundle this script into a standalone executable using PyInstaller.
pip install pyinstaller
pyinstaller downloader.specThe executable will appear in the dist/ directory.
⚠️ First launch may take a few seconds due to library initialization.
This project is for educational and personal use only.
Downloading content from YouTube may violate its Terms of Service. You are solely responsible for how you use this software. The author assumes no liability for misuse or copyright violations.
- This tool has no hard download limits
- Designed for power users & automation lovers
- Works best when left running in the background
Happy downloading 🎥🚀
I am sorry for not uploading .exe file this happens due to large size <500MB so i unable to upload it.