Free · runs on your device
Hair Color Changer: Try On Hair Color on Your Photo
Add one photo and try hair color on your own hair: ten levels from black to lightest blonde, six tones, fashion shades or any color you pick, with a before and after. It reads the level your hair is now and says what the change takes. It is a recolor filter that keeps your own strands and shine, not an AI-generated picture, and your photo is never uploaded.
CostFree
TimeUnder 1 min
SignupNone
DataStays on device

Hair mask + recolor
Step 1 of 2 · your photo
Add a photo of your hair
Face the camera with your hair in frame and nothing on your head. Even light from the front; daylight shows the truest color.
How it works
Add your photo
Camera or upload, either works.
Mapped in your browser
Your hair found pixel by pixel and recolored, entirely on your device.
Your measured result
Numbers and lines drawn on your photo.
On-device · never uploaded
A recolor, not AI generation
Free · no signup
Start your glow up
SkinPal on iPhone and Android
Next step · SkinPal app
Your hair color frames your face. SkinPal works on the rest.
A new color is one change. SkinPal builds your glow up plan for the whole look: styling, skin care, exercise and daily habits. It reminds you every day and shows your before and after, week by week.




What you unlock in the app
- Full face analysisProportions, symmetry and skin, measured from one selfie
- Full skin report cardSee what's good and what needs work, from acne to skin age
- Heatmaps of your faceSee exactly where redness, oil and breakouts are
- Flare, your AI skin coachAsk anything, get answers based on your own face
- Morning and night routineMade for you, and it changes as you improve
- Ingredient scannerKnow if a product suits you before you buy it
- Progress trackingSee your before and after, week by week
The science
How the hair color changer works
01
It works in three steps, all in your browser. First it finds your hair: MediaPipe’s multiclass selfie segmenter, a 16.4 MB model from Google, labels every pixel of your photo as hair, face, body, clothes or background. It looks at the photo at 256 by 256 pixels, so its edge is soft at full size, and a guided filter (He, Sun and Tang, 2013) refits that edge to the strands in your photo. Where a pixel mixes hair and background, as flyaways and curls do, its share of hair is read from how far its color sits between the two, so it takes only that share of the new color.
02
Then it recolors your hair in CIELAB, a color space that keeps lightness apart from color. The median lightness of your hair moves to the shade’s, and every strand keeps its place around it: the spread of light and dark is scaled to what hair of that level shows in photos, measured on 610 reference photos, so shadows stay shadows and shine stays shine. Strands in shadow carry less color and shine fades toward white, as in real hair. Nothing is generated: the result is your own photo with the color of your hair changed, pixel by pixel.
03
Last it reads the level your hair is now: the median lightness of your hair in the photo, against cut-offs set on 342 reference photos whose levels were called by eye. The range it shows held that call 80% of the time in cross-validation; the single level matched 37% of the time and was within one level 71%. A photo cannot tell black from dark brown (of the 207 photos called level 1 to 3 by eye, 169 read 1 to 3), so those read as one range, levels 1 to 3. Light, dye and gray move the reading, so it is a starting point for the color wheel, not a colorist’s call.
Hair color levels chart: 1 to 10
Every hair color chart starts with the level, the lightness of the hair from 1, black, to 10, the lightest blonde. The tone comes second: natural, ash (cool), gold, copper, red or violet. The try-on’s swatches are laid out the same way, ten levels by six tones, so a swatch is a level and a tone you can ask a colorist for.
The third column is the lightness (L*, 0 black to 100 white) of each level’s hair as a camera records it, measured on 342 reference photos with levels called by eye, fitted so each level is lighter than the one before. It is what the changer reads your photo against, and the lightness each swatch takes your hair to. The last two columns are what lifting hair to that level shows and the toner that cancels it.
| Level | Name | Hair L* in a photo | Lifting to it shows | Canceled by |
|---|---|---|---|---|
| 1 | Black | 8.8 | Darkest level, nothing to lift to | No toner |
| 2 | Darkest brown | 11.8 | red | green |
| 3 | Dark brown | 15.9 | red | green |
| 4 | Medium brown | 20.9 | red | green |
| 5 | Light brown | 27.0 | orange to red-orange | blue |
| 6 | Dark blonde | 34.1 | orange to red-orange | blue |
| 7 | Medium blonde | 42.2 | yellow to orange (gold) | blue-violet |
| 8 | Light blonde | 51.4 | yellow to orange (gold) | blue-violet |
| 9 | Very light blonde | 61.6 | pale yellow | violet |
| 10 | Lightest blonde | 72.8 | pale yellow | violet |
The level names follow the cosmetology board charts; brands word levels 2 and 10 slightly differently. Charts also differ by about a level on the pigment column, so read it as a band: red up to level 4, orange around 5 and 6, gold around 7 and 8, pale yellow at 9 and 10.
What level is my hair? How the reading works
The changer takes the median lightness of the pixels it is sure are hair and places it between the levels in the chart above, halfway between neighbors. It shows the level with one either side, Level 6 (5 to 7), because that is the honest precision of a photo: on 342 reference photos the shown range held the level called by eye 80% of the time, and the four bands of the chart (1 to 3, 4 and 5, 6 and 7, 8 to 10) matched 74% of the time. Of 207 photos called black to dark brown, 169 read levels 1 to 3, so those levels read as one.
The same photo read again came back on the same level 80% of the time across 3,624 versions (a little darker and brighter, recompressed, half size, mirrored and cropped). Exposure moves it most: a photo 15% darker read 3.1 L* darker at the median and kept its level 46% of the time, 15% brighter 2.6 lighter and 58%. Shoot in even daylight, facing the light, for the truest level.
It reads the lightness of what the photo shows, so dyed hair reads its dyed level and gray or white hair reads as a light level: the level scale describes pigment, and the changer cannot tell gray from blonde. Highlights and roots average into one level. It is a cosmetic reading, not a colorist’s consultation.
Hair color wheel: which toner cancels brass
Lightening breaks down the dark pigment in hair first, and the warm pigment underneath shows: red at the darker levels, then orange, gold and pale yellow as the hair gets lighter. That warmth is the brass. A toner cancels it with the color opposite it on the color wheel: green cancels red, blue cancels orange, violet cancels yellow (Behind the Chair’s color wheel reference card).
- Step 1Levels 1 to 4: lifting shows red, canceled by green.
- Step 2Levels 5 to 6: lifting shows orange to red-orange, canceled by blue.
- Step 3Levels 7 to 8: lifting shows yellow to orange (gold), canceled by blue-violet.
- Step 4Levels 9 to 10: lifting shows pale yellow, canceled by violet.
When you tap a lighter shade, the result names the warmth that level shows and its toner. Gold, copper and red shades keep part of that warmth on purpose; ash and natural shades cancel it. Purple shampoo is a violet toner for pale yellow, which is why it suits pale blonde, while orange brass needs blue.
How many levels lighter can you go? Dye, developer and bleach
The result compares the shade with the level your hair reads now and puts the change in one of four groups. Darker: color is deposited, not lifted, and the American Academy of Dermatology says dyeing darker is typically better for hair than lighter. About your level: only the tone changes, which a demi-permanent color or a gloss can deposit. Up to 3 levels lighter: within the 3 shades of your natural color the AAD suggests staying inside. More than 3 lighter: past that line, where the AAD notes stronger peroxide and more damage.
For lifts the result also names the developer: 20 volume developer lifts 1 to 2 levels; 30 volume developer lifts 2 to 3 levels; 40 volume developer lifts 3 to 4 levels, and is used off the scalp only (Behind the Chair’s card). Past 4 levels, colorists lighten with bleach first and tone after. Fashion shades such as pink, lavender and silver are usually lighter than the hair underneath: a dye that only deposits color cannot make hair lighter, so the result says how far your hair has to be lifted first.
Whatever you choose, test store-bought color before you use it, as the box says. A rash, redness, swelling, burning or itching is an allergic reaction to the dye (AAD): stop, and a dermatologist can test you for it.
Shades for your skin tone and color season
The try-on shows a color on you; it does not judge whether it suits you. For shades picked for your skin, the hair color for skin tone matcher takes your depth and undertone and suggests four hair color families, and its result opens them here as swatches on your photo. The color season analysis reads your skin, hair and eyes for a 12-season palette, and the undertone test reads warm, cool, neutral or olive from a photo.
The before and after divider puts your skin next to both colors in the same light, and tapping the tones on one level shows how ash, gold, copper, red and violet change the same lightness. For the cut to go with the color, the hairstyle finder matches cuts to your face shape.
How to take a photo for the virtual hair color try on
The changer works on any photo with your hair in it. These make the matte cleanest and the level reading truest.
- Step 1Face the light: daylight from a window in front of you, not behind you, and no colored lamps.
- Step 2Get all of your hair in the frame, worn the way you usually wear it, with nothing on your head.
- Step 3A plain background that is not close to your hair color: the one large spill on the reference photos was onto a background near the hair’s color.
- Step 4Keep the camera at eye level, about an arm’s length away. A front or three-quarter view both work.
What the try-on can and cannot show
Checked by eye on 48 reference photos picked at random, the matte covered the hair cleanly on 43, missed or spilled a little on 4 (the ends of long hair, a microphone in front), and spilled onto a background close to the hair’s color on 1. Recolored to each level’s natural swatch and read again, 95% of 6,100 recolors read the swatch’s own level and all were within one, so the swatches land where the chart says.
On a laptop an 800 by 1000 photo is ready in about 0.4 seconds and each shade takes about 3 ms; with the processor slowed 4 times, a stand-in for a phone, about 1.7 seconds and 11 ms. The model is fetched once, 16.4 MB, with the share loaded shown on screen.
It colors all of the hair the photo shows at once, so balayage, highlights and roots are not drawn as separate pieces. Beards and eyebrows keep their color, because the segmenter counts them as face. Very dark hair in a dim photo has little texture to keep, so light shades look flatter on it; a brighter photo shows more strands. And a real dye result depends on your starting level, any color already in your hair and how porous it is, none of which a photo can see.
FAQ
Common questions
Is this hair color changer free?+
Yes. The try-on is free, with no signup and no limit on shades: add one photo and tap as many colors as you like. Saving a result writes the picture straight to your device.
Is this an AI hair color changer?+
Only the part that finds your hair. That is a machine learning model, MediaPipe’s selfie segmenter, and it runs on your device. The color change is not generative AI: it is a hair color filter that moves your own hair’s color in CIELAB and keeps every strand, shadow and highlight of your photo. It never invents hair, a new cut or a new face.
Is my photo uploaded?+
No. The model downloads to your browser once (16.4 MB, then the browser keeps it), and the hair matte, the level reading and every recolor run on your device. Nothing about the photo is sent anywhere.
How do I change my hair color in a photo?+
Add the photo, wait a few seconds while your hair is found, then tap a level and a tone, a fashion shade, or pick any color. Drag the divider across the photo to compare before and after, and save the version you like. Each tap recolors the same photo, so you can try on hair dye shades before you buy one.
What level is my hair?+
Add a photo and the changer reads it from the median lightness of your hair: Level 6 (5 to 7) means it reads dark blonde and is most likely level 5, 6 or 7. On 342 reference photos that range held the level called by eye 80% of the time. Black to dark brown reads as levels 1 to 3 together, because a photo cannot separate them. Daylight from the front gives the truest reading.
What do hair color levels 1 to 10 mean?+
The level is how light or dark the hair is: 1 black, 2 darkest brown, 3 dark brown, 4 medium brown, 5 light brown, 6 dark blonde, 7 medium blonde, 8 light blonde, 9 very light blonde and 10 lightest blonde. The tone is the color on top of the level, such as ash, gold or copper, so a shade sold as 7G is a level 7 with a gold tone. Brands number their tones differently, but the 1 to 10 levels are shared.
How many levels lighter can I go at once?+
Permanent color with developer lifts about 1 to 4 levels: 20 volume 1 to 2, 30 volume 2 to 3, and 40 volume 3 to 4, off the scalp only (Behind the Chair’s color reference card). Past 4 levels, colorists lighten with bleach first and tone after. The American Academy of Dermatology suggests a dye within 3 shades of your natural color, because lightening further takes stronger peroxide and does more damage.
What toner do I need for brassy hair?+
The color opposite the brass on the color wheel. Pale yellow, at levels 9 and 10, is canceled by violet, the purple in purple shampoo. Yellow to orange, at levels 7 and 8, by blue-violet. Orange to red-orange, at levels 5 and 6, by blue. Red, at level 4 and darker, by green. Charts differ by about a level, so match the toner to the warmth you can see.
Why did my beard and eyebrows not change color?+
The segmenter that finds your hair counts beards and eyebrows as part of the face, so the changer leaves them as they are. Only the hair on your head is recolored.
Does the hair color changer work on curly, short or gray hair?+
Curly and coily hair work: the guided filter keeps the edge of the curls, and the background between them keeps its color. Short hair works when it shows in the photo. Gray and white hair recolor well too, but the level reading measures lightness, so white hair reads as a light level rather than as gray.
Why does the try-on look different from the color on the box?+
Each swatch takes your hair to the lightness hair of that level has in photos, measured on 342 reference photos, with its shadows and shine, while a box shows a flat printed chip. The real result of a dye also depends on the level you start from and on any color already in your hair.