Damage Calculator

Enter your character stats + skill multiplier + enemy info → get non-crit / crit / average damage using the game's real formula.

Pick the right DAMAGE TYPE for your character

Four totally different formulas — pick the right button below: CRIT (most DPS) · BREAK (Boothill, Rappa) · SUPER BREAK (Firefly, Harmony teams) · DoT (Kafka, Black Swan — damage over time).

Formula & limits of this calculator

This page calculates the damage of a SINGLE hit in Honkai: Star Rail using the exact multiplicative-zone formula the community relies on: enter ATK + skill multiplier + crit rate/DMG + damage boost, plus the enemy's defense/resistance/vulnerability, and the tool multiplies each zone in sequence to output non-crit / crit / average damage — plus two separate modes for Break and Super Break. Every constant has a golden-test (scripts/damage-test.mjs) checking it against a specific number, nothing made up.

Enter your UID → tap a character on your team → it auto-fills your exact ATK, crit and elemental DMG. No typing.
Enter your final ATK (base + light cone + relics). See in-game or use the UID tool.
The % of ATK the hit deals, e.g. an Ultimate at 200% → enter 200.
Total DMG bonus (element + skill + buffs).
Fire Erudition
Damage per hit — Himeko
CRIT!
Non-crit
Average
On crit
Enemy & defense

What is the Damage Calculator?

A tool that computes exactly how much a hit deals in Honkai: Star Rail. Enter your character stats (ATK, crit…), the skill multiplier and enemy info, and it applies the game's real formula to give three numbers: non-crit, crit, and average. Use it to compare builds, pick characters, or understand why your hits land soft or hard.

How to use — 3 steps

  1. Step 1: Enter your character stats — ATK, CRIT Rate & DMG, DMG Bonus % (grab them fast with the UID Build tool).
  2. Step 2: Enter the skill multiplier (%) of the hit you want — see the Skills section on the character page.
  3. Step 3: Set the enemy level & RES, toggle 'Weakness Broken' if the enemy is broken. Results appear instantly.
The formula (transparent)

Damage = (Multiplier × ATK) × (1 + DMG%) × DEF multiplier × RES multiplier × (1 + Vulnerability) × Break multiplier. Where DEF multiplier = 100 / ((EnemyLvl + 20) × (1 − DEF reduction%) + 100); on crit multiply by (1 + CRIT DMG); average = 1 + CRIT Rate × CRIT DMG; an unbroken enemy takes 90%.

Glossary

Frequently asked questions

Where do I find the skill multiplier?

On the character page, the 'Skills' section lists each hit's damage %. Enter that % into the multiplier field.

Why three numbers?

Crits are random: 'non-crit' is when you don't crit, 'on crit' is when you do, and 'average' is the long-run expectation — use the average to compare builds.

What enemy level should I use?

Around level 85–95 (endgame bosses). The higher the level, the more DEF and the less damage.

Is this accurate?

Yes. We use HSR's real multiplicative formula (DEF, RES, break, crit) — the core formula every damage tool relies on.

The full formula: damage is a PRODUCT of multiple zones, not a sum

