How yarn substitution really works
The single biggest mistake crocheters make when substituting yarn is comparing ball counts instead of total yardage. Two yarns can both be labelled "worsted #4" and yet have wildly different yards-per-ball: one gives you 200 yards per 100 g, another gives you 315 yards per 100 g. "3 balls" of the first is 600 yards. "3 balls" of the second is 945 yards — nearly 60% more yarn. If you swap by ball count, you will either run out or drown in leftovers.
The right formula
Always convert to total yards first, then back to balls of the substitute:
total_yards_needed = original_yards_per_ball × original_balls
balls_to_buy = ceil(total_yards_needed / substitute_yards_per_ball)
The ceil() (round up) matters because you cannot buy 3.63 balls —
you buy 4. That rounding gives you a built-in safety margin of extra yards, which
the calculator reports so you know whether you can relax or whether you should buy
one more ball for safety.
Why "same weight number" is not enough
The Craft Yarn Council weight system (0–7) groups yarns by typical gauge, but it does not guarantee identical thickness. A "DK #3" cotton and a "DK #3" cotton-acrylic blend can differ in yards-per-gram by 20% or more. The denser (fewer yards per gram) yarn is physically thicker, so your stitches come out larger and your finished amigurumi grows — even though the labels match.
The calculator checks this for you. If you enter grams-per-ball for both yarns, it computes yards-per-gram for each and warns you when the substitute is meaningfully thicker or thinner than the original. When that happens, pair this tool with the Amigurumi Resizing Calculator to predict the new finished size.
The dye-lot rule
Once you know how many balls to buy, buy them all at once from the same dye lot. Yarn is dyed in batches, and "colour 29" from lot A can be noticeably different from "colour 29" from lot B — especially in reds, blues, and darks. Mixing dye lots in a single amigurumi is the most common cause of a visible colour seam. If you must buy across lots, work two rows from one ball, then two from the other, alternating throughout to blend the difference.
Worked example
A pattern calls for 3 balls of YarnArt Jeans (175 yd / 50 g per ball). You want to use Hobbii Rainbow Cotton 8/4 (186 yd / 50 g per ball) instead. Total yards needed = 175 × 3 = 525 yd. Balls to buy = ceil(525 / 186) = ceil(2.82) = 3 balls. Safety margin = (3 × 186) − 525 = 33 yd, about 6.3% — comfortable, but buy a 4th ball if you tend to crochet loosely. Yards-per-gram are nearly identical (3.5 vs 3.72), so the finished size will match the original.