There are two main types of hair dye stains: permanent and semi-permanent. Permanent hair dyes contain ammonia and peroxide, which make them more difficult to remove. Semi-permanent hair dyes do not contain ammonia or peroxide, so they are easier to remove.