Dead-simple yt-dlp downloads for people who do not want to build a command by hand.
![]() |
![]() |
|---|---|
![]() |
![]() |
Quiver is a small desktop GUI for yt-dlp. Paste a link, choose the closest preset, press Prepare, then Download. It exists because yt-dlp is powerful, but the common path should not require memorizing format selectors, subtitle flags, cookie options, or YouTube workaround arguments.
- One-window download flow: URL, preset, output folder, optional cookies file, command preview, and live output.
- Eight built-in presets for YouTube/general downloads, audio/video, with/without cookies.
- YouTube-specific POT support through a bundled local
bgutilprovider. - Bundled
yt-dlp,Deno, POT provider, andYTSubConverter, with bundledffmpegandffprobefor Windows and Linux release builds. - Command preview before execution, so you can see exactly what Quiver will run.
- Live stdout/stderr output while
yt-dlpis running. - Persistent save directory, cookies path, theme mode, and color preset settings.
- Optional Advanced Subtitle Pipeline for YouTube video downloads, intended to make visual subtitles closer to YouTube's rendering.
- Light/dark mode, color themes, native file/folder pickers, and an in-app third-party license viewer.
Most yt-dlp interfaces either expose a large settings surface or hide too much. Quiver takes the opposite approach: it turns the download patterns that I use into clear presets and keeps the rest visible in the command preview.
The default workflow is:
- Paste a URL.
- Pick audio or video.
- Choose whether cookies are needed.
- Prepare the command.
- Download.
No Python setup, no separate yt-dlp install, no manual POT provider setup, and no command-line guessing for routine downloads.
Download the latest release from:
https://github.com/VinVel/Quiver/releases/latest
Download the Windows installer from the latest release and run it.
Download the macOS build from the latest release, open it, and move Quiver into Applications if your package format asks you to.
The macOS .dmg is not signed or notarized. If macOS blocks it after download, remove the quarantine attribute before opening it:
xattr -d com.apple.quarantine ~/Downloads/Quiver-*.dmgOn macOS ffmpeg and ffprobe need to be installed separately with Homebrew:
brew install ffmpegUse the package for your distribution from the latest release:
sudo apt install ./quiver_*.debsudo dnf install ./quiver-*.rpmThe Advanced Subtitle Pipeline is optional and only applies to YouTube video presets. It downloads YouTube srv3 subtitles, converts them through YTSubConverter, and remuxes the result into the downloaded media. Windows and Linux release builds use bundled ffmpeg and ffprobe; macOS uses the tools installed through Homebrew.
Since this is a Tauri project, it is advisable to first checkout the Tauri prerequisites.
Other prerequisites:
This repo contains submodules, therefore you should clone the repo with the following command:
git clone https://github.com/VinVel/Quiver.git --recurse-submodules && cd ./QuiverInstall frontend dependencies:
bun installRun the Tauri app in development mode:
bun tauri devBuild the frontend:
bun run buildBuild the desktop app:
bun tauri build --no-signFor Rust changes, also run:
cargo fmt --manifest-path src-tauri/Cargo.toml
cargo check --manifest-path src-tauri/Cargo.toml
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --all-featuresDuring local development, QUIVER_YT_DLP_BINARY can point Quiver at a custom yt-dlp binary. Release builds are intended to use the bundled sidecar.
I would advise you read through the yt-dlp wiki, especially this section.
It is practically impossible to download verifiable static ffmpeg executables for macOS. While there is this, the link to get the signatures are broken and they don't provide builds for macOS running on arm devices.
Currently not. You can use the Input Fields to specify save directory and cookies file. Trying to support custom commands mixed in with the preview is a UX disaster, error prone when it comes to parsing on different OSs and generally a headache.
Quiver makes use of 6 (4 on macOS) individual binaries that are packaged alongside it to provide the capability it needs. They are built/fetched during build time, that way it is always verifiable from where a binary comes from.
All builds are built with Github actions for verifiable CI builds. Furthermore on Linux and Windows you can check the signatures.
For Linux, you can download my public gpg key from https://keys.openpgp.org/.
For Windows, given that I self-signed the application, there is not really that much value in confirming my signature. If you still want to, you can download the public certificate called certificate.cer.
Then you'd first have to install certificate into your Trusted Root Certification Authorities (Please understand the implications of this!)
Import-Certificate -FilePath ".\certificate.cer" -CertStoreLocation Cert:\LocalMachine\Root And then you can check for the correct signature, by typing this command, the Status should display valid:
Get-AuthenticodeSignature -FilePath .\Quiver_x.y.z-setup.exe Quiver, a simple YT-DLP GUI
Copyright (C) 2026 VinVel
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Quiver makes use of 6 (on macOS 4) individual sidecars each with their own license (I linked the repo from where i get either the source code in the case of building them from source, or where I got the binaries from the release pipelines):
- bgutil-ytdlp-pot-provider-rs: GPL-3.0 license
- Deno: MIT License
- ffmpeg and ffprobe: The Build Scripts are MIT License, but the compiled binary is made up of LGPL 2.1+ and GPL 3.0 code
- yt-dlp: Unlicense license
- YTSubConverter: MIT license
As for the Rust Crates and npm Packages used, they can be seen in src-tauri/Cargo.toml and package.json. For Rust I also provide a deeper Licenses Analysis inside the App with a 'Licenses' Button or alternatively the text for that can be looked up in src-tauri/license.html.



