ReClip is a self-hosted web app for downloading video and audio from websites, run on your own machine instead of on someone else's ad-funded page. It is aimed at anyone who regularly saves clips — people archiving their own uploads, pulling audio out of talks, or collecting reference footage — and who would rather not hand every link to an anonymous site covered in pop-ups. It is small enough that a non-specialist can read the whole backend, and it needs nothing but a terminal, a browser and two dependencies.
What it does
You open a page on localhost, paste one or more URLs, and pick a format. ReClip fetches the metadata first, so you see thumbnails and video information before committing to a download, then lets you choose the quality or resolution the source offers.
The feature list is short and mostly about the paste-and-go flow:
- Downloads from the 1000+ sites yt-dlp supports, including YouTube, TikTok, Instagram, Twitter/X, Reddit, Facebook, Vimeo, Twitch, Dailymotion, SoundCloud, Loom, Streamable, Pinterest, Tumblr, Threads and LinkedIn
- MP4 video or MP3 audio extraction
- A quality and resolution picker, where the source exposes one
- Bulk mode: paste a dozen links at once and use Download All
- Automatic de-duplication of repeated URLs in a paste
- A responsive interface with no frameworks and no build step
Because everything runs locally, the files land on your own disk and the links you paste never travel to a third-party service.
How it works
The backend is a single Python file of roughly 150 lines using Flask. It shells out to yt-dlp for the actual extraction and to ffmpeg for muxing and audio conversion, which is why the supported-site list is as long as it is: ReClip inherits it rather than maintaining it. The frontend is one vanilla HTML/CSS/JS file — no bundler, no node_modules, no compile step, which is also why GitHub reports HTML as the repository's main language.
Total declared dependencies: two, Flask and yt-dlp, with ffmpeg as a system binary. That makes the project easy to audit and easy to keep alive; when a site changes its player, the fix almost always arrives as a yt-dlp update rather than a change here.
Getting started
Install the two external tools, clone, and run the launcher:
brew install yt-dlp ffmpeg # or apt install ffmpeg && pip install yt-dlp
git clone https://github.com/averygan/reclip.git
cd reclip
./reclip.sh
Then open http://localhost:8899. A Dockerfile is included if you would rather not install anything on the host: docker build -t reclip . && docker run -p 8899:8899 reclip. Usage is four steps — paste, choose MP4 or MP3, click Fetch to load info and thumbnails, then Download or Download All. The project is MIT licensed.
When to use it / when not
Use it when you download often enough that the ad-and-redirect tax of public downloader sites has become annoying, when you want batches rather than one file at a time, or when you simply do not want your URLs logged by a stranger. A home server or NAS is a natural home for it, and the Docker path makes that straightforward.
It is a poor fit in a few cases. The materials describe no authentication, no accounts and no multi-user model, so this is a personal tool on a trusted network, not something to expose to the public internet as-is. There is no scheduling, no library management and no sync — it downloads, and stops there. It also needs a machine that is on, plus yt-dlp and ffmpeg installed and kept current. And the project's own disclaimer is explicit: it is intended for personal use, and you are expected to respect copyright and the terms of service of the sites you point it at.
Alternatives
The honest alternative is the engine underneath: yt-dlp on the command line does everything ReClip does and far more. What ReClip adds is a browser interface, visible thumbnails before you commit, a resolution picker you click instead of memorising flags, and a bulk paste box — the difference between a tool you use daily and one you look up the syntax for each time. If you already have yt-dlp muscle memory, you may not need this. If you want a household member to be able to use it, you probably do.
Take this one seriously if you want a downloader you control: about 10,000 stars and 1,500 forks have accumulated since the repository appeared in spring 2026, and the appeal is clear from the code size alone. A 150-line Python file plus a single HTML page is something you can read in an afternoon, trust, and fix yourself — a rare combination for a category otherwise dominated by sketchy websites and heavyweight media managers. Anyone comfortable running one command, or one container, gets a clean private replacement for all of them.