Ash brown is a cool-toned brown with gray or silver undertones and no red or gold. Here's what sets it apart, who it suits, what to ask your colorist for and how to keep it looking fresh.
Ash brown hair at a glance
- Type: Brown
- Tone: Cool
- Lightening needed: Often a light pre-lightening, since removing warmth from dark hair requires lifting it first.
- Maintenance: Medium
- Touch-ups: 6 to 8 weeks, with toner refreshes
What makes it different
It looks smoky and soft. It's the usual choice for people who dislike the reddish, brassy tones that brown hair shows in sunlight.
Who it suits
Cool and neutral undertones, and olive skin. It can look flat against very golden skin.
Not sure whether you're warm or cool? See how to find your undertone and the best hair color for your skin tone, or get your full palette with the free color analysis.
What to ask your colorist
- Ask for a cool, ash-toned brown with no warmth.
- Say light, medium or dark.
- Ask how to keep it from turning brassy.
- Bring photos taken in daylight, and say what you don't want as well as what you do.
How to maintain it
Use blue shampoo weekly to neutralize orange, and get a cool gloss every 4 to 6 weeks.
Shades and variations
- Light ash brown: close to mushroom brown.
- Dark ash brown: deep and smoky.
- Ash brown balayage: cool ribbons on dark hair.
Try it before you dye
Color is hard to undo. Upload a selfie to the AI hair color changer and see ash brown hair on your own hair before you book.
Related hair colors
- Mushroom brown hair
- Ash blonde hair
- Light brown hair
- Dark brown hair
- Hair gloss
- All hair color ideas
FAQ
What is ash brown hair?
Ash brown is a cool-toned brown with gray or silver undertones and no red or gold.
Who suits ash brown hair?
Cool and neutral undertones, and olive skin. It can look flat against very golden skin.
Do you need bleach for ash brown hair?
Often a light pre-lightening, since removing warmth from dark hair requires lifting it first.
How often does it need touching up?
About every 6 to 8 weeks, with toner refreshes.



