In general, semi-permanent dye can last up to six weeks, though the exact length of time depends on many factors, including your hair's porosity and how often you wash and heat style. Using a color-depositing shampoo or conditioner can help boost the shade and extend its wear.