Crochet yarn estimator
A 40 by 50 piece at 4 stitches and 3.5 rows per unit, using 0.02 of yarn per stitch, needs 28000 stitches and 560 units of yarn. Know before you shop whether one more ball is needed. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Width
- 40
- Height
- 50
- Stitch gauge
- 4
- Row gauge
- 3.5
- Yardage per stitch
- 0.02
- Stitches across
- 160
- Rows
- 175
- Total stitches
- 28,000
- Yarn length
- 560
This crochet yarn estimator turns project dimensions, stitch gauge, row gauge, and yardage per stitch into a reproducible yarn-length total for rectangular crochet work. Measure width and height in one length unit, enter how many stitches and rows fall in each unit of your gauge swatch, and supply the average yarn length each stitch consumes; the engine multiplies those five factors to estimate total yarn. A classic check is a forty by fifty piece at four stitches and three and a half rows per unit with two hundredths of a unit of yarn per stitch, which yields twenty-eight thousand stitches and five hundred sixty units of yarn. The path is pure finite arithmetic with no network calls, no sampling, and no date-dependent shortcuts, so the same inputs always produce the same breakdown of stitches across, rows, total stitches, and yarn length.
Where yarn estimates fit in patterns, shops, and hobby software
Crafters meet yarn math when a free pattern lists finished size and gauge but not total yardage, when a stash has partial skeins and they must decide whether a second ball is needed, or when they scale a baby blanket up to throw size and need a proportional yarn figure before shopping. Pattern writers can pre-generate yardage ranges for modest rectangles without trusting opaque apps that silently add waste percentages or switch units.
Developers call the same contract from scripts to seed deterministic test vectors for craft calculators, to normalize user-entered dimensions before a storefront shows estimated cost, or to satisfy programming-challenge statements that demand total stitches and yarn length rather than a hand-waved guess. Classroom and workshop demos use the estimator when learners measure a four-inch swatch, convert to stitches and rows per unit, weigh a short chain to approximate length per stitch, and compare predicted yarn against the actual ball used.
Product tools use the breakdown when a designer types width and height and the UI must show stitches across, rows, and yarn length side by side.
What you can do with it
Blanket and throw planning
Estimate yarn length for a rectangular blanket from finished width, height, gauge swatch rates, and measured yarn per stitch before you buy skeins.
FAQ
What does the crochet yarn estimator cost?
It is free in your browser on this page.
What happens if width or height is zero or negative?
Non-positive project dimensions cannot describe a rectangular crochet panel in this model.
Does this add waste, borders, or seam allowance?
No. It estimates a filled rectangular stitch grid only.
How much yarn do I need for a 40 by 50 crochet blanket?
At 4 stitches and 3.5 rows per unit and 0.02 of yarn per stitch, you need 560 units of yarn for 28000 stitches. The answer is in whatever unit you used for the yarn per stitch.
How do I turn my gauge swatch into stitches and rows?
Multiply the width by your stitches per unit and the height by your rows per unit. For a 40 by 50 piece at 4 and 3.5, that gives 160 stitches across and 175 rows.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/hobby/crochet-yarn \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":40,"height":50,"stitch_gauge":4,"row_gauge":3.5,"yardage_per_stitch":0.02}'const res = await fetch("https://api.kit.forhosting.com/hobby/crochet-yarn", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 40,
"height": 50,
"stitch_gauge": 4,
"row_gauge": 3.5,
"yardage_per_stitch": 0.02
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/crochet-yarn",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 40,
"height": 50,
"stitch_gauge": 4,
"row_gauge": 3.5,
"yardage_per_stitch": 0.02
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/crochet-yarn", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":40,"height":50,"stitch_gauge":4,"row_gauge":3.5,"yardage_per_stitch":0.02}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":40,"height":50,"stitch_gauge":4,"row_gauge":3.5,"yardage_per_stitch":0.02}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/crochet-yarn", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"width": 40,
"height": 50,
"stitch_gauge": 4,
"row_gauge": 3.5,
"yardage_per_stitch": 0.02
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.crochet_yarn",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_abs_value | 1000000000000000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
What the crochet yarn estimate means and what the response contains
A rectangular crochet panel can be modelled as a grid of stitches: the number of stitches across equals project width times the stitch gauge, and the number of rows equals project height times the row gauge. Their product is the total stitch count for a filled rectangle, and multiplying by yardage per stitch yields the estimated yarn length in whatever unit you used for that per-stitch figure. Gauges and yardage per stitch must also be strictly positive so a zero gauge cannot silently claim infinite or zero yarn. This calculator returns the normalized width, height, stitch_gauge, row_gauge, and yardage_per_stitch, the intermediate stitches_across and rows, total_stitches, the primary yarn_length result, a method tag crochet_yarn_estimate, the precision used, and a short formula string you can quote in a pattern note. There is no fabric-weight lookup table, no skein brand database, and no random waste factor: the engine either multiplies the five positive factors inside the supported numeric range or rejects the input with invalid_input. Rejected cases include missing required fields, non-finite values, magnitudes above the documented ceiling, and any width or height that is zero or negative, because a non-positive dimension does not describe a buildable panel. If you need unit conversion between inches and centimetres, skein packing, or circular motif area, use dedicated tools; this page answers only the rectangular stitch-grid yarn estimate with stable numeric output suitable for shopping lists, pattern appendices, and API consumers that must not invent ease allowances.
How dimensions, gauges, and yardage are read and stay reproducible
Optional leading plus signs and scientific notation on numeric strings are allowed when they parse as finite decimals; embedded spaces, hex prefixes, and non-numeric tokens are rejected with a clear message so a bad cell does not become a wrong yarn total. The preferred fields are width and height for the finished rectangle, stitch_gauge for stitches per unit of width, row_gauge for rows per unit of height, and yardage_per_stitch for yarn length per stitch, but aliases such as w and project_width for width, h length and project_height for height, stitches_per_unit and spu for stitch gauge, rows_per_unit and rpu for row gauge, and yarn_per_stitch or yps for yardage are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Zero or negative width or height fails with invalid_input and an explicit note that non-positive project dimensions are rejected; the same positivity rule applies to both gauges and yardage per stitch so incomplete swatches cannot force a zero denominator style surprise. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for every numeric field, defaulting to ten and capped at fifteen so JSON goldens stay stable across runs. Pair the free browser run on this page with the priced API when you need the identical arithmetic inside an automated pattern pipeline.
Where yarn estimates fit in patterns, shops, and hobby software
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a kitchen-table plan to an automated pipeline without changing the mathematical result. Pair it with unit converters and other hobby endpoints when you are building a small lab of free, deterministic craft helpers.
Integration use cases
Pattern yardage notes
Generate reproducible total_stitches and yarn_length figures for pattern appendices, PDF exports, and shop product pages.
Deterministic craft fixtures
Seed unit tests and CI with stable crochet yarn estimates that never depend on date, network, or random waste factors.
Technical questions
How is yarn_length calculated?
yarn_length = width × stitch_gauge × height × row_gauge × yardage_per_stitch. Intermediate stitches_across, rows, and total_stitches are returned as well.
Do I need matching units?
Yes. Use one length unit for width and height, gauges per that unit, and yardage_per_stitch in the unit you want for yarn_length (yards, metres, and so on).