Hardware vs Software vs Firmware: What's the Difference?

Firmware, Software, and Hardware are Different... but How?

Image of a smartphone and a number of apps
A Smartphone Contains Hardware, Software, & Firmware. © exdez / DigitalVision Vectors / Getty Images

When you're trying to solve a problem with a computer, or any piece of technology for that matter, the first thing you should try to do is determine if the problem is with the hardware or with the software.

How you make that determination depends on the problem you're experiencing, but it often involves ruling out one or the other via testing.

Regardless of how you get to that answer, I'm often really surprised about how much confusion is out there when it comes to hardware vs software.

It's even worse when I mention firmware.

Here's more on how each of these "wares" differ, knowledge that you need to have if you plan on doing even the simplest of troubleshooting on any of your myriad of tech devices:

Hardware is Physical: It's "Real," Sometimes Breaks, and Eventually Wears Out

Hardware is "real stuff" that you can see with your eyes and touch with your fingers.

Unfortunately, being a physical item, you can also sometimes smell it as it dies a fiery death, or hear as it physically decays in its last motions.

Since hardware is part of the "real" world, it all eventually wears out. Being a physical thing, it's also possible to break it, drown it, overheat it, and otherwise expose it to the elements.

Your smartphone is a piece of hardware, although it also contains software and firmware (more on those below). Your tablet, laptop, or desktop computer is also hardware, and contains a lot of individual hardware components, too, like a motherboard, a processor, memory sticks, and more.

That flash drive in your pocket is hardware. The modem and router in the closet at home are both pieces of hardware.

While it's not always this easy, using one of your five senses (except taste... please don't taste any part of your computer system) is often your best way to tell if hardware is the cause of a problem.

Is it smoking? Is it cracked? Is it missing a piece? If so, the hardware is probably the source of the problem.

As sensitive as I've made hardware out to be in what you've just read, one great thing about hardware is that it can usually be easily swapped out. Software you lose may be irreplaceable, but most hardware is "dumb" - the replacement often being as valuable as the original.

See my List of Computer Hardware Devices for more on some of the common parts of a computer system and what they're used for.

Software is Virtual: It Can be Copied, Changed, and Destroyed

Software is everything about your computer that isn't hardware. Your operating system, like Windows 10, Windows 7, or iOS, and your programs, like Adobe Photoshop or an app on your smartphone, are all software.

Since software is information, and not a physical thing, there are few barriers to it existing. For example, one physical hard drive might take 2 lbs of materials to create, meaning 3,000 hard drives would take 6,000 lbs of materials. One software program, on the other hand, can be duplicated 3,000 or 300,000 times, over as many devices, but be taking up essentially no more physical resources.

Software exists to interact with you, the hardware you're using, and with hardware that exists elsewhere.

For example, a photo sharing software program on your PC or phone works with you and your hardware to take a photo, and then communicates with servers and other devices on the Internet to show that photo on your friend's devices.

Software is also extremely flexible, allowing it to be continuously updated and modified. While you certainly wouldn't expect your wireless router to "grow" another antenna or your smartphone to get a bigger screen as it charged on your nightstand, expect your software to regularly gain features and grow in size as its updated.

Another great thing about software is its potential to last indefinitely.

So long as the software is copied to newer hardware before the current device fails, the information itself could exist as long as the universe does. Equally amazing is that software can be destroyed. If there are no copies, and the software is deleted, it's gone forever. You can't run to the store and pick up a replacement for information that never existed anywhere else.

Troubleshooting a software problem is usually more complex than working through a hardware one. Hardware issues are often times straightforward - something is broken or not and may need to be replaced. The steps required to solve a software problem depend on what information you're given about the issue, what other software is running, what hardware that software is running on, etc.

Most software issues start with an error message or another indication. It's here that you should start your troubleshooting process. Search for the error or symptom online and find a good troubleshooting guide that will work you through the problem. 

Firmware is Virtual: It's Software Specifically Designed for a Piece of Hardware

While not as common a term as hardware or software, firmware is everywhere - on your smartphone, your PC's motherboard, even your TV remote control.

Firmware is just a special kind of software that serves a very narrow purpose for a piece of hardware. While you might install and uninstall software on your computer or smartphone on a regular basis, you may only rarely, if ever, update the firmware on a device and you'd probably only do so if asked to by the manufacturer, probably to fix a problem.

See What is Firmware? for more on this unique type of software.

What About Wetware?

Wetware refers to life - you, me, dogs, cats, cows, trees - and is usually only used in reference to the technology related "wares" we've been talking about, like hardware and software.

This term is still used most often in science fiction but it's becoming an increasingly popular phrase, especially as human-machine interface technology progresses.