Have you ever wanted to download a YouTube video to share elsewhere but found that every ‘YouTube Downloader’ on the internet is an adware-filled, slow-to-load piece of junk? This is especially problematic when you are trying to get video content to your students- most of the time you cannot directly link to YouTube on a school network connection as it will be blocked, leaving your only option to download the video and re-share it on a platform like Seesaw, a popular platform for student engagement. So how can you get the raw video file to share without getting your computer infected? I have designed a simple desktop application that downloads YouTube videos and I am offering it for free to download! It is available for MacOS and Windows. Best of all it’s a portable app- meaning no installer and therefore no need for an administrator password to use on your school computer!
If you are interested in how I developed this program, read on.
THE PROBLEM
YouTube download websites are filled with adware, malware, deceiving links, and often inappropriate ads. Educators need to be able to download YouTube videos to get around school content filters. They need to be able to use a program that can also evade roadblocks like not being able to install software on a school-issued computer.
THE SOLUTION

The solution was to develop a desktop application (ensuring the longevity of the project as there would be no need to pay for hosting a website or risking my web application getting blocked by a content filter). I also wanted to write this application once and deploy to my two target platforms – Mac and Windows. There are various libraries for downloading YouTube videos simply – I figure a lot of the scammy websites are making use of the open-source ytdl-core or similar JavaScript libraries to download their videos and quickly deploy new websites. I wanted to use something similar as these libraries are easy to use, well-supported, and cross-platform. The solution for all of my problems was to build my app using Electron, which lets you build cross-platform apps using HTML, CSS, and JavaScript. I could build a website using ytdl-core to download videos using the same technology as the sites people are being driven to by Google and then make it a desktop application. Then, using the exact same code for both platforms, I could then deploy to Windows and Mac! And that’s exactly what I did- what you see above in these screenshots is literally a simple website using jQuery, Bootstrap, and ytdl-core that takes in the YouTube link the user pastes in the box, uses regex to check that the link is a properly formatted YouTube link, and then opens a save prompt to save the video to the user’s computer! The save prompt is one of the neat elements of the Electron API that you can just use and have it work one each platform, pulling up a native save dialog and letting me configure it to ensure the user can only save MP4 files, for example, as that is the file format Seesaw accepts. The open-source Electron Packager then lets me bundle all of my dependencies together and create a Windows and Mac application bundle. These bundles include everything needed to run the application in exactly the spot the application needs it, meaning there is no installer to run and therefore it can run without administrator access on your computer! The whole ecosystem let me hack this together very quickly with almost no friction between any of the tools.
ytdl-core lets me ensure that we automatically grab the highest-quality version of the video and download it in MP4 format, making sure everything is as simple as possible to go from video to Seesaw fast, saving teachers time. This all happens in the background – the goal was to make a tool that takes minimal thought to use. Just grab the video your students need, and paste the link!
SHARING THE SOLUTION
This application is completely open-source. You can view it on GitHub here! This also serves a project homepage you can share with your friends and colleagues as it features download buttons for both Mac and Windows. It is also where you should go to get the most up-to-date versions of the software- as I improve it and make bug fixes the links below will not be updated, but they will always get you the first release.
V1.0 for Windows can be downloaded here directly.
V1.0 for MacOS can be downloaded here directly.