A command-line tool for downloading YouTube videos and playlists with high quality options.
- Download single YouTube videos in best available quality
- Download entire YouTube playlists
- Progress bar with real-time download status
- Colorful terminal output for better user experience
- Automatic organization of downloaded content
- Supports mp4 format
- Node.js (v14 or higher)
- npm (v6 or higher)
- youtube-dl binary (installed automatically as a dependency)
# Clone the repository
git clone https://github.com/ismailco/YTDOWN.git
cd YTDOWN
# Install dependencies
npm install
# Install the CLI tool globally
npm install -g .
After installing, you can use the ytdown
command:
# Download a single video
ytdown -v https://www.youtube.com/watch?v=dQw4w9WgXcQ
# Download a playlist
ytdown -p https://www.youtube.com/playlist?list=PLxxx
Videos are saved to ~/Movies/Youtube_Downloader/
with the following structure:
- Single videos:
~/Movies/Youtube_Downloader/Single_Videos/
- Playlists:
~/Movies/Youtube_Downloader/[Playlist_Name]/
- youtube-dl-exec - Core download functionality
- ytpl - YouTube playlist parsing
- fs-extra - Enhanced file system operations
- chalk - Terminal styling
- cli-progress - Progress bar
This project is licensed under the MIT License - see the LICENSE file for details.
- If you encounter permission issues, try running with sudo:
sudo ytdown -v [URL]
- Make sure the destination directory (
~/Movies/Youtube_Downloader/
) is accessible - For playlist errors, verify the playlist is public or unlisted
Contributions are welcome! Please feel free to submit a Pull Request.