This application is a desktop tool developed for downloading content from YouTube channels, playlists, and videos.
You can run the application directly without installing Python:
- Download the latest executable from the Releases page
- Or use the pre-built executable in the
dist
folder:# Windows dist/YouTube-Downloader.exe
- Double-click the executable to run the application
- No Python installation required!
If you want to run from source code:
- Python 3.7+ must be installed
- Install the required packages:
pip install -r requirements.txt
- Install yt-dlp:
pip install yt-dlp
- Run the application:
python main.py
- Download from YouTube channels, playlists, and videos
- Cookies support for member-only videos
- Automatic cookie extraction (from Edge, Chrome, and Firefox)
- Video quality selection
- Subtitle download option
- Concurrent download settings
- Modern and user-friendly interface
- Real-time download progress
- Portable executable - no installation required
-
Using the executable (easiest):
- Double-click
dist/YouTube-Downloader.exe
- Or run from command line:
dist/YouTube-Downloader.exe
- Double-click
-
Using Python source:
python main.py
-
In the opened interface, select the download type (Channel, Playlist, Video)
-
Enter the YouTube URL and click the "Validate" button
-
Configure the download settings:
- Video quality
- Subtitle download
- Download folder
- Cookies file (for member-only videos)
- Number of concurrent downloads
-
Click the "Start Download" button to begin downloading
-
You can track the download progress in the interface
To download member-only videos, you need to use your YouTube cookies file:
Click the "Extract from Browser" button in the application to automatically extract cookies from your browser.
Run the cookie extractor from the command line:
# Automatic (tries Edge, then Chrome, then Firefox)
python cookie_extractor.py
# Only from Edge
python cookie_extractor.py --browser edge
# Only from Chrome
python cookie_extractor.py --browser chrome
# Only from Firefox
python cookie_extractor.py --browser firefox
- Install "Get cookies.txt" or "Cookie Quick Manager" extension for Chrome/Firefox
- Log in to YouTube
- Use the extension to download the cookies.txt file
- Log in to YouTube from your browser
- Open Developer Tools (F12)
- Go to the Application/Storage tab
- Cookies > https://youtube.com
- Copy all cookies and save them in the following format:
# Netscape HTTP Cookie File
.youtube.com TRUE / FALSE 1735689600 VISITOR_INFO1_LIVE ...
.youtube.com TRUE / FALSE 1735689600 LOGIN_INFO ...
- Click the "Select Cookies" button in the application
- Select the cookies.txt file you created
- You can now download member-only videos
- Automatic Browser Detection: Automatically finds Edge, Chrome, and Firefox
- Multi-Platform Support: Windows, macOS, and Linux
- Edge Profile Support: Automatically detects different Edge profile folders
- Secure Decryption: Uses Windows DPAPI for secure decryption
- Netscape Format: Compatible with yt-dlp
- Error Handling: Comprehensive error control and user-friendly messages
- Works While Browser is Open: Can extract cookies even if Edge is open
- Keep your cookies file secure, do not share it with others
- The cookies file grants access to your YouTube account
- Update your cookies file regularly
- The cookie extractor only extracts YouTube cookies
pip install yt-dlp
# Install required dependencies
pip install pycryptodome pywin32 cryptography
- If cookies cannot be extracted while Edge is open, close Edge and try again
- Or type 'y' when the script asks you to continue
- Automatically detects different Edge profile folders
- Make sure the cookies file is in the correct format
- Make sure your YouTube account is a member
- Make sure the cookies file is up to date
- Make sure you are logged in to YouTube in your browser
- Check your internet connection
- Make sure the URL is correct
- Make sure you have enough disk space
- If the executable doesn't run, try running it as administrator
- Make sure Windows Defender isn't blocking the file
- Check that you have the latest Windows updates
To create standalone executables for all platforms:
# Method 1: Using build script (Recommended)
build_exe.bat
# Method 2: Manual build
pip install pyinstaller
python -c "from downloader import Downloader; d = Downloader(); d.setup_ffmpeg()"
pyinstaller youtube_downloader.spec --clean --noconfirm
# Make script executable
chmod +x build_linux.sh
# Run build script
./build_linux.sh
# Manual build
pip3 install pyinstaller
python3 -c "from downloader import Downloader; d = Downloader(); d.setup_ffmpeg()"
pyinstaller youtube_downloader_linux.spec --clean --noconfirm
# Make script executable
chmod +x build_macos.sh
# Run build script
./build_macos.sh
# Manual build
pip3 install pyinstaller
python3 -c "from downloader import Downloader; d = Downloader(); d.setup_ffmpeg()"
pyinstaller youtube_downloader_macos.spec --clean --noconfirm
For maintainers to create releases for all platforms:
# Prepare and create a new release
python prepare_release.py --version patch
# Options:
# --version major|minor|patch (default: patch)
# --dry-run (preview changes)
# --skip-build (skip local build test)
# --force (ignore uncommitted changes)
This will:
- Create a new version tag
- Push to GitHub
- Trigger GitHub Actions to build for Windows, Linux, and macOS
- Automatically create a GitHub release with all executables
- Cross-Platform: Windows (.exe), Linux (binary), macOS (.app + .dmg)
- Single File: Everything bundled into one executable
- No Dependencies: No need to install Python or any packages
- FFmpeg Included: Video merging works out of the box
- Portable: Can be run on any compatible machine
- Size: Approximately 70-80MB per platform
- Ready to Use: Pre-built executable available in
dist/
folder
- Windows:
YouTube-Downloader.exe
(77MB) - Available indist/
folder - Linux:
YouTube-Downloader-Linux
(75MB) - macOS:
YouTube-Downloader-macOS.app
bundle or.dmg
(80MB)
Each executable contains:
- Python runtime
- All required libraries (flet, yt-dlp, cryptography, etc.)
- FFmpeg binary
- Application code
- Direct Download: Use the executable in
dist/YouTube-Downloader.exe
- GitHub Releases: Download from the Releases page
- No Installation Required: Just download and run
- Clone Repository:
git clone https://github.com/your-username/ytdlp-gui.git
- Download ZIP: Download source code from GitHub
- Requires Python: Python 3.7+ and dependencies needed
This project is licensed under the MIT License.