Vitiligo is caused by the lack of a pigment called melanin in the skin. Melanin is produced by skin cells called melanocytes, and it gives your skin its colour. In vitiligo, there are not enough working melanocytes to produce enough melanin in your skin. This causes white patches to develop on your skin or hair.