Achieving the perfect hair color often involves custom mixing. This calculator provides a guideline for mixing permanent hair color based on the starting hair color, the desired result, and the total volume of color needed. It's important to remember that this is a simplified model, and factors like hair porosity, previous color treatments, and specific product formulations can influence the final outcome. Always perform a strand test before applying color to your entire head.
How the Calculator Works:
The calculator uses a simplified approach to determine the proportions of different color components needed:
Base Color Level: This refers to the natural or current lightness/darkness of the hair, typically on a scale of 1 (black) to 10 (lightest blonde).
Desired Color Level: The target lightness/darkness of the hair after coloring.
Desired Tone: This is the hue or undertone you wish to achieve. Tones are often categorized as warm (gold, red, copper) or cool (ash, violet, blue).
Total Color Volume (ml): The total amount of mixed color you plan to use.
The Underlying Principle: Color Correction and Toning
Hair coloring involves two main aspects:
Level Adjustment: Lightening or darkening the hair to the desired depth. Lighter colors generally use higher volumes of developer, while darker colors use lower volumes. The calculator doesn't directly determine developer, but the *proportion* of color can influence how much the base level is shifted.
Tone Adjustment: Neutralizing unwanted underlying pigments (like yellow or orange tones exposed during lightening) or adding desired tones.
Cooling Tones (Ash, Violet, Blue): Used to neutralize warm undertones (yellow, orange). For example, blue neutralizes orange, and violet neutralizes yellow.
Warming Tones (Gold, Red, Copper): Used to add warmth or achieve warm results.
Neutral Tones: Used to create natural-looking results or balance out extremes.
Calculating Proportions:
The calculator aims to provide a starting point. Generally, when lifting color (going lighter), you might use more of a "target" shade or a toner. When depositing color (going darker), you're primarily working with the dye's pigments.
The simplified logic here is to determine if a modifier color (like ash or gold) needs to be added or if a neutral base is sufficient.
If the desired tone is significantly different from the undertones typically found at the base level, a corrective or modifying color might be recommended.
For example, if you have a Level 7 (Orange-Yellow undertone) and want a Level 8 Ash (Yellow undertone), you'll need a color with blue to counteract the yellow.
If you have a Level 7 (Orange-Yellow) and want a Level 8 Gold (Yellow undertone), you might use a gold-based color.
The percentage calculations are based on a general understanding of color theory:
If Base Level is lighter than Desired Level: This typically means depositing color or using a toner. The focus is on adding the desired tone.
If Base Level is darker than Desired Level: This means lightening is required, which is usually done with bleach and developer, followed by toning. This calculator assumes you're mixing a permanent color to *deposit* or *slightly lift/darken*. For significant lightening, professional consultation and bleach are typically necessary first.
Tone Modifiers: The calculator suggests adding a "modifier" (like ash or gold) based on the difference between the base and desired level and tone. For instance, moving from a darker, warmer base to a lighter, cooler tone often requires a specific color with blue or violet components.
Example Scenario:
Let's say your hair is a Level 7 (Orange undertone) and you want a Level 8 Beige color. You need 60ml of color.
Base Color Level: 7
Desired Color Level: 8
Desired Tone: Beige (often a mix of neutral, with a hint of violet to counteract residual yellow).
Total Color Volume: 60ml
The calculator might suggest something like:
Base Color (e.g., Level 8 Neutral or Gold): 45ml (75% of total)
Toner/Modifier (e.g., a very light violet or ash): 15ml (25% of total)
This ensures you achieve the desired lightness while adding the subtle beige tone and neutralizing any lingering warmth.
Disclaimer: Professional results require professional knowledge. This calculator is a tool for estimation and should be used in conjunction with your understanding of hair color theory and product specifics. Always consult with a professional colorist for complex color changes.
function calculateHairMix() {
var baseColorLevel = parseFloat(document.getElementById("baseColorLevel").value);
var desiredColorLevel = parseFloat(document.getElementById("desiredColorLevel").value);
var desiredTone = document.getElementById("desiredTone").value;
var colorAmountMl = parseFloat(document.getElementById("colorAmountMl").value);
var resultDiv = document.getElementById("result");
// Basic validation
if (isNaN(baseColorLevel) || isNaN(desiredColorLevel) || isNaN(colorAmountMl) || baseColorLevel 10 || desiredColorLevel 10 || colorAmountMl = 1.5) { // Significantly lighter – likely needs toning after lifting or a specific toner mix
// For simplicity, we assume a base color that can slightly lift, or a toner mix
// A common approach for going lighter is bleach + toner. This calculator focuses on direct dye mixes.
// If lifting is needed, more complex formulas involving bleach strength and developer are required.
// Here, we'll suggest a mix focusing on adding the tone to a slightly lighter base.
baseColorAmount = colorAmountMl * 0.6; // 60% main color
modifierColorAmount = colorAmountMl * 0.4; // 40% toner/modifier
resultText = "To lift and tone: ";
} else if (levelDifference <= -1.5) { // Significantly darker – depositing color
baseColorAmount = colorAmountMl * 0.9; // 90% main color for depositing
modifierColorAmount = colorAmountMl * 0.1; // 10% for subtle tone adjustment
resultText = "To deposit color: ";
} else { // Small difference or same level – focusing on tone
baseColorAmount = colorAmountMl * 0.75; // 75% main color
modifierColorAmount = colorAmountMl * 0.25; // 25% modifier/toner
resultText = "To adjust tone: ";
}
// Tone adjustment logic (simplified)
// This is a highly simplified representation of tone mixing
// Ash tones (blue/violet) counteract yellow/orange.
// Gold tones (yellow/orange) add warmth.
// Violet tones (violet) counteract yellow.
// Red tones (red) add warmth.
// Beige is often neutral with a touch of violet or ash.
var modifierColorType = "Neutral Base/Color"; // Default
if (desiredTone === "ash") {
if (baseColorLevel <= 5) modifierColorType = "Blue/Ash Modifier"; // Counteract orange/red
else modifierColorType = "Violet/Ash Modifier"; // Counteract yellow
} else if (desiredTone === "gold") {
modifierColorType = "Gold/Yellow Modifier"; // Add warmth
} else if (desiredTone === "red") {
modifierColorType = "Red Modifier"; // Add warmth
} else if (desiredTone === "violet") {
modifierColorType = "Violet Modifier"; // Add violet tone
} else if (desiredTone === "beige") {
if (baseColorLevel colorAmountMl) {
modifierColorAmount = colorAmountMl – baseColorAmount;
modifierColorAmount = Math.max(0, modifierColorAmount); // Ensure not negative
} else if (baseColorAmount + modifierColorAmount < colorAmountMl) {
baseColorAmount = colorAmountMl – modifierColorAmount;
baseColorAmount = Math.max(0, baseColorAmount); // Ensure not negative
}
resultText += `
Main Color Component: ${baseColorAmount.toFixed(1)} ml
Modifier/Toner Component (${modifierColorType}): ${modifierColorAmount.toFixed(1)} ml
Mix ${baseColorAmount.toFixed(1)}ml of your chosen base shade with ${modifierColorAmount.toFixed(1)}ml of a shade with ${modifierColorType} undertones. Always follow manufacturer instructions for mixing ratios and developer.
`;
resultDiv.innerHTML = resultText;
resultDiv.style.backgroundColor = "var(–success-green)"; // Green for success
}