reclip

Application

averygan/reclip

Self-hosted media downloader with a clean web UI for 1000+ sites.

Overview

ReClip is a lightweight, self-hosted video and audio downloader featuring a clean, responsive web interface. Users can paste URLs from YouTube, TikTok, Instagram and many other platforms to download MP4 or MP3 files with quality selection and bulk download support. Built on yt-dlp and ffmpeg with a minimal Flask backend.

README Preview

# ReClip\n\nA self-hosted, open-source video and audio downloader with a clean web UI. Paste links from YouTube, TikTok, Instagram, Twitter/X, and 1000+ other sites — download as MP4 or MP3.\n\n\n\n\nhttps://github.com/user-attachments/assets/419d3e50-c933-444b-8cab-a9724986ba05\n\n\n\n## Features\n\n- Download videos from 1000+ supported sites (via [yt-dlp](https://github.com/yt-dlp/yt-dlp))\n- MP4 video or MP3 audio extraction\n- Quality/resolution picker\n- Bulk downloads — paste multiple URLs at once\n- Automatic URL deduplication\n- Clean, responsive UI — no frameworks, no build step\n- Single Python file backend (~150 lines)\n\n## Quick Start\n\n```bash\nbrew install yt-dlp ffmpeg    # or apt install ffmpeg && pip install yt-dlp\ngit clone https://github.com/averygan/reclip.git\ncd reclip\n./reclip.sh\n```\n\nOpen **http://localhost:8899**.\n\nOr with Docker:\n\n```bash\ndocker build -t reclip . && docker run -p 8899:8899 reclip\n```\n\n## Usage\n\n1. Paste one or more video URLs into the input box\n2. Choose **MP4** (video) or **MP3** (audio)\n3. Click **Fetch** to load video info and thumbnails\n4. Select quality/resolution if available\n5. Click **Download** on individual videos, or **Download All**\n\n## Supported Sites\n\nAnything [yt-dlp supports](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md), including:\n\nYouTube, TikTok, Instagram, Twitter/X, Reddit, Facebook, Vimeo, Twitch, Dailymotion, SoundCloud, Loom, Streamable, Pinterest, Tumblr, Threads, LinkedIn, and many more.\n\n## Stack\n\n- **Backend:** Python + Flask (~150 lines)\n- **Frontend:** Vanilla HTML/CSS/JS (single file, no build step)\n- **Download engine:** [yt-dlp](https://github.com/yt-dlp/yt-dlp) + [ffmpeg](https://ffmpeg.org/)\n- **Dependencies:** 2 (Flask, yt-dlp)\n\n## Disclaimer\n\nThis tool is intended for personal use only. Please respect copyright laws and the terms of service of the platforms you download from. The developers are not responsible for any misuse of th

FAQ (1)

Troubleshooting
How do I download an entire YouTube playlist instead of only the first video?

Upgrade to the version that includes YouTube playlist support. The fix removes --no-playlist from the yt-dlp info/download commands and adds a POST /api/playlist endpoint that expands a playlist URL into individual video URLs using yt-dlp --flat-playlist. After updating, paste the full YouTube playlist URL and the app will process all videos in the playlist. If running yt-dlp manually, avoid passing --no-playlist and use yt-dlp --flat-playlist "<playlist_url>" to list the playlist entries.

GitHub Issue #9