Yarn calculator for knitting, crochet and weaving
How much yarn do you need? This yarn calculator answers from your own gauge swatch, so it works for any yarn, stitch and hook or needle size. Enter the size of a swatch and what it weighs (or the length of yarn it used), then the size of your project and the label of the skein, and it returns grams, metres, yards and whole skeins. For weaving it works out the warp and the weft.
It uses the swatch method that experienced knitters and crocheters recommend, with a buffer for mistakes and a different dye lot. It runs in your browser, in centimetres or inches, and nothing is uploaded.
How to use the Yarn Calculator
- Make a swatch in your stitch and yarn, wash and block it, and measure its width and height.
- Weigh it on a kitchen scale (or measure the yarn you unravel) and enter the figure.
- Enter the weight and length from the yarn label and the finished project size.
- Choose the number of pieces and the extra percentage, then read the skeins you need.
- For weaving, switch to Weaving and enter the cloth size, sett, take-up and loom waste.
Yarn Calculator features
Area-based method
The swatch’s yarn per unit area is scaled up to the whole project.
Weigh or measure
Use grams from a scale or metres of yarn; both give the same answer.
Whole skeins
Rounded up from the skein weight on the label, with the leftover shown.
Warp and weft
Number of ends, yarn per end, total warp and weft, with take-up and loom waste.
How the knit and crochet estimate works
The method is the one described by Pacific Knit Co (yards per gram), Sarah Maker and other crochet and knitting guides (read 19 October 2026): weigh a washed swatch, scale it by area and add a buffer. Bigger swatches are more accurate; borders, fringe, colour work and textured stitches do not match the swatch, so estimate them separately. Label yardage is a manufacturer figure and varies by a few percent.
- Area ratio = (project width × length × pieces) ÷ (swatch width × height).
- Yarn weight = swatch weight × ratio, or, from a length, the swatch length × ratio ÷ (metres per gram on the label).
- Extra: 10 to 15% is added for mistakes, tails, seams and the yarn on the label being only approximate.
- Skeins = total weight ÷ skein weight, rounded up.
| Example | Value |
|---|---|
| Swatch 10 × 10 cm, 4.5 g | 0.045 g per cm² |
| Scarf 40 × 150 cm | 60 swatches of area, 270 g |
| Plus 10% | 297 g, 594 m (650 yd) at 2 m per gram |
| Skeins of 100 g | 3 |
Weaving: warp and weft
Width on the loom is the finished width plus take-up (10 to 15% is typical; sample first). Ends = width on the loom × ends per unit. Each end is the finished length plus take-up plus the loom waste, which is often 15 to 30 in depending on the loom. Warp yarn = ends × that length. Weft yarn ≈ width on the loom × picks per unit × woven length × 1.1 for weft take-up. These are the usual approximations from weaving guides (Thread Collective, Handwoven, Williamsburg Spinners and Weavers, read 19 October 2026); weave structure changes take-up, so treat the results as estimates and round up. Related tools: the knitting calculator and the quilt calculator.
Yarn Calculator FAQ
How much yarn do I need for a project?
Weigh a swatch, divide by its area to get yarn per square centimetre or inch, multiply by your project area and add 10 to 15%. The calculator does this and rounds up to whole skeins.
How do I convert yards to metres?
Multiply yards by 0.9144 to get metres; divide metres by 0.9144 to get yards. The calculator shows both.
Does this work for crochet?
Yes. Crochet swatches work the same way: crochet a swatch, wash and block it, weigh it and enter its size.
Why add extra yarn?
For mistakes, swatch differences, seams and tails, and because label yardage is approximate. Different dye lots can also differ in colour.
How much weft do I need?
About the width on the loom × picks per unit × woven length, multiplied by 1.1 for take-up. The calculator shows it in metres and yards.
Can I use it for a blanket?
Yes. Enter the blanket size and use a swatch of at least 10 cm; for borders and fringe, calculate them separately.