Why does skin turn blue when cold?

Blood vessels. When you are cold, blood vessels constrict and cause decreased blood flow distal to them. The decreased blood and oxygen content can then make the skin appear blue.