According to How Stuff Works, semi-permanent hair dye works by having molecules of color adhere to the hair; some molecules may penetrate the hair cuticle. A little color is removed every time the hair is shampooed. Air also fades semi-permanent color. Semi-permanent hair coloring lasts anywhere from four to 12 shampoos, depending on the porosity of the hair and the quality of the color.
Semi-permanent hair coloring does not make dramatic changes in hair color. While it does cover up to 50 percent of any gray hair, it cannot lighten hair color because it does not contain the hair-lightening ingredients peroxide, bleach or ammonia. It enhances natural color, and it does not leave visible roots uncolored. Semi-permanent hair color is easy to apply at home; and, it is safe to use after any type of chemical hair treatment, other than hair relaxing.
The other main type of hair coloring is permanent hair coloring. Permanent hair coloring uses ammonia and peroxide, and it does not wash out of hair. However, as hair grows, the original color comes back in at the roots, necessitating touch-ups every four to six weeks. Permanent colors are more natural looking than semi-permanent color, but more damaging to the hair. They take longer to apply than semi-permanent hair dye; and, they are often applied by professionals at hair salons.