In de informatica is firmware een computerprogramma dat is "ingebed" in een hardware-apparaat en een essentieel onderdeel vormt van de hardware. Het wordt ook wel embedded software genoemd. Een voorbeeld is een microcontroller, een onderdeel van de microprocessor dat de microprocessor vertelt welke acties hij moet ondernemen. Het kan ook een groter programma zijn, opgeslagen in een flash-geheugen, of door een gebruiker geüpload naar bestaande hardware.
Zoals de naam al aangeeft, houdt firmware het midden tussen hardware en software en verbindt het de twee werelden. Het kan voor verschillende mensen iets anders betekenen, vooral omdat stand-alone elektronische apparaten meer op computers gaan lijken. Net als software is het een computerprogramma dat wordt uitgevoerd door een microprocessor. Maar het is ook gekoppeld aan een stuk hardware en heeft geen betekenis zonder die hardware.