# Why/how is blood red? (colours of hemoglobin)

Oxyhaemoglobin is red, deoxyhaemoglobin is bluish-purple, and carboxyhaemoglobin is a cherry red colour.

Evidently in the porphyrin around the iron molecule in heme there is a conjugated $\pi$-system which could account for the colour, but how exactly does this work? Also, what is the role of the metal ion (specifically $\ce{Fe}$) in the middle, its oxidation state, or the ligand, in changing/determining the colour in conjunction to that? Do the globin chains play any role in determining the colour (if so, how)?

Chlorophyll, for example, also has a porphyrin motif, but it is green due to having magnesium in the middle. Vitamin B12 is also intensely red in colour (according to Wikipedia).

The $\ce{Fe}$-porphyrin complex is a vastly conjugated $\pi$-system, in which the oxidation state of the $\ce{Fe}$ plays a central role. The wavelength of light absorbed by hemoglobin exactly corresponds to the the difference in energy between the highest occupied molecular orbital (HOMO) and lowest unoccupied molecular orbital (LUMO) of the heme $\pi$-system, and is what gives hemoglobin its color. These values are exact and quantifiable. Changes in this color, therefore, are the direct result of changes in the energies of the molecular orbitals of the hemoglobin $\pi$-system.
To understand the color change, it is important to think about the geometry of the molecule. When oxygen is not bound, the iron atom is in the +2 oxidation state. It's slightly too big to fit into the hole in the center of the plane of the immediately-surrounding "heme," so it actually rests just on top of the heme plane. Here is the molecular orbital of the iron species with no $\ce{O2}$ bound:
When $\ce{O2}$ does bind, the $\ce{Fe}$ and $\ce{O2}$ orbitals bond and their energies change. In particular, the $\ce{O2}$ $\pi$* orbitals interact with the $\ce{Fe}$ $\mathrm{xz}$ and $\mathrm{z^2}$ orbitals. A side effect of the $\pi$* accepting properties of all three of these ligands is that iron formally changes from being in the +2 oxidation state to the +3 oxidation state. You can think of it as having "given up" one of its electrons to the ligand via the ligand's $\pi$* orbitals. As a side effect of losing one of its outer electrons, the iron atom is now small enough to align perfectly with heme plane.