Bleaching or soap caps are the only methods for completely removing permanent hair color. It's possible to remove henna and semi-permanent tints with other materials, such as oils, vitamin C and lemon juice.
To completely strip the hair of permanent dye, especially if the desired shade is several levels lighter than the color, use hair bleach. The process involves mixing equal parts powder bleach and peroxide developer, applying it to the hair, processing, and rinsing it out.
If the color change isn't that drastic, it's preferable to use a soap cap because it's less damaging. For a soap cap, mix equal parts bleach and peroxide. Next, add the same amount of shampoo. Wet the hair, and apply the soap cap. Process under a shower cap until the tint is lifted. If the hair tint has already faded, mix the bleach powder directly with the shampoo.
Henna tint can react badly with bleach, so it's better to use natural products to remove the color. Leaving hair soaking in lemon juice for 12 hours yields the most dramatic results, but it can leave the hair brittle and dry. Soaking the hair in coconut, grapeseed or olive oil removes some color without damaging the hair.
It's possible to remove semi-permanent tint with vitamin C. Mix crushed effervescent vitamin C tablets with shampoo. Work through the hair, and cover with a plastic cap. Leave on for 20 minutes before rinsing it out.