Skip to content

A modern GUI App for downloading Videos and Audios from hundreds of sites


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation


Flathub GitHub downloads GitHub release (latest by date) Flathub AUR version Snapcraft Chocolatey Version

A modern GUI video and audio downloader supporting hundreds of sites

Get it from the Snap Store Get AppImage AUR Chocolatey

Features 🚀

✅ Light/Dark mode

✅ Supports hundreds of sites including Youtube, Facebook, Instagram, Tiktok, Twitter and so on.

✅ Advanced options like Range Selection

✅ Download playlists

✅ Available on Linux, Windows & macOS

✅ Fast download speeds

✅ And of-course no trackers or ads


ytdownloader_dark ytdownloader_light


Windows 🪟

  • Traditional way

    Download and install the exe or msi file. Exe file lets you choose custom download location, msi file doesn't ask for location. Windows defender may show a popup saying Windows Protected Your PC. Just click on More info and click on Run Anyway

  • Chocolatey App can be installed from Chocolatey using the following command

    choco install ytdownloader
  • Scoop App can be installed with Scoop using the following command

    scoop install
  • Winget App can be installed with Winget using the following command

    winget install aandrew-me.ytDownloader

Linux 🐧

Linux has several options available - Flatpak, AppImage, Snap and AUR. Flatpak is recommended. For arm processors, download from flathub.

  • AppImage

    AppImage format is supported on most Linux distros and has Auto-Update support. It just needs to be executed after downloading. See more about AppImages here.

    AppImageLauncher is recommended for integrating AppImages.

  • AUR package

    The app is available in AUR with the name ytdownloader-gui. To build with pamac the required command is -

    pamac install ytdownloader-gui

    Using yay

    yay -S ytdownloader-gui
  • Flatpak

    flatpak install flathub io.github.aandrew_me.ytdn
  • Snapcraft

    sudo snap install ytdownloader

macOS 🍎

Since the app is not signed, when you will try to open the app, macOS will not allow you to open it. So you will need to follow some steps to open it.

  1. Click on System Preferences on your Mac Dock.
  2. Choose Security & Privacy
  3. The app will be shown there. Click on Open

On macOs 14.5 Sonoma you need to open terminal and add it by hand:

sudo xattr -r -d /Applications/ 

Internationalization (Localization) 🌍

Translations into other languages would be highly appreciated. If you want to help translating the app to other languages, you can join from here. Open a new issue and that language will be added to Crowdin. Please don't make pull requests with json files, instead use Crowdin.


✅ Available languages

Name Status
Arabic ✔️
English ✔️
Simplified Chinese ✔️
Finnish ✔️
French ✔️
German ✔️
Greek ✔️
Hungarian ✔️
Italian ✔️
Japanese ✔️
Persian ✔️
Polish ✔️
Portuguese (Brazil) ✔️
Russian ✔️
Spanish ✔️
Turkish ✔️
Ukrainian ✔️
Vietnamese ✔️

Thanks to nxjosephofficial, LINUX-SAUNA, Proxycon, albanobattistella, TheBlueQuasar, MrQuerter, KotoWhiskas, André, haggen88, XfedeX, Jok3r, TitouanReal, soredake, yoi, HowlingWerewolf, Kum, Mohammed Bakry, Huang Bingfeng and others for helping.

Used technologies

For building or running from source code

Nodejs (along with npm) needs to be installed.

Required commands to get started.

git clone
cd ytDownloader
npm i

To run with Electron :

npm start

You need to download ffmpeg and put it in the root directory of the project. If you don't need to build for arm processor, you can download ffmpeg by executing any of the files - / / depending on the platform. Otherwise you need to download ffmpeg from here for windows/linux and from here for mac (not tested)

To build for Linux (It will create packages as specified in package.json). The builds are stored in release folder.

npm run linux

To build for Windows

npm run windows

To build for macOS

npm run mac

If you only want to build for one format, you can do

npx electron-builder -l appimage

It will just create a linux appimage build.