youtube-downloader-web
v1.0.0
Published
A professional full-stack YouTube Downloader powered by yt-dlp.
Maintainers
Readme
🎬 YouTube Downloader Web App
A modern, full-stack web application to download YouTube videos and audio seamlessly. Powered by yt-dlp on the backend and React/Vite on the frontend.
⚠️ Legal Disclaimer
IMPORTANT: This tool is intended for personal and educational use only. Downloading copyrighted content without the explicit permission of the copyright holder is illegal in many jurisdictions and violates YouTube's Terms of Service.
The creators and maintainers of this tool are not responsible for any misuse or illegal actions performed by its users. Please use this software responsibly and only download content that you own, is in the public domain, or for which you have explicit permission.
✨ Features
- 🖥️ Modern Web UI: Clean, responsive frontend built with React and Vite.
- 🎥 Video & Audio: Download high-quality MP4 videos or extract pure MP3 audio.
- 📋 Playlist Support: Queue and download entire playlists.
- ⚙️ Advanced Customization: Select specific resolutions (e.g., 1080p, 4K) and download subtitles.
📁 Project Structure
youtube-downloader/
├── app.py / server.py ← Python backend (Flask/FastAPI)
├── frontend/ ← React + Vite Web UI
├── downloads/ ← All downloaded media goes here
├── yt-dlp/ ← Submodule/clone of yt-dlp
└── *.sh ← Helper scripts for CLI usage🚀 Quick Start
1. Prerequisites
Ensure you have the following installed on your machine:
- Node.js & npm (for the frontend)
- Python 3.8+ (for the backend)
- FFmpeg (essential for merging high-quality video and audio)
To install FFmpeg on Mac: brew install ffmpeg
2. Backend Setup
Open a terminal and navigate to the project root, then install the Python dependencies:
pip install -r requirements.txt
# Or if you are missing yt-dlp:
python3 -m pip install -U "yt-dlp[default]"Start the backend server:
python3 app.py3. Frontend Setup
Open a new terminal, navigate to the frontend folder, and start the Vite dev server:
cd frontend
npm install
npm run devThe app will be available at http://localhost:5173.
💻 CLI Usage (Optional)
If you prefer the terminal over the web UI, you can use the included shell scripts:
# Download a Video (Best Quality MP4)
./download_video.sh https://www.youtube.com/watch?v=VIDEO_ID
# Extract Audio as MP3
./download_audio.sh https://www.youtube.com/watch?v=VIDEO_ID
# Download an Entire Playlist
./download_playlist.sh https://www.youtube.com/playlist?list=PLAYLIST_ID(If you get a permission error, run chmod +x *.sh first)
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request. If you plan to make a significant change, please open an issue first to discuss it.
📝 License
This project is licensed under the MIT License.
