The duration of semi-permanent hair color is, on average, four to eight weeks, but can be shorter or longer depending on the individual’s circumstance and the specific formula. Things like sun exposure, frequent shampooing, and heat styling can accelerate the fading process.