De kleur van vlees en vleeswaren wordt bepaald door myoglobine en derivaten. De hoeveelheid myoglobine in vlees varieert sterk en is afhankelijk van o.a. de species, de leeftijd, het geslacht en de fysieke activiteit van het dier. Kalfsvlees bevat bijvoorbeeld minder myoglobine dan rundvlees. Daarnaast vertonen verschillende spieren van eenzelfde dier eveneens verschillen: het borstvlees van gevogelte is bijvoorbeeld veel lichter dan het vlees van de poot.
Myoglobine is onderhevig aan verschillende omzettingsreacties die verantwoordelijk zijn voor de kleurveranderingen in vlees gaande van rood en bruin naar groen.
In aanwezigheid van zuurstof wordt myoglobine omgezet tot het helderrode oxymyoglobine wat de gekende bloom van vers vlees geeft. Onder bepaalde condities zoals bij een lage zuurstofdruk, wordt het metmyoglobine gevormd en krijgt vlees de minder aanvaarde bruine kleur. De groene verkleuringen in vlees ontstaan door de reactie van myoglobine met H2S, H2O2 of andere componenten. H2S en H2O2 kunnen in vlees gevormd worden door de aanwezigheid van gasproducerende micro-organismen. De groene kleur is ongewenst en wijst op beginnend bederf; de gevormde verbindingen zijn evenwel niet toxisch.