Inbäddad programvara är specialiserad programmering i ett chip eller på firmware i en inbäddad enhet för att styra dess funktioner.
Hårdvarutillverkare använder inbäddad programvara för att styra funktionerna hos olika hårdvaruenheter och system. Inbäddad programvara kontrollerar enhetens funktioner på samma sätt som en dators operativsystem kontrollerar programvarutillämpningars funktion. Nästan alla enheter kan innehålla inbyggd programvara – från sådana som är så enkla att man inte kan föreställa sig att de har datorstyrning, som brödrostar och glödlampor, till komplexa spårningssystem i missiler.
Inbäddad programvara används för att styra begränsade, fastställda funktioner i hårdvaruenheter och behöver i allmänhet ingen inmatning; den brukar vanligtvis inte arbetas med direkt av användarna. Dess funktioner aktiveras av externa kontroller, antingen externa åtgärder av själva enheten eller fjärrstyrd inmatning. Enheten kan ha kommunikationslänkar till andra enheter för funktionalitet eller om enheten behöver justeras, kalibreras eller diagnostiseras. Det är också genom dessa förbindelser som någon kan försöka hacka inbäddade system.
Inbäddad programvara varierar i komplexitet lika mycket som de enheter den används för att styra. Även om termen ofta används omväxlande med fast programvara är inbyggd programvara ofta den enda datorkod som körs på en maskinvara, medan fast programvara däremot lämnar över kontrollen till ett operativsystem som i sin tur startar och kontrollerar program.