Knitting yarn yardage estimator
Multiply your stitch total by the yarn each stitch uses: 28000 stitches at 0.025 per stitch need 700 units of yarn. Add a waste allowance or a skein length to turn that into a shopping figure. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Stitch count
- 28,000
- Gauge
- 5
- Yarn per stitch
- 0.025
- Waste percent
- 0
- Yarn length
- 700
- Yarn with waste
- 700
- Yarn per unit width
- 0.125
A knitting yarn yardage estimator turns the three numbers you already have after counting stitches or reading a pattern stitch total into a reproducible yarn length: how many stitches the piece contains, the stitch gauge of the fabric you will knit, and how much yarn each stitch consumes. Use it when a pattern lists stitch counts but not yardage, when a stitch counter finished a sweater, or when you measured yarn per stitch from a swatch knit at a known gauge.
Why start from the stitch count
Many patterns list how many stitches the body, sleeves and neckband contain but never say how much yarn to buy. If you add those stitch totals and know how much yarn one stitch uses, the length follows directly: stitch count times yarn per stitch. With 28000 stitches at 0.025 per stitch, that is 700 units of yarn, in whatever unit you used for the per-stitch figure. The same works after a finished sweater, when a stitch counter tells you how many stitches you worked and you want a figure for the next size or a matching hat.
Extras, skeins and common slips
Gauge does not change the total length. It tells you how much yarn one row of a single unit of width takes and how many unit widths your stitches represent, 0.125 and 5600 in the example. You can add a waste percentage for tails and seams, enter a row gauge to see the fabric area, and give the length of one skein to get whole skeins to buy. The usual mistake is mixing units: the yarn per stitch and the skein length must use the same unit, or the skein count will be wrong.
What you can do with it
Pattern stitch totals without published yardage
A designer lists body, sleeve, and neckband stitch counts but no yarn length. Add the stitches, enter your swatch gauge and measured yarn per stitch, and get a shopping yardage before you buy skeins.
Stitch-counter yardage after a finished piece
A knitter finishes a pullover with a digital counter, measures yarn per stitch from leftover swatch yarn, and records how much yarn that stitch total actually used for the next size or a matching hat.
FAQ
How do you estimate knitting yarn from stitch count?
Gauge reports yarn used by one unit-wide row and how many unit widths the stitch total represents.
Is this the same as the crochet yarn estimator?
No. That tool starts from project width and height and derives stitch count from two gauges.
Is the knitting yarn yardage estimator free?
The browser tool is free and runs locally.
How much yarn do 28000 knit stitches need?
At 0.025 units of yarn per stitch, 28000 stitches need 700 units. The answer comes out in the unit you measured per stitch, so yards in give yards out and metres in give metres out.
How many skeins should I buy for my knitting project?
Enter the length of one skein, ball or hank in the same unit as the yarn per stitch, and the estimator turns the total into whole skeins. Add a waste percentage first if you want room for tails and seams.
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/craft-knit-yarn-yardage \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"stitch_count":28000,"gauge":5,"yarn_per_stitch":0.025}'const res = await fetch("https://api.kit.forhosting.com/hobby/craft-knit-yarn-yardage", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"stitch_count": 28000,
"gauge": 5,
"yarn_per_stitch": 0.025
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/craft-knit-yarn-yardage",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"stitch_count": 28000,
"gauge": 5,
"yarn_per_stitch": 0.025
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/craft-knit-yarn-yardage", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"stitch_count":28000,"gauge":5,"yarn_per_stitch":0.025}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"stitch_count":28000,"gauge":5,"yarn_per_stitch":0.025}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/craft-knit-yarn-yardage", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"stitch_count": 28000,
"gauge": 5,
"yarn_per_stitch": 0.025
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.craft_knit_yarn_yardage",
"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 | 1000000000000 |
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
Enter stitch_count, gauge, and yarn_per_stitch in one consistent length unit for the consumption figure; the engine multiplies stitch count by yarn per stitch to get raw yardage, multiplies gauge by yarn per stitch to report yarn used by one unit-wide row, and divides stitch count by gauge to report how many unit widths the stitch total represents. Optional waste_percent scales the raw length for tails and seams without inventing a hidden fudge factor. Optional row_gauge adds implied fabric area, and optional skein_length converts the shopping figure into whole skeins. Zero or negative stitch counts, gauges, or consumption values are rejected with invalid_input, because a non-positive count or density cannot describe a knitable project. Successful API calls cost $0.002 per request.
What knitting yarn yardage from stitch count means
Knitters estimate yarn in several ways, and this landing is the path that starts from a stitch total rather than from finished width and height. A pattern may publish a stitch count for the body, sleeves, and neckband; a digital counter may report how many stitches you have already worked; or you may add the stitches in each chart repeat yourself. Gauge is not decoration. Once you also know how much yarn one stitch consumes at the gauge you will actually knit, the raw length is a product: yarn_length equals stitch_count times yarn_per_stitch. It is the stitch density of the fabric that produced that consumption figure, and the engine uses it to report yarn_per_unit_width (gauge times yarn_per_stitch) so you can sanity-check one unit-wide row against a measured row, and stitch_widths (stitch_count divided by gauge) so you can see how many unit widths the stitch total represents if laid as a single course. Optional waste_percent then scales yarn_length into yarn_with_waste for tails, seams, and a little gauge drift; the default is zero so the tool never silently pads a shopping list. Optional row_gauge unlocks implied_area as stitch_count divided by gauge times row_gauge, and yarn_per_unit_area as the product of consumption and both densities. Optional skein_length turns yarn_with_waste into a whole-skein buy quantity with a ceiling. There is no brand database, no hidden ease table, and no random waste factor: the engine either multiplies and divides the finite positives you sent or rejects the input with invalid_input. This is not a crochet dimension estimator, not a cast-on planner, and not a skein-substitution calculator; those are different search intents with different required fields.
How to call the API and what comes back
Every required field must be strictly positive; values at or below one times ten to the minus fifteen are treated as non-positive and rejected, which covers the required zero and negative measurement errors as well as empty counts. Row and skein fields appear only when you sent those optionals; omitted keys are omitted, never null. Send a JSON body with three required finite positive numbers: stitch_count (aliases stitches, total_stitches, sts, stitchCount, project_stitches), gauge (aliases stitch_gauge, sts_per, spi, stitches_per_unit, gauge_stitches), and yarn_per_stitch (aliases consumption, yardage_per_stitch, yps, length_per_stitch, yarnPerStitch). Absolute values must stay within the published limit of one trillion so intermediate products remain finite in IEEE double precision on the Worker and in the browser. Optional waste_percent (aliases waste, ease_percent, extra_percent) is a number from zero to one hundred and defaults to zero. Optional row_gauge (aliases rows_per, rpi, gauge_rows, rows_per_unit) must be strictly positive when present. Optional skein_length (aliases hank_length, ball_length, yards_per_skein, metres_per_skein) must be strictly positive when present. Optional precision (aliases decimals, dp) chooses how many decimal places to expose, defaulting to ten and capped at fifteen so JSON goldens stay stable across runs. On success the response echoes rounded inputs, sets yarn_length and yarn_with_waste, adds yarn_per_unit_width and stitch_widths, sets method to knit_stitch_count_yardage, and includes formula, message, and an ordered steps array. Failed validation returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item.
Measuring consumption, units, and how this differs from nearby tools
A practical method is to mark twenty or fifty stitches, unravel that run, measure the yarn in yards or metres, and divide by the stitch count of the run. Prefer sending numbers rather than pre-formatted strings when you control the client; string numbers are accepted only when they match a strict finite numeric pattern. Prefer this capability when you already know how many stitches the piece contains and you measured or were given yarn per stitch at a known gauge. Measure yarn_per_stitch from a swatch knit, washed, and blocked the same way as the garment, at the same gauge you will use for the project. Keep that length unit for yarn_length and yarn_with_waste; keep gauge in stitches per the same width unit you would use to check a row (inches or centimetres). When teaching, pair examples: twenty-eight thousand stitches at five stitches per unit with two hundredths and five thousandths of a unit of yarn per stitch yields seven hundred units of raw yarn; the same piece with ten percent waste yields seven hundred seventy; and stitch_count zero demonstrates the hard invalid_input path on a non-positive count. This landing targets people searching for a knitting yarn yardage estimator, how much yarn they need from a stitch count, or yarn length from gauge and consumption per stitch. It is not a rectangular crochet estimator that starts from width and height, not a stitch-gauge-from-swatch calculator, not a cast-on planner, and not a substitute-skein counter that starts from a published yardage. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately set stitch_count to zero. Round-trip checks are easy: recompute stitch_count times yarn_per_stitch by hand and confirm it equals yarn_length within the same rounding, and confirm that gauge times yarn_per_stitch equals yarn_per_unit_width.
Integration use cases
Fixtures for knitting apps and classes
Hobby apps and workshop sheets generate known-good stitch-count yardage pairs plus deliberate zero-count rejections for deterministic regression tests and answer keys.
Technical questions
How should I measure yarn_per_stitch?
Knit a swatch at the same gauge, unravel a counted run of stitches, measure that yarn in yards or metres, and divide by the number of stitches you unravelled. Use that unit for the result.
What happens when stitch_count, gauge, or yarn_per_stitch is zero or negative?
The request is rejected with invalid_input. Non-positive stitch counts, gauges, or consumption values cannot describe a knitable project or a real length of yarn.