Calculate average damage multiplier and check your 1:2 ratio.
%
%
Average Damage Increase:–
Current Ratio (CR:CD):–
Crit Value (CV):–
Understanding Crit Rate & Crit Damage in Genshin Impact
Optimizing your character's damage output in Genshin Impact often revolves around finding the perfect balance between Critical Rate (CR) and Critical Damage (CD). While Attack (ATK), Elemental Mastery (EM), and Energy Recharge (ER) are vital, the Crit stats act as a massive multiplier for your total damage ceiling.
The Golden Ratio: 1:2
The mathematical standard for maximizing average Damage Per Second (DPS) is the 1:2 ratio. This means for every 1% of Crit Rate, you should aim for 2% of Crit Damage. This ratio is derived from the way stat budgets work in artifacts and weapons:
A max roll Crit Rate substat is typically 3.9%.
A max roll Crit Damage substat is typically 7.8%.
Because the game values Crit Damage at exactly half the "cost" of Crit Rate, maintaining a 1:2 balance yields the highest mathematical return on investment until you reach very high stats.
Average Damage Formula
This calculator uses the standard average damage multiplier formula used by theorycrafters:
Note that Crit Rate is capped at 100% for the calculation. Having 120% Crit Rate provides no additional damage benefit over 100%, making any excess stat points wasted.
What is Crit Value (CV)?
Crit Value is a metric used by the community to judge the quality of artifacts. It combines both stats into a single number to easily compare pieces. The formula is:
CV = (Crit Rate × 2) + Crit Damage
Generally, an artifact with over 30 CV is considered great, while anything over 40 CV is considered "god-tier."
function calculateGenshinCrit() {
// 1. Get input values
var crInput = document.getElementById('critRate').value;
var cdInput = document.getElementById('critDamage').value;
var resultBox = document.getElementById('results');
var avgDmgSpan = document.getElementById('avgDmgResult');
var ratioSpan = document.getElementById('ratioResult');
var cvSpan = document.getElementById('cvResult');
var analysisBox = document.getElementById('analysisBox');
// 2. Validate inputs
if (crInput === " || cdInput === ") {
alert("Please enter both Crit Rate and Crit Damage values.");
return;
}
var cr = parseFloat(crInput);
var cd = parseFloat(cdInput);
if (isNaN(cr) || isNaN(cd) || cr < 0 || cd 100 ? 100 : cr;
// Average Damage Multiplier: 1 + (CR% * CD%)
// Example: 50% CR, 100% CD = 1 + (0.5 * 1.0) = 1.5x damage on average
var avgMultiplier = 1 + ((effectiveCR / 100) * (cd / 100));
var percentageIncrease = (avgMultiplier – 1) * 100;
// Crit Value (CV): CR * 2 + CD
var cv = (cr * 2) + cd;
// Ratio Analysis
var optimalCD = cr * 2;
var ratioText = "1 : " + (cd / cr).toFixed(2);
// 4. Determine Advice/Status
var analysisHTML = "";
var badgeClass = "";
var badgeText = "";
var adviceText = "";
// Check for Overcapped Crit Rate
if (cr > 100) {
badgeClass = "badge-warn";
badgeText = "Crit Rate Overcapped";
adviceText = "Your Crit Rate is over 100%. You are wasting stats! Reduce Rate and increase Damage or Attack.";
} else {
// Check Ratio deviation
// Perfect ratio line is CD = 2 * CR
// Acceptable variance is subjective, usually within 10-20%
var deviation = cd – (cr * 2);
if (cr < 25) {
badgeClass = "badge-bad";
badgeText = "Crit Rate Too Low";
adviceText = "Your Crit Rate is extremely low. Focus on getting Rate to at least 50% before worrying about Ratio.";
} else if (Math.abs(deviation) 20) {
// Too much CD, not enough CR
badgeClass = "badge-warn";
badgeText = "Unbalanced: Too Much Crit Dmg";
adviceText = "You have too much Crit Damage relative to your Crit Rate. You would deal more consistent damage by swapping some CD for CR.";
} else {
// deviation 70 && cd < 140) {
badgeClass = "badge-warn";
badgeText = "Good Rate / Low Damage";
adviceText = "Your consistency is great, but your damage ceiling is limited. Try to increase Crit Damage now.";
} else {
badgeClass = "badge-warn";
badgeText = "Unbalanced: Too Much Crit Rate";
adviceText = "Your Crit Rate is high relative to your Crit Damage. Try to trade some Rate for Damage to hit the 1:2 ratio.";
}
}
}
// 5. Update UI
resultBox.style.display = "block";
avgDmgSpan.innerHTML = "+" + percentageIncrease.toFixed(2) + "%";
ratioSpan.innerHTML = ratioText;
cvSpan.innerHTML = cv.toFixed(1);
analysisBox.innerHTML = '