Skip to content

miikkij/VideoNinja

🎬 VideoNinja

CI License: MIT Platform PRs Welcome

VideoNinja is a beautiful, user-friendly YouTube video downloader built with Electron. It uses yt-dlp to download videos in various qualities with an intuitive interface and smart queue management.

Click the ninja!

VideoNinja main interface Download queue in action

✨ Features

  • 🎯 Simple & Intuitive - Clean, colorful interface that's easy to use
  • πŸ“₯ Queue Management - Download multiple videos, one at a time
  • 🎨 Quality Selection - Choose from 4K, 1080p, 720p, or audio-only
  • πŸ’Ύ Smart Storage - Monitors disk space and warns when running low
  • πŸ”” Tray Notifications - Flashing tray icon when downloads complete
  • πŸ“‚ Easy Access - Open videos or show them in folder with one click
  • πŸ’ͺ Auto-Resume - Automatically continues incomplete downloads on restart
  • 🎯 Persistent - Remembers your settings and download history

πŸš€ Getting Started

Prerequisites

VideoNinja requires two external tools:

Tool Purpose Required
yt-dlp Downloads videos from YouTube and other sites Yes
ffmpeg Merges video + audio streams for high-quality downloads Recommended

Without ffmpeg, downloads may fail when the best quality requires merging separate video and audio streams.

Windows

Option A β€” Chocolatey (recommended):

choco install yt-dlp ffmpeg -y

Option B β€” Manual install:

  1. Download yt-dlp.exe from yt-dlp releases
  2. Download ffmpeg from gyan.dev (get the essentials build)
  3. Place both executables in one of:
    • The same folder as VideoNinja
    • C:\Program Files\yt-dlp\
    • Any folder in your system PATH

Keeping tools up to date:

yt-dlp -U
choco upgrade ffmpeg -y

macOS

brew install yt-dlp ffmpeg

Running from Source

# Install dependencies
pnpm install

# Start the app
pnpm start

Building Installers

# Build for Windows
pnpm run build:win

# Build for macOS
pnpm run build:mac

🎯 How to Use

  1. Launch VideoNinja - The app will check for yt-dlp
  2. Configure - Choose where to save your downloads
  3. Download - Paste a YouTube URL, select quality, and click download
  4. Track - Monitor progress in the downloads list
  5. Enjoy - Click to open videos when complete!

πŸ“‹ Features in Detail

Download Queue

  • Add multiple videos to the queue
  • Videos download one at a time
  • Queue persists across app restarts
  • Resume interrupted downloads automatically

Quality Options

  • Best Quality (default) - Highest available quality
  • 4K (2160p) - Ultra HD
  • 1440p - Quad HD
  • 1080p - Full HD
  • 720p - HD
  • 480p - SD
  • Audio Only - Extract audio track

Disk Space Monitoring

  • Real-time disk space display
  • Warning when < 5GB free
  • Critical alert when < 1GB free

System Tray Integration

  • Minimize to tray
  • Flashing icon when downloads complete
  • Quick access menu

πŸ› οΈ Technology Stack

  • Electron - Cross-platform desktop framework
  • yt-dlp - YouTube download engine
  • electron-store - Persistent settings storage
  • Node.js - Backend runtime

πŸ“ Project Structure

VideoNinja/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ index.js          # Main process
β”‚   β”‚   β”œβ”€β”€ ytdlp.js           # yt-dlp integration
β”‚   β”‚   └── downloadQueue.js   # Queue management
β”‚   β”œβ”€β”€ renderer/
β”‚   β”‚   β”œβ”€β”€ index.html         # UI layout
β”‚   β”‚   β”œβ”€β”€ app.js             # UI logic
β”‚   β”‚   └── styles.css         # Styling
β”‚   └── assets/
β”‚       └── icons/             # App icons
β”œβ”€β”€ package.json
└── README.md

🀝 Contributing

Contributions are welcome! Please read the Contributing Guide before submitting a pull request.

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

⚠️ Disclaimer

VideoNinja is intended for downloading videos you have the legal right to download. Users are solely responsible for ensuring their use of this tool complies with applicable laws, including copyright law and the terms of service of any platform they access. The developers of VideoNinja assume no liability for misuse.


Made with ❀️ and Electron

About

A beautiful, user-friendly video downloader built with Electron and yt-dlp

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors