Skip to content

CS2 Float Capping Explained

Short answer

Float capping in CS2 is choosing trade-up inputs by float so the output lands under a wear boundary. The output float is the average of the inputs, each measured within its own float range, mapped onto the output skin's range. Because every skin has a fixed minimum and maximum float, some outputs can never reach Factory New.

Published Last updated

Five Restricted skins from the Phoenix Collection stream into an AK-47 Redline above a wear band where the Factory New segment is switched off.

What is float capping in CS2?

Float capping is the practice of picking trade-up inputs by their floats so that the output lands where you want it on the wear scale. Usually that means under a wear boundary: below 0.07 for Factory New, below 0.15 for Minimal Wear, and so on. Sometimes it means the opposite, chasing a very high float on a skin where Battle-Scarred looks good.

The name comes from the fact that every skin has a float cap, a fixed minimum and maximum it can never go beyond. Those caps shape what a trade-up can produce. Understand the caps and the formula and you can predict the output wear before you spend anything. Ignore them and you will eventually turn ten clean inputs into a Field-Tested output and wonder what happened.

This guide assumes you know the contract rules from how trade-up contracts work and what float is from float values explained. Here we go deep on the float side only.

What are a skin's min and max float?

Every skin was given a float range by Valve when it was designed. Many use the full 0.00 to 1.00. Many do not.

Range typeExample rangeWhat it means
Full range0.00 to 1.00Every wear tier exists, and extremes are rare
Clean-only0.00 to 0.08Only Factory New and the bottom of Minimal Wear exist
No Factory New0.10 to 0.70Starts above 0.07, so the best wear is Minimal Wear or worse
No Battle-Scarred0.00 to 0.40Never gets truly wrecked
Narrow middle0.15 to 0.38Every copy is Field-Tested

The float cap calculator lists the real range for any skin. The float checker shows it alongside a specific item's float when you paste an inspect link.

Two things follow from ranges. First, wear names mean different things on different skins. A Factory New on a 0.00 to 1.00 skin sits anywhere from 0.00 to 0.07. A Factory New on a 0.06 to 0.80 skin is always between 0.06 and 0.07, and every copy looks about the same. Second, and this is the whole point of the guide, ranges control what a trade-up can produce.

How is a trade-up output float calculated?

