Blake's Essentials

A Curated List of Free Software

Welcome to my carefully curated list of the best free programs for Windows, MacOS, and Linux!

This is the software that I find essential when working on a desktop or laptop. These are the programs that I either immediately install when I setup a new computer, or I end up installing as I need them. In most instances I have tried a number of solutions before choosing one that I like the most. I maintain this list for my own convenience so I can quickly remind myself of (and find) all of the software that I thought was best the last time I evaluated a category. 

Most of these programs are cross-platform, but if an app doesn't support both Windows and Mac I will make a note of that and usually list alternatives. All of these programs are free for personal use, and most are open-source as well. If there are commercial versions available for a program, the free version listed here is not a time-limited trial, and it is useful without upgrading to a paid version. In some cases I have listed alternatives, honorable mentions, or close seconds. Having said that, I try not to include redundant programs unless they bring something to the party. Likewise, I won't bother listing software commonly included with the operating systems (e.g. Apple's Music or Photos apps). 

Have a suggestion for a great program that should be on my list? Let me know about it! Have a comment or correction on something on this website? Click on the Feedback link and let me know!

Images & Video

Video Player

    • While VLC works great on any platform, Mac users may prefer IINA. It's a full-fledged media player with a clean interface. (Mac)

Raster Photo/Image Editor

    • Paint.NET is a fantastic alternative to GIMP for those weary of the learning curve (or the name). It is less powerful than GIMP, but it’s easy to use and really polished. It’s the Paint program Microsoft should have shipped with Windows. (Windows)

Photo Management/Viewing (and Casual Editing)

Also check out:

  • If the Photoscape X workflow doesn’t agree with you, my runner up is XnView MP. It has a somewhat old school interface with simple controls that may be more intuitive for some people. It has all the essential functions and more.
  • FastStone Image Viewer is a fantastic photo viewer with a truly impressive set of editing features. After Google retired their Picasa software I used FastStone for about a year, but I just couldn’t get on board with the (for me) unintuitive interface, and I ended up switching to something else. While it didn’t work out for me, it might be perfect for you. (Windows)
  • If all you need is a super-fast, image viewer (that incidentally has some robust editing features), look no further than IrfanView. I started using it in the late 1990s, and it is still going strong. This is a great program to make your default action when clicking on JPEGs, GIFs, and PNGs. (Windows)

Raw Photography Workflow

Vector Image Editor

    • If you only need a Mac solution to vector graphics, the excellent Curve (formerly Vectornator) is hard to pass up. It's one of those apps that looks so polished, it's hard believe it's free. It has all the essentials to make some incredible vector art. (Mac)

Artistic Image Editor

      • Another cool option is Autodesk’s Sketchbook, which is now free (although you will need to create a free Autodesk ID to register it.) I just don’t want to invest the time in learning a program, saving a lot of files in their proprietary format, and then they yank the rug out. Autodesk has done that before, so I’m leery. Other than that, it’s great software… but so is Krita.

Stable Diffusion AI Image Generation

      • Diffusion Bee is the other "beginners" AI program that is easy to install. It isn't as good as Draw Things at the moment, but it is certainly worth an honorable mention. There is a Windows version in the works, which will probably quickly make it the easiest way to run Stable Diffusion on Windows. (Mac)

Screenshots/Screen Capture

      • Greenshot was my old favorite, and you may want to use it if ShareX is confusing or seems like overkill.
      • Worth noting: recent versions of Windows 10 now come with a tool called “Snip & Sketch” that does something similar (use SHIFT + WINDOWS + S key combo to access it), although it doesn’t automatically save the image to a file.
      • If you don't need/use anything beyond simple screenshots on Mac, it's worth mentioning the SHIFT-CMD-4 shortcut gets you a portion of the screen and automatically saves the file to the desktop.

Live Streaming

Video Conversion

    • On Windows if you want to convert your DVD library, you’ll need to put the libdvdcss library in the Handbrake directory.
    • If Handbrake is too confusing and all you want to do is rip a DVD, MakeMKV rips and decodes DVDs (even with copy protection). It just isn’t as versatile as Handbrake.
  • Gifski is a super easy way to convert video to high-quality GIFs. (Mac)

Video Editing

Also check out:

  • DaVinci Resolve: This is a professional package, but they have a free version that’s very impressive. It outshines the above editors in features, but I’m reluctant to learn a free tool that could be retracted at a whim, so in general the opensource tools above get my vote.
  • Openshot: I’m listing this to remind myself to keep an eye on its development. Feature-wise, it seems like it falls right between Shotcut and kdevlive, but it feels pretty buggy yet. Having said that, it might scratch your itch, and it’s worth checking out along with the others.

Animation

    • OpenToonz is really cool 2D animation software that’s most well-known for being used by Studio Ghibli and Futurama. It is possible that OpenToonz is better than Synfig, but I don’t do enough animation to know the difference, and OpenToonz is less intuitive to me.

Media Server

Music & Audio

Music Library Organization and Playback

      • I'm not listing a Mac alternative for playback here because the default Apple Music app meets my meager needs.
      • If Picard isn't to your liking, I would suggest MP3Tag. It is a universal batch tag editor that handles MP3s along with every other popular audio format. The robust file renaming/retagging tools and online database lookups make this powerful option for cleaning up your audio collection. This is only free for Windows. It's a paid app on the Mac App Store. (Windows)

Audio Conversion

Audio Editor

    • A simple single-track alternative to Audacity is AudioDope. If you just need to quickly trim an audio file or apply some basic filters, AudioDope is a good choice. (Windows)

Digital Audio Workstation (DAW)

    • Another great DAW is Waveform Free. While there is a Pro version with more features, the free version has no limitations and is very capable.
      • You may be asking why I limit my Ardour recommendation to Linux users. The simple answer is on Windows and Mac it isn’t really “free”. While it is open source and you can build it from scratch for free, if you want a convenient, pre-built binary, you need to either buy it or pay a subscription. The free/demo version goes silent after 10 minutes, which I consider too restrictive to still include here on my list of free software. Having said all that, it might be worth your money, so check it out.
  • GarageBand is the obvious easy-to-use entry-level option for the Mac. It's tough to beat the no nonsense workflow that works great with MIDI as well as recorded tracks. (Mac)

Step Sequencer

Synth Plugins

Text Editors

There may be some redundancy here, but text editors are like knives: you wouldn’t use a Bowie knife when you need a scalpel or a steak knife when you need a machete, so I use multiple editors depending on the task.

All-Purpose Text Editors

      • If CotEditor is too barebones for you, the next step up without going to an IDE is TextMate. It opens slower than CotEditor, but it has some robust functionality including an impressive array of text manipulation tools and extensive language support with syntax highlighting, while still staying fairly lightweight. (Mac)
    • If a console-based text editor is what you need and you don’t love the vi modal editing and key bindings, you should really check out micro. Micro works from a console, but it has modern capabilities like mouse support, multiple cursors, Lua plugins, tabs, tmux-like splits, and syntax color schemes. Best of all, the normal Windows key bindings like CTRL-C, CTRL-V, CTRL-S, and CTRL-Z work as expected.

Honorable Mentions

Programming Editor/IDE

    • Two things worth mentioning: First, you can run VS Code directly in a web browser here. The experience is pretty incredible all things considered. Second, VS Code is very actively developed, so if you want the latest and greatest, you may want to run VS Code Insiders. On paper it is a beta version of VS Code where the new features are tested out, except I have found Insiders to be stable enough for production work. I honestly haven't noticed a difference in reliability.

Prose Text Editor

    • FocusWriter: If the command palette interface of WriteMonkey 3 is a deal-breaker for you, a good runner-up is FocusWriter. It has a more classic distraction-free interface, and it has plenty of convenience features like smart quote conversion.  (Windows/Linux)

Programming

Note: See the Text Editors section for programming text editors and IDEs.

Version Control

Text Comparison

    • WinMerge: WinMerge has been around for a long time, and it's still one of the best all-around solutions. I'm listing it here because I like it better than Meld for directory comparison, and for that task alone, it's worth having it installed. (Windows)

Compiled Language

Scripting Language - General Purpose

pyenv install 3.10.4

pip install jupyterlab seaborn PyQt6 sympy

    • Other GUI toolkits worth checking out are wxPython, which is a really nice toolkit that I’ve used on a number of projects, and Kivy, which accommodates mobile platforms with features like multi-touch support.

Scripting Language - Math/Science

    • For interactive Julia sessions, there is nothing like Pluto.jl. It is a must see experience. It's like a Jupyter Notebook, but better.
    • If you like Julia, you might like the JuliaMono font. I can’t justify listing this with the other fonts below because it’s so specific to Julia, but this is an interesting font intended to leverage Julia’s excellent Unicode support for actual math operations. Check out the website for examples.

Programming Fonts

Below are a few excellent fonts suitable for programming, consoles, terminal windows, PuTTY, etc. While just one font should be sufficient, I typically have all of these installed as one font may look better in a certain terminal or editor, at a particular size or scaling, or on a particular monitor.

Document Authoring & Viewing

See the Text Editors section for creating plain text files.

PDF Viewing/Editing

      • If you're on Linux, your best alternative to PDFgear is PDFsam Basic. It will handle all your basic PDF editing needs. It will merge, split, and rotate PDFs, as well as extract pages. There is a premium offering that does more, but PDFsam Basic covers the most frequent uses cases.
      • For a lighter-weight solution to reading and marking up PDFs on Mac, it's hard to beat Skim. While being fast and free, it is still has plenty of features. (Mac)

eBook Utilities

      • The honorable mention on Windows goes to Sumatra PDF because it is a convenient all-in-one reader for PDF, EPUB, MOBI, CBR, CBZ, CHM, and XPS. While Sumatra might not be the best solution for ebooks or comics, it’s handy to have around, and some books even look better in Sumatra (usually because of font rendering). (Windows)

Font Management

Comic Reader

Markup & TeX/LaTeX Tools

      • This isn’t a software link, but a really useful site about LaTeX fonts is here. And while I’m breaking the rules and posting web links, here’s a really good website for LaTeX info.

Office Suite

    • Full disclosure, I don’t find LibreOffice essential in the sense that I use it often. I like LibreOffice as a convenience so I can easily open an MS Office file or perform the odd task, but I actually far prefer working in the cloud with Google Docs and Sheets. In some ways, Sheets is even better than Excel or LibreOffice Calc with conveniences like the split() function.

Note-Taking

      • Obsidian is where you might want to go if you want good Markdown support and you don't need total inoperability on mobile devices. The Canvas feature is really cool. It lets you visualize and connect data in interesting ways, a bit like a mind mapper. Obsidian's biggest shortcoming is you have to figure out your own file-sync solution unless you pay them for their sync service. Saving your vaults to Google Drive, iCloud, OneDrive, etc. will solve this for you, but you still won't be able to work with some combinations (like saving a vault to Google Drive on desktop and opening it on an iPhone). Likewise, there is no Canvas support for mobile, so you could create a note on desktop that you can't open on mobile.

Honorable Mention

  • I want to give kudos to UpNote here because it is my favorite notes app for personal use, but I can't quite officially include it on my list because the free version is limited to 50 notes, which is just too limited to qualify for the spirit of this site. HOWEVER, it is the perfect compromise between the barebones Markdown notes apps and the full-fledged multimedia approach of OneNote.

Desktop Publishing

Sheet Music

    • If you want to make sheet music and have complete control over every aspect of the output, LilyPond is where it’s at. There’s no GUI, it’s super niche software, so it’s not for everyone, but the results are sublime.

Science, Math, and Engineering

Calculators

Notebook-Style 

      • SpeedCrunch is a decent alternative for a calculator with fast start-up and plenty of functionality. The interface is deceptively simple, but lurking under the hood are constants, variables, an impressive list of math functions, and equation support. Unfortunately, while SpeedCrunch is cross-platform, it looks fuzzy/blurry on Mac. The graphics toolkit doesn't seem to upscale well on hi-res monitors, so I just don't use it on Mac.
      • For a non-cloud Mac solution, Numi is the best free alternative. The paid version supports multiple pages/notebooks, but the free version has full functionality otherwise. Intuitive calculations (e.g. "5% of 20") and unit conversion (although somewhat basic) make Numi a solid desktop calculator. (Mac)

Scientific

Graphing

Unit Conversion

Graphing/Plotting

Note that this section is dedicated to standalone graphing/plotting software, but apps in other categories (e.g. statistics, CAS, and office suites) have graphing/plotting capabilties as well. Also worth noting, Python libraries like Matplotlib and Seaborn (see Programming) make standalone graphing software somewhat redundant for me, but the feature sets and easier-to-use interfaces make these apps below still the best tool for some jobs.

XY Plot Digitizer

      • LabPlot (mentioned above) also has a "data extractor" tool that works great for digitizing XY plots from images.

Computer Algebra Systems & Numerical Analysis

    • An alternative to a standalone app like Maxima for simple symbolic algebra is SymPy, which technically isn’t an application, but rather a Python library. If you use Sympy in a Jupyter notebook inside VS Code, you have a pretty incredible environment for CAS. This is actually my preferred solution, but you need to be fluent in Python for this to be viable.
    • The obvious runner-up here for numerical computation is Scilab, which has a long history as a capable numerical analysis package and has always had significant overlap in functionality with Octave (and MATLAB for that matter). You may like Scilab better for some reason, so if you’re serious about math you should check it out, but the Octave community is more active and there are more libraries available for Octave, so I’d still start there.

Interactive Programming/Data Environment

    • If you are a Julia programmer, we can’t talk about interactive environments without mentioning Pluto. It’s a relatively new project, but it’s really doing amazing things, and it’s definitely showing up the veteran Jupyter in a number of areas.

Statistics

      • JASP looks very similar to Jamovi, and in fact, at first glance the interfaces appear to be near clones. While I find Jamovi just plain better in a number of ways, I’m keeping my eye on JASP because it appears to be under active development as well, and JASP supports some analyses that Jamovi doesn’t while still offering an easy-to-use interface.
      • On paper, BlueSky Statistics should be the easy winner in this category. It has many, many more features than Jamovi. However, I don’t find the interface as intuitive for casual analysis, and by default the plots look fairly bad. The plots can certainly be tweaked through the R language, but it isn’t transparent to the casual user. Besides the impressive collection of analysis methods, the real reason I might reach for BlueSky instead of Jamovi is the robust set of data manipulation tools.
      • PAST is the only app in this category that isn't just a front-end for R. If you look past the deceptively plain interface, this is a super powerful stats program chock-full of functionality. There’s no safety net or hand-holding to help you interpret the results, but it has an amazing manual describing the equations used and even includes extensive citations, so this is no black box. It has a very robust set of statistical plotting tools, and the histograms are actually pretty good with a fair amount of customization (including overlaying a normal distribution).

CSV Files

2D/3D CAD Modeling

  • FreeCAD: Fairly full-featured 2D/3D parametric CAD modeler. This is the only open source CAD program that looks and functions even remotely like a real, commercial CAD program, and it’s capabilities are pretty amazing for what it is, but it’s still painful for me to use compared to any good commercial product. The interface can be clunky and seems to work against me at every step, and for some tasks I just can’t figure out an efficient workflow (or can’t figure out how to accomplish it at all). Having said that, there is a lot of great functionality here, including a good constraint manager and a decent CAM module that generates very usable G-code.
  • LIbreCAD is worth looking at if you want to make 2D prints. While FreeCAD has a robust 2D sketcher, its focus isn't 2D prints. That's where LibreCAD can often outshine FreeCAD, although I wish it was parametric. At the end of the day, I can make a perfectly serviceable print with LibreCAD, but it feels like it should have been easier to get there. But for free? It's not bad. I have done some paid side jobs with it, and it did what I needed it to do.
  • Solvespace is such a tiny, fast, quirky, unique, and capable program, I had to mention it. Don’t let the retro look fool you. This is a powerful 2D/3D parametric modeler with a legit constraint solver. Besides FreeCAD, that is a very rare find in free CAD software. This interface is nothing like a standard CAD package, but if you are into making 3D objects for 3D printing, this program is great. For normal use, I think the glaring omission in its feature set is a tool for adding fillets/rounds. That’s a deal breaker for me.

Electronics Schematics

    • TinyCAD is a a bit more capable, and a bit more complicated, than ExpressSCH, and I find it better for some jobs. (Windows)
    • KiCad is WAY more powerful than ExpressSCH in every way possible, but it’s usually overkill for my simple needs. If you’re looking for an electronics design program, you’re probably looking for KiCad.

GPX Viewer

Geographical Mapping Software

Astronomy

Network & Internet

Web Browser

    • I left Firefox for Chrome, but I like to keep Firefox around for the odd task, and it is arguably more pro-consumer with its stance on ad-blockers.
    • And because you can never have too many browsers, the DuckDuckGo browser is another nice option if privacy and security are a high priority.

Remote Shell Access

File Transfer

      • Electrorrent is the a great alternative when you want a nice, clean-looking client with a modern UI to manage your torrents remotely. It isn't overly complicated, and it has all the usual functionality that you want without overwhelming you with options.

Remote Desktop Control

    • If you aren’t a Chrome user, you may prefer Teamviewer. It is similar in that it makes it easy for non-techy people to add remote control. I can send them a download link, they install it, and tell me the ID and password that is displayed in the app so I can connect. That’s it. No other configuration is needed.
      • I'm not listing a VNC client for Mac because it has a VNC client built in. Search for "Screen Sharing.app" in Spotlight to find it.

Chat/Messenging

    • Speaking of IRC, I have a hard time calling an IRC client "essential" because it's become such a niche protocol at this point, but there are still some useful dev communities out there. So if you do need IRC, check out:
      • HexChat is a nice client that has all the features I need. (Tip: download the installer for free on the website. The same app on the Microsoft Store costs $9.99.) (Windows/Linux)
      • LimeChat is the IRC client I use on Mac. It's simple and works well. (Mac)

Honorable Mentions

  • Telegram: I really don’t need another chat protocol in my life, but Telegram is doing some things right like real cross-platform support/sync and no size restrictions when sharing media or documents. It’s a very polished experience, and features like group voice chat work exceptionally well.
  • If privacy or security is paramount to you, then Signal has Telegram beat. In Telegram, end-to-end encryption is only optional, and you can’t encrypt group chats. Signal fixes those shortcomings, but falls short of Telegram in other areas.

Multi-Factor Authentication

File & Disk Utilities

Local File Search

Compression

      • If you don't need fancy compression options, and you just want something that will automatically decompress just about every format you've probably ever heard of, you may prefer The Unarchiver. The interface is non-existent. You just click on an archive in Finder to decompress it. (Mac)

Disk Imaging/Formatting/Repair

    • Runner up goes to Rufus. It gives you more options than Etcher at the cost of some added complexity. I have also run across some images where Rufus works where Etcher fails, so it’s handy to have Rufus around even if I use Etcher most of the time. (Windows)
    • SD Memory Card Formatter may be a simpler solution if all you need is to fix an SD card. Some devices can be finicky about the format of SD/microSD cards, and this official application from the SD Association has fixed some obscure issues I’ve had in the past. This is especially true of SDHC/SDXC cards since Windows 10 seems to like formatting higher capacity cards as NTFS instead of FAT32.

Windows File Recovery

Between these programs you should be able to recover any file that is physically possible to recover without special hardware. I’m listing them all because sometimes one can get the job done where another can’t.

Disk Performance

File Deletion

Note: The advent of modern SSD drives has thrown a monkey wrench in secure deletion, so do some research before trusting that your file is really gone. (Hint: it’s probably not.)

Disk Encryption

Windows Disk Usage

      • Windirstat was my favorite for years, and it’s still a great option, but it is slower than Wiztree. (Windows)

Mac Disk Usage

I'm listing two equally excellent apps that take fundamentally different approaches, so I use both in different situations:

Batch File Rename

    • I’ve already listed Microsoft PowerToys elsewhere in this list, but it’s worth mentioning that it comes with PowerRename. PowerRename has less features than WildRename, but it is still incredibly powerful while the simple interface is easier to figure out. (Windows)

Batch Text Replacement

Backup/Synchronization

    • For something more involved than simple “folder sync”, Duplicati might be what you need. It does incremental backups and data deduplication, and it works nicely over a network, making remote admin a breeze.
    • Maybe you don’t trust Google or you want more control of your data. If you’d rather host your own cloud, it’s hard to beat Syncthing. If it’s confusing why this is different than something like FreeFileSync, Syncthing shines at realtime continuous synchronization while FreeFileSync is geared towards a file backup that runs (for instance) once a day. The huge bonus is the Syncthing Android app, allowing you to sync files between your computer and your phone.

Windows System Utilities

Package Management/Software Installer

Honorable Mentions

    • Patch My PC is pretty cool. If you don't want an overbearing package manager, but you do want up to date programs, this is a good option. It scans your installed programs, shows you which ones have available updates, and then it helps update them. It supports a decent selection of popular software, although it isn't going to cover every app on your computer. This is great for casual users.
    • Not long ago Chocolatey was probably the most well-known solution to package management on Windows. It may still be a better choice for some people as it has broad package support. It supports thousands of packages, and the vast majority of the software listed on Blake's Essentials can be found there. Having said that, I wish it were more robust. I've had plenty of headaches where Chocolatey wouldn't let me uninstall software or I had weird conflicts from multiple versions of packages that I couldn't remedy. I switched to winget largely because of these issues.
    • I'm guessing the most popular graphical package manager out there is Ninite. It’s great software, it's easy to use, but it just doesn’t include enough packages to really be a full-fledged package manager. If Ninite supports all the packages you want, you might want to try it first. Personally, I see Ninite as something I can use on my parents’ computer to keep their software up to date.

System Cleaner

    • CCleaner has been around forever, and it might still be a good choice for cleaning up your system, although be aware that it seems to have lost favor in some circles due to some possibly sketchy behavior. The main advantage it has over Bleachbit is the ability to fix a plethora of registry issues. (Again, maybe it’s better to let it alone and not mess with the registry?)

Microsoft Product Key Recovery

Utilities Suites

    • Process Explorer: If you can’t delete a file because some program has it locked, Process Explorer will tell you what program has the file handle open.
    • Process Monitor: Sometimes you need to know what files a process is changing, or maybe you want to know which program is changing a file. Process Monitor, um, well, it monitors your processes to find that out.

Linux Environment

export DISPLAY=:0.0

export LIBGL_ALWAYS_INDIRECT=1

$ sudo apt-get install xfce4-terminal xfce4

$ sudo apt-get install ubuntu-desktop

$ startxfce4


Mac System Utilities

Package Management/Software Installer

brew install git

    • The other popular option out there is MacPorts. You should at least understand how it is different before choosing Homebrew.

Android Support

  • Android File Transfer: If you have an Android phone and a Mac, you need this to move files back and forth.

Desktop Tweaks & Utilities

Monitor Brightness Control

Misc. Utilities

Uninstaller

Console/Command Line

    • Tabby is a ridiculously customizable terminal app that handles essentially any local shell as well as serial and SSH connections. I’ve run into some bugs that keep me from using this exclusively, but I could see this being someone's first choice due to endless customization and a beautiful interface.
  • iTerm2 is the terminal you should be using instead of the default MacOS terminal. The customization options are extensive. It's one of the best terminals on any platform. (Mac)

Clipboard Manager

Password Manager

Hex Editor

Virtualization

Gaming

I’m not going to list actual games here, but rather just some gaming related software which facilitates playing games.

Games Launchers

Console Emulation

Game… um… Enhancement

Interactive Fiction (IF) Tools

    • Frotz8 is a native Windows app based on the frotz interpreter that supports touch screens, and it has handy integration with the IF Archive.  It appears to be stagnant since 2013, so I’m not expecting anything new. (Windows)
    • Gargoyle deserves a mention because it supports every format I’ve ever run across because it is basically just a wrapper for a number of interpreters. The default (and excellent) Bocfel Z machine interpreter has partial support for z6 files too.  Its other claim to fame is its focus on good typesetting, which is a really interesting niche.  But be warned, it essentially has no user interface, so you need to edit a text file to change fonts and whatnot.
    • Filfre: This is easier to use than Gargoyle for sure, so I’m mentioning it here, but it has minimal customization options.  You might want to choose this if you need Glulx support and want an interface similar to Windows Frotz.  It’s probably not the best choice for Z-Machine files because it only supports versions 3, 4, 5, and 8 story files. The project has been stagnant since 2013, so what you see is what you get. (Windows)

Just for easy reference, here are some websites to find and download some great IF stories to use with the interpreters: