A free, open-source, self-hostable web UI for yt-dlp. Paste a link from TikTok, Facebook, X (Twitter), Reddit, Vimeo, SoundCloud, Twitch, or any of the thousands of other sites yt-dlp supports; pick a format; download the file.
Live at nabby.pro.

Nabby is a lightweight web interface for yt-dlp. It is designed for journalists, researchers, archivists, educators, and self-hosters who need a simple way to save public media before it disappears. Nabby:
/about and /faq).services:
nabby:
build: .
container_name: nabby
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- ./downloads:/app/downloads
git clone https://github.com/NJPTeam/nabby
cd nabby
docker compose up -d
# → http://localhost:5000
docker build -t nabby .
docker run -d --name nabby -p 5000:5000 -v $(pwd)/downloads:/app/downloads nabby
git clone https://github.com/NJPTeam/nabby
cd nabby
./run.sh
# → http://localhost:5000
The first run creates a venv and installs Flask + yt-dlp. You'll also need ffmpeg on $PATH.
See the deployment guide on nabby.pro. In short:
cloudflared service install <TOKEN> on the host, add a public hostname yoursite.com → http://localhost:5000.proxy_pass http://127.0.0.1:5000; with proxy_buffering off; (required for SSE progress) and proxy_read_timeout 3600s;.gunicorn --workers 2 --threads 4 --worker-class gthread.Supported sites are allowlisted in app.py via ALLOWED_HOSTS. Extend the set to add sites. Removing the allowlist entirely is possible but not recommended for a public instance; keep in mind that yt-dlp itself supports thousands of sites.
Downloads are stored in ./downloads/<job_id>/ and swept every 5 minutes by a background thread; JOB_TTL_SECONDS (default 3600) controls lifetime.
Nabby is new (October 2026). The hosted instance at nabby.pro is a reference deployment; most users should self-host.
Issues and PRs welcome. See CONTRIBUTING.md.
MIT. See LICENSE.
njpteam.official@gmail.comHTML
65.2%
JavaScript
13.2%
CSS
12.1%
Python
8.2%
Dockerfile
1.1%
A free, open-source, self-hostable web UI for yt-dlp. Paste a link from TikTok, Facebook, X (Twitter), Reddit, Vimeo, SoundCloud, Twitch, or any of the thousands of other sites yt-dlp supports; pick a format; download the file.
Live at nabby.pro.

Nabby is a lightweight web interface for yt-dlp. It is designed for journalists, researchers, archivists, educators, and self-hosters who need a simple way to save public media before it disappears. Nabby:
/about and /faq).services:
nabby:
build: .
container_name: nabby
restart: unless-stopped
ports:
- "5000:5000"
volumes:
- ./downloads:/app/downloads
git clone https://github.com/NJPTeam/nabby
cd nabby
docker compose up -d
# → http://localhost:5000
docker build -t nabby .
docker run -d --name nabby -p 5000:5000 -v $(pwd)/downloads:/app/downloads nabby
git clone https://github.com/NJPTeam/nabby
cd nabby
./run.sh
# → http://localhost:5000
The first run creates a venv and installs Flask + yt-dlp. You'll also need ffmpeg on $PATH.
See the deployment guide on nabby.pro. In short:
cloudflared service install <TOKEN> on the host, add a public hostname yoursite.com → http://localhost:5000.proxy_pass http://127.0.0.1:5000; with proxy_buffering off; (required for SSE progress) and proxy_read_timeout 3600s;.gunicorn --workers 2 --threads 4 --worker-class gthread.Supported sites are allowlisted in app.py via ALLOWED_HOSTS. Extend the set to add sites. Removing the allowlist entirely is possible but not recommended for a public instance; keep in mind that yt-dlp itself supports thousands of sites.
Downloads are stored in ./downloads/<job_id>/ and swept every 5 minutes by a background thread; JOB_TTL_SECONDS (default 3600) controls lifetime.
Nabby is new (October 2026). The hosted instance at nabby.pro is a reference deployment; most users should self-host.
Issues and PRs welcome. See CONTRIBUTING.md.
MIT. See LICENSE.
njpteam.official@gmail.comHTML
65.2%
JavaScript
13.2%
CSS
12.1%
Python
8.2%
Dockerfile
1.1%