Dota 2 DPS Calculator

Calculate your real Dota 2 damage per second with correct formulas.

Enter your Dota 2 weapon damage, attack speed, crit, and target armor to compute accurate DPS using the game's actual attack-speed and armor formulas — ideal for comparing builds and gear upgrades.

How is attacks per second calculated in Dota 2?

Attacks per second = (1 / base attack time) × (attack speed ÷ 100), where attack speed is 100 plus bonus IAS from agility and items. Attack speed is capped between 20 and 700.

Compare Dota 2 builds with real DPS numbers

Picking between two items often comes down to which one actually raises your damage per second — and the answer is not always the bigger number on the tooltip. This calculator uses Dota 2’s real attack-speed and armor formulas so you can compare builds, gear, and buffs with confidence.

How it works

Your attacks per second come from the engine formula:

attacks_per_second = (1 / base_attack_time) * (attack_speed / 100)

Base attack time is 1.7 seconds for most heroes, and attack speed is 100 + bonus IAS, clamped between 20 and 700. Raw DPS is damage × attacks_per_second. Crit is added as expected value: 1 + crit_chance × (crit_multiplier − 1).

To get effective DPS against a real target, armor reduces physical damage:

reduction = (0.06 * armor) / (1 + 0.06 * |armor|)
effective_dps = raw_dps * (1 - reduction)

Example and tips

A hero with 120 damage, 1.7 BAT, and 150 bonus attack speed lands (1/1.7) × (250/100) ≈ 1.47 attacks per second, for about 176 raw DPS. Against a target with 10 armor (≈37.5% reduction), effective DPS drops to about 110. Because attack-speed and damage multiply, the best item is usually the one that pushes your weaker stat — if you already have high damage, more attack speed often wins, and vice versa. Use the target-armor field to test how an enemy’s defensive items change your real output.