NeoDLP is a desktop front end for yt-dlp with browser integration
Modern Video/Audio Downloader based on YT-DLP with Browser Integration (🦭 Seal for Desktop)
At a glance
- What is it?
- NeoDLP is a MIT licensed Tauri application that wraps yt-dlp in a graphical interface, with a preconfigured environment, real-time logs, a browser extension for right-click and keyboard-shortcut capture, and packaged builds for Windows, Linux and macOS. It is a front end for a widely used downloader rather than a downloader in its own right, and it is distributed through winget, Homebrew, Flathub and the AUR.
- Who is it for?
- NeoDLP suits someone who wants the power of yt-dlp without memorising its flags, since the app configures the JavaScript runtime and the proof of origin token server that modern yt-dlp needs and shows the download log as it runs. It is the wrong tool if you want a self-contained downloader, because yt-dlp, ffmpeg, aria2, Deno and the token provider all have to be present, and the Flatpak and native packages differ in what they bundle.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What NeoDLP adds on top of yt-dlp
NeoDLP is a modern video and audio downloader based on yt-dlp with browser integration, and the README is clear that yt-dlp does the actual work. In the external dependencies list, yt-dlp is described as the core CLI tool used to download video and audio from the web, and it is marked with the Unlicense, with the parenthetical that it is the hero of the show.
So the value is not in a new download engine. It is in the environment around the engine. The first highlighted feature is a fully configured yt-dlp environment out of the box, with a JavaScript runtime, a PO token server and real-time logs. The second is the browser integration. The rest cover format choice, playlists, stream combination, subtitles and metadata.
That framing matters for judging it. A graphical front end is only worth having if the command line underneath is awkward, and in this case it is awkward in a specific and current way. Modern yt-dlp needs a JavaScript runtime to execute the challenge solvers on the sites that use them, and it needs a proof of origin token for YouTube, and the README links the yt-dlp announcement for the runtime requirement. Configuring that by hand is exactly the kind of task a packaged app can absorb.
The project is MIT licensed, written in TypeScript and Rust, and the topics list describes it as a cross-platform desktop app with a shadcn style interface built on Tauri, React and shadcn/ui, with a version at 0.4.5 and the homepage at neodlp.neosubhamoy.com.
The feature set, in the README's own order
The highlighted features list is long and worth reading closely, because the ordering goes from scope to convenience.
At the top is reach: download video or audio from thousands of popular sites, with YouTube, Facebook, Instagram and X named, and a link to the yt-dlp supported sites list giving the figure as 2.5k+ supported sites. That number is inherited from yt-dlp rather than measured by this project.
Then the environment, the formats, the scope of a job and the post-processing. You can download in your preferred format, MP4, WEBM, MKV, MP3 and so on. You can download a video or a playlist, or run a batch. You can combine video and audio streams of your choice, which matters for the common case of a high quality video track paired with a separate audio track. There is multi-lingual subtitle and caption embedding, and metadata embedding options covering info, chapters and thumbnail. SponsorBlock support marks or removes video segments, and aria2 is used as an external downloader for what the README calls blazing fast downloads. Network controls include proxy and rate limit settings.
The formats and the stream combining are the features that make it more than a button, and they are also the features that depend on ffmpeg and ffprobe being installed, since that is what the README lists them for, used for video and audio post-processing.
The browser extension and the shortcut
The browser integration is the part that makes NeoDLP feel different from a generic downloader front end.
The README says you can integrate NeoDLP with your favourite browser, any Chromium or Firefox based browser, by installing the NeoDLP Extension, which lives in its own repository as neodlp-extension. After installing it you can do two things directly from the browser.
The first is quick search, where you search the current browser address with NeoDLP, via a keyboard shortcut of ALT plus SHIFT plus Q, and the shortcut combo can be changed from the browser settings. The second is a right click context menu action, with three modes in the menu: search with Neo Downloader Plus by link, by selection, or by media source.
The three context menu entries are the interesting design decision. Searching by selection captures a piece of text on the page rather than a URL, and searching by media source grabs the media the page is playing. Both of those are cases where a normal paste-and-type workflow fails, because the thing you want is not the address in the location bar.
This is a small extension in a separate repository, and the separation is sensible since a browser extension and a desktop application have different release cycles and different review processes. It also means the extension is the part most likely to break when a browser changes its extension APIs, so it is worth checking the extension repository's own activity before depending on the integration.
Installing it, and what has to be there first
There are six distribution channels and the README gives the exact command for each, which removes the guesswork.
On Windows through WinGet:
winget install neosubhamoy.neodlp --source wingetOn macOS through Homebrew:
brew install neosubhamoy/tap/neodlpOn Linux through Flathub:
flatpak install flathub com.neosubhamoy.neodlpAnd on Arch Linux through the AUR, with yay -S neodlp or paru -S neodlp. There are also curl and bash installers for macOS and Linux, and native release binaries for x86_64 and ARM64 on all three operating systems.
The platform requirements are listed separately and they are not all installed by the package manager. On Windows you need the Microsoft Visual C++ Redistributable 2015 or later, which the README says is auto-installed if you install NeoDLP via winget. On macOS you need the Xcode command line tools, installed with xcode-select --install, and the README notes it mostly comes pre-installed on modern macOS. On Linux, the system dependencies come with the package, with a specific note for Fedora to enable the RPM Fusion free and nonfree repositories before installing the rpm package, and a link to the Tauri prerequisites page for manual installation.
The external dependencies are the part to check before installing anything, and they are separate from the app: yt-dlp itself, FFmpeg and FFprobe, aria2, Deno and the BgUtils PO Token Provider written in Rust. Deno is required for YouTube downloads specifically, and aria2 is not included with the macOS builds.
How the application is put together
The repository layout shows a Tauri application with a React front end, and the package.json is the clearest description of the build matrix.
The front end scripts are the standard Vite set, with dev running vite, build running tsc and then vite build, and preview running vite preview. The tauri script drives the desktop build, and then there is a long tail of per-target scripts: tauri:dev and tauri:build for linux-x64, linux-arm64, macos-x64, macos-arm64, windows-x64 and windows-arm64, each passing a different configuration file from src-tauri.
That matrix is the honest statement of what the project supports. Six target configurations, each with its own Tauri config file named by platform and architecture, which means the Linux and Windows builds differ in more than the installer format. The download script is separate, node ./scripts/download-bins.js, which is how the external binaries are fetched at build time rather than vendored.
The rest of the tree is conventional: index.html and vite.config.ts for the front end, src/ for the React sources, src-tauri/ for the Rust side, components.json for the shadcn/ui component configuration, a biome.json for the formatter, and the standard TypeScript configuration files. There are also two Linux desktop integration files, com.neosubhamoy.neodlp.desktop and com.neosubhamoy.neodlp.metainfo.xml, which are what make the Flatpak and native Linux builds show up properly in a desktop menu.
The user interface is described as four panes: the downloader, completed downloads, ongoing downloads and settings, and the README carries mockup and screenshot images for each.
The testing status table, and the legal line
Two things in the README deserve to be read rather than skimmed.
The first is the package testing status section, and the maintainer is straightforward about it: NeoDLP is supported on most platforms but not all packages are tested on all platforms, with the stated reason being to save some time and brain cells and to ship the software as fast as possible. The current test coverage is given below, and untested packages may have issues, with the advice to test it yourself and report any issue on GitHub.
That is an unusual thing to publish and a good thing to publish. A downloader that installs a JavaScript runtime, a token server and a video processing toolchain is exactly the kind of application where a working build on one distribution and a broken one on another is the normal case rather than the exception.
The second is what a project like this implies about what you download. The tool inherits yt-dlp's reach of more than 2500 sites, and the sites it supports include services whose content is licensed. Downloading content you have the right to download is a legitimate use, and using the tool for that is fine, but the licence of the code does not make the content free, and the responsibility for what you fetch sits with the user. That is a practical point to settle before installing rather than after.
The maintainer also asks for a star on GitHub if you like the project, and there is a CHANGELOG.md and a CODE_OF_CONDUCT.md in the repository along with a CONTRIBUTING.md, so the project has the usual governance files in place.
Where NeoDLP fits, and where it stops
The comparison worth making is with using yt-dlp directly, and with the browser's own download facilities.
Against yt-dlp directly, the difference is the setup and the feedback. The command line tool is free, actively maintained and handles the hard parts of format selection and post-processing, but it also demands that you know the flags for merging separate video and audio tracks, embedding subtitles and chapters, running SponsorBlock, and routing the download through aria2. The app makes those choices through a settings pane and shows the log while the download runs, which for a large batch is the difference between a script you trust and a script you check.
Against the browser's own download, the difference is entirely in the site handling. A browser can fetch a file that a page links to directly, and it cannot do anything with a YouTube watch page, a playlist, or a stream that is served in segments. That is the gap the yt-dlp family fills, and the browser extension is what closes the last part of it by handing the right URL to the app.
The limits are structural and the README states most of them. This is not a standalone downloader: yt-dlp, ffmpeg, ffprobe, aria2, Deno and the proof of origin token provider are all external, and the macOS builds leave out aria2. The JavaScript runtime is required for YouTube downloads specifically, which means a user who only wants a file from a plain site still ends up with a Deno dependency in the install. The Aria2 integration is described as for blazing fast downloads but is an optional extra rather than the default path.
And the honest caveat is the testing matrix. Six platform and architecture targets, a token provider, a JavaScript runtime and a video toolchain, with the maintainer openly saying that not every package is tested on every platform. For a tool you use occasionally that is a reasonable trade for the convenience, and for a tool in an automated pipeline it is not, because the output is only as predictable as the least tested package combination.
The releases are regular, v0.4.5 in May 2026 after v0.4.4 in March and v0.4.3 also in March, and the last push was on 2026-10-19 with the repository not archived.
Editorial conclusion
NeoDLP suits someone who wants the power of yt-dlp without memorising its flags, since the app configures the JavaScript runtime and the proof of origin token server that modern yt-dlp needs and shows the download log as it runs. It is the wrong tool if you want a self-contained downloader, because yt-dlp, ffmpeg, aria2, Deno and the token provider all have to be present, and the Flatpak and native packages differ in what they bundle. Before adopting it, read the external dependencies list in the README, because the MacOS builds specifically leave aria2 out, and check the package testing status table, since the README is explicit that not every package is tested on every platform.
Frequently asked questions
What is NeoDLP?
It is a MIT licensed Tauri desktop application that provides a graphical front end for yt-dlp, with a preconfigured yt-dlp environment including a JavaScript runtime, a PO token server and real-time logs, plus a browser extension for capturing links, selections and media sources.
How do I install NeoDLP?
Through winget with winget install neosubhamoy.neodlp --source winget on Windows, Homebrew with brew install neosubhamoy/tap/neodlp on macOS, Flathub with flatpak install flathub com.neosubhamoy.neodlp on Linux, or the AUR with yay -S neodlp or paru -S neodlp on Arch.
What external tools does NeoDLP need?
yt-dlp as the core downloader, FFmpeg and FFprobe for post-processing, Aria2 as an optional external downloader which is not included with the macOS builds, Deno for the sandboxed JavaScript runtime that yt-dlp needs for YouTube downloads, and the BgUtils PO Token Provider written in Rust for the proof of origin token.
What does the NeoDLP browser extension add?
It works with any Chromium or Firefox based browser and adds a quick search of the current address with NeoDLP via the ALT plus SHIFT plus Q shortcut, plus a right click context menu action that can search by link, by selection or by media source.
Is NeoDLP tested on every platform?
No. The README says that while NeoDLP is supported on most platforms, not all packages are tested on all platforms, with the current test coverage given below, and that untested packages may have issues. The recommendation is to test it yourself and report any issue on GitHub.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/neosubhamoy-neodlp)Was this useful?