What this calculator works out
This calculator adds a safety margin to a pattern's yardage, divides by the length per ball, and returns how many balls to buy — deducting any you already have and costing the total.
The margin matters more than it looks. Yarn is sold in dye lots, and running short means either a visible colour change or unpicking back.
Yarn details
Before you buy
- Take the yardage from the pattern for your actual size, not the smallest. Larger sizes can need 50% more.
- Length per ball is on the band, and varies between yarns of the same weight. Two 100 g balls of aran can differ by 40 metres.
- Check the unit. Patterns quote metres or yards and the two differ by about 9%.
- Buy all the yarn at once and check the dye lot numbers match across every ball.
Yarn is dyed in batches, and the same shade from a different lot can be visibly different under daylight. Shops rarely hold the same lot for long. A 10% margin costs one extra ball on a typical project and removes the risk entirely — which is a much better trade than discovering it two-thirds of the way up a sleeve.
How this calculator works
Yardage plus margin, divided by ball length:
Total required = pattern yardage × (1 + margin ÷ 100)
Balls needed = total ÷ length per ball, rounded up
Balls to buy = balls needed − balls already heldThe spare figure shows how much yarn is left over after the margin is accounted for. A small spare is normal; a very large one usually means the ball length and the pattern yardage are quoted in different units.
Worked example: a 1,200 metre pattern
Using the default figures — 1,200 m needed, 220 m per ball, 10% margin, none in stock, £4.50 a ball:
- Total with margin: 1,320 m
- Balls to buy: 6
- Cost: £27.00
Six balls covers it exactly with the margin applied. Without the margin the requirement is 1,200 m, which is 5.45 balls — still six once rounded up, so here the margin costs nothing. On a project needing 1,100 m it would be the difference between five balls and six, and that is the case where paying for the sixth is worth it.
Common mistakes
- Mixing metres and yards. They differ by about 9%, which is most of a margin.
- Using the yardage for the wrong size. Larger sizes need substantially more.
- Buying in stages. The dye lot will not match.
- Assuming ball length from weight. Two 100 g balls can differ by 40 metres or more.
- Ignoring the swatch. Knitting at a different gauge changes the yarn used.
Frequently asked questions
How much extra yarn should I buy?
10% is a reasonable minimum. Add more for a first attempt at a pattern, for colourwork where tension is less predictable, or where the yarn is discontinued or hard to obtain. Many shops will take back unopened balls with a receipt, which makes over-buying cheaper than under-buying.
What is a dye lot?
A batch of yarn dyed together, identified by a number on the ball band. Colour varies slightly between lots, and the difference is often invisible in the shop and obvious in daylight on a finished garment. Where mixing lots is unavoidable, alternating two balls every few rows blends the transition rather than creating a line.
Does gauge affect how much yarn I need?
Yes. Knitting more tightly than the pattern uses more yarn for the same size, because more stitches occupy the same area. A swatch that comes out too small is a warning about yardage as well as fit — which is one more reason to knit one before buying the full quantity.
What can I do with leftovers?
Small quantities suit hats, mittens, socks, granny squares and colourwork accents. Many knitters keep a leftovers bag and periodically make a striped blanket from it. Yarn does not deteriorate if kept dry and away from moths, so keeping a labelled ball with its band from each project is worth doing for future repairs.
Is what I enter stored?
No. Figures are processed in your browser and never transmitted or retained.
Related tools
References
- GOV.UK — textile labelling requirements and consumer rights
- MoneyHelper — budgeting for hobbies and one-off purchases
Sources are checked at publication and can change — how I choose and check references.
