Armor

Armor is an attribute of characters which reduces incoming damage towards the character's hit points. Armor does not apply to shields, which take 150% damage from Freeze Damage and 100% from everything else without resistance.

Damage after Armor is calculated using the following formula:

Final Damage = Modded Damage * Damage Mitigation

Damage Calculation with Armor
As of Update 11:

Damage Mitigation = 1 - (Armor / (Armor + 300))

THUS,

Final Damage = Modded Damage * 1 - (Armor / (Armor + 300))

Note that the damage mitigation value is the percentage of damage that will pass through armor.

For example, The Lecta does 35 base electric damage unmodded, which will have no elemental damage multipliers against Grineer. Attacking a level 1 Grineer lancer with a base armor of 100 will result in 26 health damage. This is because 35 * (100/(100+300)) evaluates to 26.25, but since all damage numbers are rounded, we get 26.

If we attack a Grineer Trooper instead, who has 150 armor at level 1, we will deal 23 health damage with our Lecta, because 35 * (150/(150+300)) evaluates to 23.33, and again is rounded to 23 on screen.

Armor Graphed
This graph displays damage mitigation as a function of armor in blue, and the efficiency of armor as it is added in red.

From this you can see that armor becomes less effective at mitigation over time, meaning as an enemy or frame increases in armor linearly, their damage mitigation per point of armor is reduced exponentially, granting diminishing returns on further armor increases.

A frame with 100 armor will negate 25% of damage, or .25% per point of armor.

While a frame of 300 armor will negate 50% of damage, each point of armor accounts for only .16% per point.

Warframe Armor & Effective Health
All Warframes have an armor value, and thus, damage mitigation. The calculations for a warframes recieved damage are the same as above, but additionally, you can calculate a Warframe's Effective Health, which is how much damage you need to take to reach 0 health, given your current health and armor. The Effective health formula is:

(Current Health * 100) / (100-mitigation)

For example, A level 30 Valkyr will have 300 health, and 300 armor. Her Effective Health at level 30 would then be 600 because (300 * 100) / (100 - 50) evaluates to 600, so she could take that much damage before actually going down.

A level 30 Valkyr with a maxed Steel Fiber would still have 300 health, but 630 armor. This brings her effective health to 938, because (300 * 100) / (100 - 68) evaluates to 938.

The only way to increase a Warframe's armor is to add a Steel Fiber mod. Please refer to that page for the mod's effects on Warframe armor.

The Warframe with the highest base armor is Valkyr with a value of 300, as of Update 11.2.0.

Enemy Armor
Enemy armor works exactly the same as warframe armor in terms of calculations, but scales to the enemy's level. Enemy armor will only be applied if the has armor, as indicated by a greenish-yellow health bar. Most enemies of the Corpus and Infested factions do not apply armor to calculations, while most Grineer do.

<>

Scaling of enemy armor values uses the following formula:

Total Armor = base armor + base armor * .01 * (current level - base level) ^ 1.40 This will give you the armor value of the target you are shooting at. Just throw that value into the formula at the top of the page (calculates total armor mitigation), and you're good to go.
 * Base Armor: base armor value for the enemy.
 * Current Level: the level of your target enemy.
 * Base Level: This is the initial level your enemy can spawn it.  This is important because certain enemy types, such as Heavy Grineer, will not spawn until level 15, so while they may be level 30, their armor has only scaled up 15 times.

Enemy Armor Mitigation
Incorporating the two formulas above produces the following full formula for calculating an enemy's armor mitigation:

Enemy Armor Mitigation = 100 / ((base armor + base armor * .01 * (current level - base level) ^ 1.40) + 100)

Again, damage mitigation values in this game represent the percentage of damage that passes through armor.