A hit in HSR doesn't add up stats — it MULTIPLIES through independent zones: base damage (skill multiplier % × ATK), then (1 + DMG boost%), then the enemy's DEF multiplier (the higher the enemy's defense, the smaller this factor gets), then the RES multiplier (enemy elemental resistance minus your RES penetration), then (1 + Vulnerability%), and finally the Broken multiplier: an enemy that hasn't been weakness-broken only takes 90% damage (×0.9), a broken one takes the full 100% (×1.0) — that 10% universal reduction is confirmed even on HoYoLAB's own official wiki.

Because zones MULTIPLY rather than add, a stat that's already high usually gives a smaller marginal gain than boosting one that's still low — which is why dumping everything into one single stat (say, only chasing ATK% while ignoring RES/vulnerability) usually underperforms a balanced spread across zones.

What this tool actually calculates

The first three modes (Crit, Break, Super Break) all run on the same core functions in damage-math.js: Crit mode returns three numbers — non-crit, crit (multiplied by 1 + CRIT DMG), and expected average (multiplied by 1 + CRIT Rate × CRIT DMG, the actual probability formula).

Break uses a base constant of BREAK_BASE = 3767.5533 (Level-80 benchmark) multiplied by an element coefficient (Physical/Fire = 2.0, Wind = 1.5, Ice/Lightning = 1.0, Quantum/Imaginary = 0.5) and enemy toughness, then multiplied by Break Effect. Super Break scales off toughness shredded per hit rather than total toughness, multiplied by the specific super-break coefficient of the skill (e.g. Harmony trailblazer).

All these constants are copied directly from Fribbels hsr-optimizer's open-source code — the calculator the community still treats as a benchmark — and each is verified by a golden-test against a specific number (e.g. Fire-element Break at 200% BE, 360 toughness, Level-90 enemy must come out to exactly 37675.5).

How to use it: 3 ways to fill in numbers + 4 damage modes

There are three ways to fill in stats: (1) paste your UID so the page pulls your REAL build from your account and you just click a character — 100% accurate since it uses your actual live stats, no guessing; (2) without a UID, click any character to grab their base Level-80 ATK as a reference point and manually tweak the rest; (3) type everything in by hand if you already have a build calculated outside the game.

Once your stats are in, pick the right damage MODE from the row of buttons above: Crit (most regular DPS), Break (instant weakness-break hit), Super Break (Firefly/Boothill/Herta-style continuous super-break mechanics), or DoT. Each mode only shows the input group it actually needs — Break/Super Break add Break Effect and toughness fields, Crit adds CRIT Rate/DMG fields.

Reading the result: why Crit mode shows 3 numbers

Crits in HSR are RANDOM based on a percentage chance, not guaranteed on every hit — so the page returns three numbers covering both ends of that probability: non-crit is what you get when you DON'T crit, crit is what you get WHEN you do crit (always higher), and average is the mathematical expectation across many hits at your entered CRIT Rate/DMG — this is the number to use when comparing builds, since it already folds both outcomes together at their real probability.

Break/Super Break only show one number because neither of those damage types can crit — there is no "when-crit" case there.

Honest limits — what this tool can't do yet

To be upfront: the DoT mode on this page is an APPROXIMATION — it reuses the exact non-crit hit formula with a per-tick coefficient you enter yourself, NOT the game's dedicated DoT formula (Burn/Shock/Wind Shear/Bleed use their own coefficient math and a few different zones than a regular hit). For numbers accurate to the last percentage point, cross-check against a dedicated DoT formula source like the Fandom wiki or wikiwiki.jp.

The page also does NOT yet do: cumulative TEAM damage across your whole squad (it only calculates one character/one hit at a time), side-by-side build COMPARISON, saving/sharing builds, or ROTATION/action-value damage sequencing like some community optimizers offer. These are roadmap items, not formula errors.

One thing worth flagging when reading numbers: the DEF multiplier here uses the SIMPLIFIED form 100/(enemy level + 20 + 100), which matches the full formula (200 + 10×attacker level)/(EnemyDEF + 200 + 10×attacker level) ASSUMING your attacking character is Level 80 (the most common endgame benchmark). If your character isn't Level 80 yet, real in-game numbers will drift slightly from this simplified version.

Why the Break coefficients say "per community source", not "official"

The Break base constant (3767.5533 at Level 80) and its per-element coefficients were never officially published by HoYoverse — the entire community, including the largest optimizers, pulls them from ONE single origin: Fribbels hsr-optimizer's open-source code, unofficially treated as the community benchmark. Because there's only one source, this page explicitly labels them "per community source (Fribbels) + golden-test" rather than claiming official HoYoverse data — the golden-test (scripts/damage-test.mjs) is how you can always verify the formula still matches the published numbers.

Frequently asked questions

Why is the "average" number so different from the "crit" number for the same build?

Because crits are random. "Crit" is the outcome ONLY when you land a critical hit (always the highest possible number); "average" already factors in your chance to actually crit (CRIT Rate), so it comes out lower — this is the number that best reflects real damage across many hits, so use it for build comparisons instead of only looking at the "crit" figure.

Is the DoT mode 100% accurate to Burn/Shock in-game?

Not yet. It's an APPROXIMATION reusing the non-crit hit formula. Real in-game DoT has its own coefficient math per type (Burn/Shock/Wind Shear/Bleed) and isn't entirely identical to a manual hit. For pixel-perfect DoT numbers, cross-reference a dedicated DoT formula source.

Why isn't there a field for the attacking character's level in the DEF multiplier?

Because the formula used here is a SIMPLIFIED form that assumes the attacking character is Level 80 (the most common endgame benchmark). It matches the full formula exactly under that condition; if your character isn't Level 80 yet, actual in-game numbers will drift slightly from what the page returns.

Why does the Break element multiplier only cite one source?

Because HoYoverse has never officially published these constants. The entire community — including the largest optimizers — pulls them from the same single open-source project (Fribbels hsr-optimizer). This page labels them clearly as "per community source", not official data, and includes a golden-test so you can verify them yourself.

Why is there no threshold for "what counts as good damage"?

Because a raw damage number depends entirely on the character, skill, and enemy conditions you enter — there's no universal benchmark that applies across the board. The right way to use this is comparing the SAME character's damage across two different builds (say, swapping one relic), or checking against a community-sample build for that specific character.

Up next for you…