A modern, blazing-fast YouTube to audio (mp3/m4a/wav/ogg) converter & playlist downloader.
Built with FastAPI, yt-dlp, ffmpeg, Tailwind, and a beautiful dark/light UI.
- 🎵 Convert YouTube videos & playlists to MP3, M4A, WAV, OGG
- ⚡ Ultra-fast: Streams audio on-the-fly, no waiting for full downloads
- 🧠 Smart format selection: Always gets the best available audio
- 🌓 Dark/Light mode: Beautiful, modern, and responsive UI
- 📨 Email notifications (optional, extendable)
- 🗂️ Batch/playlist support
- 🛡️ Anonymous, privacy-first: No logs, no tracking
- 🚀 SEO-friendly, mobile-ready
Add your own GIF to
static/preview.gif
to show a live demo!
- Backend: FastAPI, yt-dlp, ffmpeg, Redis (for caching)
- Frontend: HTML5, Tailwind CSS, Vanilla JS
- Streaming: Real-time audio conversion with ffmpeg
- Deployment: Easily deployable anywhere (Vercel, Heroku, bare metal, etc.)
git clone https://github.com/oguzhan18/YouTube-to-MP3-Converter
cd audiohbr-x
Recommended: Use a virtual environment (venv, conda, etc.)
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- macOS:
brew install ffmpeg
- Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg
- Windows:
Download from ffmpeg.org and add to PATH.
- macOS:
brew install redis && brew services start redis
- Ubuntu/Debian:
sudo apt install redis-server && sudo systemctl start redis
- Windows:
Use Memurai or Redis for Windows
If you don't want caching, you can comment out or remove Redis-related lines in
main.py
.
uvicorn main:app --reload
- Visit http://localhost:8000 in your browser.
audiohbr-x/
│
├── main.py # FastAPI backend (API, streaming, logic)
├── requirements.txt # Python dependencies
├── static/
│ ├── app.js # Frontend JS (theme toggle, form, etc.)
│ ├── style.css # Tailwind CSS (custom themes, utilities)
│ └── preview.gif # (Add your own GIF for README preview)
├── templates/
│ └── index.html # Main HTML template
└── ...
- Branding: Change the logo, colors, and meta tags in
templates/index.html
andstatic/style.css
. - Audio formats: Add/remove formats in the HTML
<select>
and backend logic. - Email notifications: Extend the backend to send emails after conversion (SMTP, SendGrid, etc.).
- Deployment: Ready for Vercel, Heroku, or any cloud/VPS. See
vercel.json
for Vercel config.
Pull requests, issues, and feature suggestions are welcome!
If you build something cool on top of AUDIOHBR-X, let us know.
MIT License
AUDIOHBR-X is not affiliated with YouTube. Please use responsibly and respect copyright laws.