The output does not simply take the average of your input floats. It takes the average of where each input sits within its own range, then places that average within the output's range. Three steps:

  1. Normalise each input. For each input: (float minus that skin's min) ÷ (that skin's max minus that skin's min). This gives a number from 0 to 1 that says how worn the input is relative to its own possibilities. A 0.05 on a 0.00 to 1.00 skin is 0.05. A 0.05 on a 0.00 to 0.10 skin is 0.50.
  2. Average the normalised values. Add the ten (or five) numbers and divide by the count.
  3. Map onto the output. Output float = output min + average × (output max minus output min).

Step 1 is the one people skip. If all your inputs are from skins with a full 0.00 to 1.00 range, the normalised value equals the float and you can just average the floats. As soon as an input comes from a capped skin, the raw float is misleading. A 0.06 input from a skin capped at 0.06 to 0.80 is the cleanest possible copy of that skin, and it normalises to 0.00, not 0.06.

Step 3 explains the "my output is worse than my inputs" surprise. If the average is 0.05 and the output's range is 0.10 to 0.70, the output float is 0.10 + 0.05 × 0.60 = 0.13. Minimal Wear, from Factory New inputs.

How do you pick inputs to hit a target wear?

Work backwards from the output.

  1. Pick the outcome you care about most. Usually the most valuable one. Look up its range with the float cap calculator.
  2. Decide the target float. To land Factory New, you need an output float under 0.07. Give yourself a margin, say 0.065, because you cannot always find perfect inputs.
  3. Convert the target to a required average. Required average = (target minus output min) ÷ (output max minus output min). If the output runs 0.00 to 0.50 and you want 0.065, you need an average of 0.13.
  4. Check every other outcome with that average. The same average maps onto every outcome's range. Some will be Factory New, some may not. The trade-up calculator shows the predicted wear for each.
  5. Buy inputs whose normalised floats average at or below the requirement. They do not all need to be equal. Two very clean inputs can carry one dirtier one. But the dirtier one has to be normalised against its own range, not judged by its raw float.
  6. Verify each input with the float checker before you buy, and again before you put it in the contract.

Cleaner inputs cost more. The extra you pay for low floats is only worth it if the output's price jumps across a boundary. That trade is the subject of the EV section below.

Why can some skins never be Factory New?

Because their minimum float is 0.07 or higher. The mapping formula puts the output at output min + something, and something is never negative. If the minimum is 0.10, the best possible output is 0.10, which is Minimal Wear.

This is the most common expensive mistake in trade-ups. Someone sees a Factory New price for the outcome, builds a contract with pristine inputs, and receives a Minimal Wear. The Factory New price was for a copy that cannot exist. Whoever listed it was wrong or the listing was for a different skin.

The same logic applies at every boundary:

  • If the minimum is above 0.15, Minimal Wear is impossible and Field-Tested is the best.
  • If the maximum is below 0.45, Battle-Scarred is impossible.
  • If the maximum is below 0.38, Well-Worn is impossible too.

Check the range before you build. Every time.

What does a worked float capping example look like?

All numbers are invented to show the method. They are not real skins.

Goal. A Classified output, Skin X, worth a lot in Factory New and much less in Minimal Wear. Skin X's range is 0.00 to 0.60. Factory New needs an output float under 0.07, so the required average is 0.07 ÷ 0.60 = 0.1167. Target a little lower: 0.11.

Inputs. Ten Restricted skins from the right collections. Their floats and ranges:

InputFloatSkin's rangeNormalised
1 to 60.06 each0.00 to 1.000.06 each
70.200.00 to 1.000.20
80.090.06 to 0.800.0405
90.250.00 to 1.000.25
100.070.00 to 1.000.07

Average. (6 × 0.06 + 0.20 + 0.0405 + 0.25 + 0.07) ÷ 10 = 0.0921.

Output float for Skin X. 0.00 + 0.0921 × 0.60 = 0.0553. Factory New. Good.

But check the other outcome. Suppose the same collections also contain Skin Y with a range of 0.08 to 0.50. Output float = 0.08 + 0.0921 × 0.42 = 0.1187. Minimal Wear, and it could never have been Factory New. If your EV assumed a Factory New Skin Y, the contract is worse than you thought.

Notice input 8. Its raw float of 0.09 looks worse than the 0.07 of input 10, but its skin is capped at 0.06, so it is actually a cleaner copy and normalises lower. Notice input 9 too. A 0.25 dragged the average up by more than any other single input. Replacing it with a 0.06 would drop the average to 0.0731 and give room to spare.

How does float capping change trade-up EV?

Float capping changes which price you use for each outcome, which changes the expected value. The full EV method is in how to calculate trade-up EV. The float-specific parts:

  • Price outcomes at the wear the formula predicts. Not the wear you hope for. If the calculator says Minimal Wear, use the Minimal Wear price.
  • Count the cost of cleaner inputs. A set of inputs at 0.06 costs more than a set at 0.20. That extra cost has to be beaten by the price gap between the output wears.
  • Compare across all outcomes. Capping for the best outcome sometimes does nothing for the others. If the best outcome is 35% likely, you pay the input premium 100% of the time and benefit 35% of the time.
  • Very low floats have their own market. Pushing the output well under 0.07 can land it in a range collectors pay extra for. That is a bonus on top of the tier price, and it only applies to skins people collect.

A contract that is negative EV at average floats can turn positive with capped inputs, and the reverse is also true when the input premium is too high. The trade-up calculator recalculates as you change inputs, so test both versions.

What mistakes do people make with float caps?

  • Averaging raw floats when inputs have different ranges. Normalise first. A raw 0.09 can be cleaner than a raw 0.07.
  • Not checking the output's minimum. If it is 0.07 or higher, stop chasing Factory New.
  • Checking only the best outcome. Every outcome has its own range and its own predicted wear.
  • Leaving no margin. An output float of 0.0699 is Factory New. An output of 0.0701 is not. Aim a little under the boundary, not at it.
  • Trusting listed floats. Verify every input with the float checker. Listings are wrong often enough to matter.
  • Forgetting Souvenir and StatTrak inputs follow the same maths. Since the 22 May 2026 update allowed Souvenir inputs, their floats count exactly like any other input.
  • Ignoring knife finish ranges. Since the 22 October 2025 update, five Coverts can produce a knife or gloves. Knife finishes have widely different ranges. The same five inputs can give a Factory New on one finish and a Field-Tested on another, and you do not choose the finish.

Float capping is arithmetic, not luck. The luck is in which outcome you get. The wear of that outcome is something you can calculate to three decimal places before you press the button, and you should.

Sources

Frequently asked questions

What float will my trade-up output be?

Take each input's float, work out where it sits in that skin's own range as a number from 0 to 1, average those numbers, then place that average in the output skin's range. The float cap calculator does this for any outcome.

Can a trade-up give a Factory New skin?

Yes, if the output skin's minimum float is below 0.07 and your inputs are clean enough to bring the mapped average under 0.07. If the output's minimum is 0.07 or above, Factory New is impossible.

Do all inputs need to be low float?

No, the average is what counts. One very low input can offset one high one. But because each input is measured within its own range, a 0.10 on a skin that runs 0.00 to 1.00 counts differently from a 0.10 on a skin that runs 0.06 to 0.80.

Does the output float depend on which outcome you get?

Yes. The averaged input value is the same, but each outcome has its own range, so the same inputs can give a Factory New on one outcome and a Field-Tested on another.

Does float capping work for knife trade-ups?

Yes. The five Covert inputs are averaged the same way and mapped onto the knife or glove finish's range. Knife finishes vary a lot in their ranges, so the outcome's finish matters as much as your inputs.

Why is my output a higher wear than my inputs?

Because the output's range starts higher than your inputs' ranges. Ten Factory New inputs from skins that go down to 0.00 can produce a Minimal Wear or Field-Tested output if the outcome skin's minimum float is high.

Where can I see a skin's float range?

The float cap calculator lists the minimum and maximum for any skin. The float checker also shows the range next to a specific item's float when you paste its inspect link.