DownVidSave the videos you like, locally. Open source · Cross-platform · Simple |
|
Website · Download · Report an issue · Sponsorship / business · Installation guide
简体中文 | English
Sponsorship and business
Sponsorship, or business enquiries such as advertising placements — email xynrin@icloud.com:
| Enquiry | Contact |
|---|---|
| Sponsorship | xynrin@icloud.com |
| Business / advertising | xynrin@icloud.com |
Please use the issue tracker for bug reports and feature requests instead, so that other users can find the answers too.
The app itself contains no ads and never will. These enquiries are about the project — for example a placement in this README or on the website — not about anything shipped inside the installer.
Important
This project is a graphical front end for yt-dlp. It contains no code for cracking or circumventing technical protection measures. Please follow your local laws, platform terms and copyright requirements; you are responsible for how you use it.
Contents
- Sponsorship and business
- About
- Features
- Supported sites
- Install
- Build from source
- Documentation
- Tech stack and architecture
- Project layout
- FAQ
- Contributing
- Star history
- License and credits
About
DownVid is a modern, high-performance, open-source desktop video downloader for macOS, Windows, and Linux.
Built as a graphical frontend for yt-dlp and FFmpeg, it removes the complexity of command-line tools and provides a clean, native, and ad-free experience.
Why DownVid?
- 🌐 1000+ Platforms Supported: Seamlessly extracts high-quality video and audio across YouTube, Bilibili, Douyin, TikTok, Xiaohongshu, Kuaishou, Twitter/X, Instagram, and more.
- ⚡ Built-in Acceleration: Optimized multi-part chunk worker queues (up to 16 threads) and optional aria2 integration ensure lightning-fast downloads.
- 🔒 Zero Ads & Privacy-first: No bundled third-party junk, no background telemetry, no forced watermarks. 100% open-source under the MIT license.
- 📦 Zero-Config Sidecar: Automatically detects existing system tools, or downloads and manages standalone yt-dlp & FFmpeg binaries in isolated user storage.
- 🎨 Modern Design: Designed with Material 3 design tokens, clean typography, responsive layout, and full cross-platform dark mode compatibility.
The project is under active development. If you hit a problem or have a suggestion, please open an issue.
Features
| Feature | Description |
|---|---|
| Wide site support | 1000+ video and audio sites via yt-dlp; Douyin and Kuaishou have dedicated parsers |
| Quality and formats | 360P through 4K, audio-only (MP3), subtitles-only (SRT), YouTube multi-audio-track selection |
| Download management | Queue, pause, resume, retry, live progress with speed, ETA and file size |
| Download acceleration | Direct links use a small-chunk worker queue (8 by default, up to 16); optional aria2 multi-connection; concurrent HLS/DASH fragments |
| Logged-in content | Reads cookies from installed browsers, or import a cookies.txt manually |
| Runtime dependencies | Detects yt-dlp / FFmpeg already on your machine; downloads them in-app if missing |
| Download history | Keeps the last 100 downloads |
| Auto update | Updates through GitHub Releases; macOS verifies and swaps the app bundle in place |
Supported sites
DownVid supports 1000+ video and audio sites through yt-dlp. A few common ones:
| China | International |
|---|---|
| Douyin, Xiaohongshu, Kuaishou, Xigua, Bilibili | YouTube, TikTok, Instagram, X (Twitter), Facebook |
For everything else see the yt-dlp supported sites list. Availability can change as sites change.
Install
Download the latest build from GitHub Releases and pick the package for your OS.
| Platform | Package |
|---|---|
| macOS | .dmg (ARM64 / x64) |
| Windows | .exe (x64) |
| Linux | .AppImage / .deb (x64 / ARM64; check the Release page for the exact artifacts) |
Step-by-step instructions and common issues are in the installation guide.
Build from source
Requirements
- Node.js ≥ 22
- pnpm ≥ 8
- Go ≥ 1.24
yt-dlp and FFmpeg do not need to be installed beforehand. At runtime DownVid detects and reuses whatever is already on your machine, and can download them in-app when missing.
Steps
git clone https://github.com/yxxbc/downvid.git cd downvid pnpm install pnpm dev # development pnpm build # package for the current platform
Per-platform build commands, dependency notes and troubleshooting are in the build from source guide.
Documentation
| Document | Contents |
|---|---|
| Installation | Install instructions for macOS, Windows and Linux |
| Build from source | Development environment, dependencies and build flow |
| Troubleshooting | Common errors and how to diagnose them |
| FAQ | Usage questions and answers |
| Architecture | Process structure, IPC and download flow |
| Developer guide | Code map, request lifecycle, IPC contract, debugging |
| Project structure | Directory guide and where to make changes |
| Repository standards | Branch, commit, issue and PR conventions |
| Server mode (design) | Docker / WebUI design — not implemented yet |
| Release process | Versioning and release artifact maintenance |
| Contributing | How to contribute |
| Security policy | How to report security issues |
| Code of conduct | Community expectations |
The in-depth docs are currently written in Chinese. Contributions that translate them are very welcome.
Tech stack and architecture
Tech stack
| Technology | Purpose |
|---|---|
| Electron | Cross-platform desktop shell |
| Vue 3 | User interface |
| TypeScript | Type safety |
| Tailwind CSS | Styling |
| Vite | Development and build |
| Pinia | State management |
| Go | Dependency sidecar that detects and installs yt-dlp / FFmpeg |
| yt-dlp | Video and audio extraction engine |
| FFmpeg | Merging and transcoding |
| Vitest | Pure-logic unit tests |
Architecture overview
flowchart LR
UI["Renderer<br/>Vue 3"] <-->|"IPC"| Main["Main process<br/>Electron / Node.js"]
Main <-->|"NDJSON"| Sidecar["Go dependency sidecar"]
Main --> Engine["yt-dlp"]
Main --> Media["FFmpeg"]
An interactive diagram with more detail is in the architecture doc.
Project layout
| Directory | Purpose |
|---|---|
backend/ |
Go dependency sidecar: detects and installs runtime dependencies |
electron/ |
Main process, IPC, download implementations, site parsers, updater |
src/ |
Vue 3 renderer and UI |
shared/ |
Repository coordinates and shared external links |
tests/ |
Automated unit tests |
scripts/ |
Build, manifest generation and validation scripts |
docs/ |
Installation, build, architecture, maintenance and release docs |
See the project structure doc for the full tree.
FAQ
It says yt-dlp or FFmpeg is missing. What now?
The installer does not bundle them. DownVid looks for a usable copy already on your system at startup; if it cannot find one, you can download it from the prompt, or manage it later under Settings → Runtime dependencies.
macOS says the developer cannot be verified. What now?
The first time you open it, right-click the app in Finder and choose Open, or allow it under System Settings → Privacy & Security. If it still fails, see the troubleshooting guide.
Some videos fail to download. What now?
Many sites require you to be signed in. Make sure you are allowed to access the content, then let DownVid read
your browser session or import a cookies.txt. Site changes can also affect extraction success.
More in the FAQ and troubleshooting guide.
Contributing
Issues, documentation improvements and pull requests are all welcome.
Before submitting, please run:
pnpm vue-tsc --noEmit
pnpm test
pnpm lint:ipcSee the contributing guide and repository standards for the rest.
Contributors
Thanks to everyone who has contributed to DownVid:
Star history
License and credits
DownVid is released under the MIT License.
For the project name, logo, and third-party service attribution, see the Brand and Trademark Usage Policy.
DownVid started from Videdown and has since been substantially modified, refactored and extended. Thanks to cshuangyy for the original work; the original copyright and license notice is preserved in LICENSE.
Thanks also to the community contributors and to the maintainers of the projects we depend on:
- Videdown — the original project
- yt-dlp — extraction engine
- FFmpeg — audio and video processing
- Electron · Vue.js · Tailwind CSS — app stack
- Claude Code — AI coding assistant
Supporting the project
If DownVid is useful to you, you can buy the author a coffee. WeChat tip code:
For sponsorship and business enquiries, see Sponsorship and business above.
DownVid · Made with care by yxxbc


