YTGet GUI is a modern, lightweight, and user-friendly desktop application built with Python and PySide6.
Powered by yt-dlp, it makes downloading YouTube videos, playlists, and music simple and efficient.
- 🖥️ Cross-Platform: Runs seamlessly on Windows, macOS, and Linux.
- 📦 Standalone: Each release comes with all dependencies bundled, so it works right out of the box.
- ⚡ Optimized & Stable: Designed for smooth performance with smart resource handling, and built-in update management.
- 🎵 Versatile: Supports full videos, playlists, and music downloads in multiple formats.
Whether you’re grabbing a single clip or archiving an entire channel, YTGet delivers a polished and seamless experience on every operating system.
- Download the latest
YTGet-Windows.ziprelease. - Extract the contents.
- Run
YTGet.exe.
- Install required dependencies:
sudo apt-get update && sudo apt-get install -y libxcb-cursor0 libxcb-xinerama0 libxcb-xinput0 libxcb-xfixes0 libxcb-shape0 libxcb-render-util0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xkb1
- Download the latest
YTGet-Linux.tar.gzrelease. - Extract the contents.
tar -xzf YTGet-Linux.tar.gz
- Make it executable and launch:
chmod +x YTGet
./YTGet
- Download the latest release:
- Open Terminal and run:
cd Downloads
- Extract the contents.
tar -xzf YTGet-macOS-arm64.tar
or
tar -xzf YTGet-macOS-x86_64.tar
This will produce a YTGet.app bundle in your current directory.
- Remove Quarantine Flag If you see “cannot be opened because Apple cannot check it for malicious software,” you need to strip the quarantine attribute:
xattr -d com.apple.quarantine YTGet.app
This lets macOS trust your app without popping security dialogs every launch.
- Set Executable Permission
chmod +x YTGet.app/Contents/MacOS/YTGet
- Move to Applications (Optional)
For a cleaner setup, drag YTGet.app into your /Applications folder or run:
mv YTGet.app /Applications/
- Launch YTGet
Choose one:
- From Finder: double-click /Applications/YTGet
- From Terminal:
open /Applications/YTGet.app
- Download yt-dlp via Menu Bar → Help → Check yt-dlp Update.
YTGet GUI depends on FFmpeg to process and convert media. Follow these steps to get everything up and running:
pip install ytget-gui
Choose one of the two methods below:
2.1 Add FFmpeg to Your PATH (Recommended)
-
Download the latest FFmpeg build for your platform from this Link.
-
Extract the archive.
-
Add the bin/ directory to your system PATH:
On Windows: update Environment Variables → Path.
On macOS/Linux: edit ~/.bashrc or ~/.zshrc with
export PATH="/path/to/ffmpeg/bin:$PATH" -
Verify installation:
ffmpeg -version
2.2 Copy Binaries into the YTGet Folder (Alternative)
-
Download the static FFmpeg binaries for your OS.
-
Copy ffmpeg (or ffmpeg.exe) and ffprobe (or ffprobe.exe) into the same directory where the ytget-gui executable lives.
To upgrade your PyPI installation to the latest release:
pip install --upgrade ytget-gui
This command fetches and installs the newest version, replacing your current one automatically.
- On macOS, you can also use Homebrew:
brew install ffmpeg
- On Debian/Ubuntu:
sudo apt update && sudo apt install ffmpeg
- 🎯 Clean Qt GUI — Intuitive layout with dark-friendly visuals.
- 🛑 Cancel Anytime — Gracefully stop downloads at any moment.
- 🔒 Offline Capable — No Python installation required.
- 📹 Multiple Formats — Download videos from 480p up to 8K.
- 🎵 MP3/FLAC Mode — High-quality audio extraction with embedded thumbnails & metadata.
- 📄 Subtitles — Auto-fetch subtitles (multi-language).
- 📂 Playlist Support — Download entire playlists in audio/video mode.
- ⚙️ Persistent Settings — All settings saved to
config.json. - 🚀 Improved Playlist Support — Reverse order, select items, archive tracking.
- ✂️ Clip Extraction — Download video portions by start/end time.
- ⏭️ SponsorBlock — Skip sponsored content, intros, and outros.
- 🧩 Chapters Handling — Embed or split videos by chapters.
- 🎼 YouTube Music Metadata — Accurate music info and album data.
- 🌐 Proxy Support — Configure proxies for downloads.
- 📅 Date Filter — Download videos uploaded after a specified date.
- 🧪 Custom FFmpeg Args — Add advanced arguments for power users.
- 🔊 Audio Normalization — Uniform volume for all downloads.
- 🗃 Channel Organization — Auto-sort videos into uploader folders.
- ⚡ Performance Enhancements — Smart rate limiting and retry logic.
▶️ LaunchYTGet.- 🔗 Paste a YouTube URL.
- 🎚️ Select format (e.g., 1080p MKV or MP3).
- ⬇️ Click ➕ Add to Queue.
- ⬇️ Click
▶️ Start Queue.
- ✅ Clean filenames:
%(title)s.ext - 🎵 Audio downloads include:
- Embedded album art
- Metadata tags (artist, title, etc.)
| Format | Description |
|---|---|
| 🎞️ 480p–8K | MKV, MP4, WebM video with merged best audio |
| 🎵 FLAC Audio | High-quality audio with tags & thumbnails |
| 🎵 MP3 Audio | High-quality audio with tags & thumbnails |
| 📃 Playlist MP3 | Batch audio extraction from playlists |
For age-restricted or private content:
- Export cookies using Get cookies.txt extension.
- Place the file in
_internal/cookies.txt.
- ✅ No installation — just unzip and run.
- 🪟 Windows 10+ (64-bit).
- Python 3.13+
- FFmpeg (Add to PATH or project folder)
# Clone the repo
git clone https://github.com/ErfanNamira/ytget-gui.git
# Navigate to project
cd ytget-gui
# Create & activate virtual environment
python -m venv venv
# Linux/Mac
source venv/bin/activate
# Windows
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run app
python -m ytget_gui-
Fork & clone the repo
-
Create a feature branch: git checkout -b my-feature
-
Commit & push: git commit -m "msg" && git push origin my-feature
-
Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for full details.