Firmware is a software program, or set of instructions, programmed onto a hardware device. It provides the necessary instructions that the device needs to communicate with other hardware. A device stores its firmware in a ROM chip — typically flash memory, which can be updated and rewritten to update a device's firmware.

Firmware is "semi-permanent" since it remains the same until modified by a firmware updater. Device makers occasionally release firmware updates to fix bugs, improve performance, or introduce compatibility with new devices. For example, your network router may occasionally receive a firmware update to fix a security problem, and smart home devices may receive updates to resolve reliability issues.

Device firmware updates come via a few different methods. More advanced devices, like routers and other network equipment, may include self-updaters that connect to the Internet, download an update, and apply it themselves. Smart home devices controlled by a mobile app can receive firmware updates through that app. Other devices, like computer game controllers, require you to visit the manufacturer's website to download an updater program, connect the device to your computer, then run the updater. Just make sure that once you start a firmware update, it finishes before you power the device off — if a firmware update is interrupted, the device may become bricked and not function.

Updated March 1, 2023 by Brian P.

quizTest Your Knowledge

Which version of macOS preceded Mojave?

El Capitan
High Sierra
Correct! Incorrect!     View the High Sierra definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Firmware on this page is an original definition written by the team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.