Unter Firmware versteht man Software, die in verschiedene elektronische Geräte wie Festplattenrekorder, DVD-Brenner, DVD-Player, neuere Fernsehgeräte, Haushaltsgeräte, Computer usw. in einem Chip eingebettet ist — im Gegensatz zu Software, die auf Festplatten, CD-ROMs oder anderen Medien gespeichert ist. Die Firmware ist heute meistens in einem Flash-Speicher oder einem EEPROM gespeichert.
Firmware nimmt als Software in der Hardware eine Mittelstellung zwischen Software und Hardware ein. Sie ist fast immer modellspezifisch, d.h. sie funktioniert nicht auf anderen Gerätemodellen; sie wird von der Hersteller-Firma mitgeliefert. Ohne Firmware sind die entsprechenden Geräte nicht funktionsfähig.
Die Firmware enthält meistens elementare Funktionen zur Steuerung des Gerätes, Ein- und Ausgaberoutinen, gelegentlich auch umfangreichere Funktionen für Arbeiten mit Speicher, CPU und anderen Komponenten. Bei Computern dient sie hauptsächlich dazu, nach dem Einschalten den ersten Teil des eigentlichen Betriebssystem von einer Festplatte in den Hauptspeicher zu laden; danach wird die Kontrolle von der Firmware an den soeben geladenen Betriebssystemteil abgegeben, der dann den weiteren Startvorgang durchführt.
Bei heutigen Geräten ist es oft möglich, die Firmware eines Gerätes durch ein Update zu aktualisieren. Sogenannte programmierbare ROMs oder EEPROMs können über spezielle Verfahren gelöscht und neu beschrieben werden. Diesen Vorgang nennt man flashen. Die Neuprogrammierung eines Flash-Speichers ermöglicht die Fehlerbehebung sowie den Einbau neuer Funktionen. Das Überschreiben beim normalen Betrieb ist nur dann möglich, wenn derjenige Teil des Flash-Speichers, der neu beschrieben werden soll, nicht von der Firmware in Gebrauch ist.
Schlägt das Firmwareupdate zum Beispiel durch eine Unterbrechung der Stromzufuhr während des Schreibens fehl, so ist es möglich, dass das Gerät dabei unbrauchbar wird: wenn die elementaren Funktionen zur Aktualisierung der Firmware selbst gelöscht und nicht erfolgreich erneuert werden, kann eine funktionsfähige Firmware nur noch durch eine externe Programmierung mit einem entsprechenden Programmiergerät aufgespielt werden. Einige Geräte besitzen deshalb nicht überschreibbare Firmwareupdate-Funktionen, die auch bei einem fehlgeschlagenen Update noch funktionstüchtig sind.
Ein Beispiel einer Firmware ist das BIOS der PCs oder die OpenFirmware, von Apple oder SUN. Daneben enthalten nahezu alle modernen eingebetteten Systeme (Embedded Systems) wie digitale Kameras, ADSL-Modems oder auch Mobiltelefone eine Firmware.