ForHosting KIT · Home, food & hobbies

Yarn weight substitution calculator

A pattern needing 1200 yards takes 6 skeins of 220 yards but 7 of 180, because 1200 divided by 180 is six and two thirds. Enter the yardage and both skein lengths to buy enough yarn. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Yardage
1,200
Skein length
220
Substitute skein length
180
You get
Original skeins
6
Substitute skeins
7
Length ratio
1.2222222222

Swapping yarn brands or weights is a daily decision for knitters and crocheters who cannot buy the exact skein a pattern lists. This yarn weight substitution calculator takes the pattern’s total yardage, the original skein length, and the length of each substitute skein, then returns how many substitute skeins you need to buy using a transparent ceiling division. Zero skein length is rejected as invalid input so form glitches never divide by zero or invent a free infinite yarn supply.

How substitute skein count is computed from yardage and lengths

The number of substitute skeins to buy equals the ceiling of pattern yardage divided by substitute skein length. If a sweater needs twelve hundred yards and each substitute ball holds one hundred eighty yards, you need seven balls because twelve hundred divided by one hundred eighty is six and two thirds, and yarn is sold in whole units. The same identity works whether you measure in yards or meters, as long as every field uses one coherent unit.

Zero or negative skein length is a hard error under the product contract because it would divide by zero or reverse the meaning of a hank. Zero or negative substitute length is likewise rejected. Negative yardage is invalid; zero yardage yields zero skeins for empty or discontinued projects.

Stash and shopping lists

Makers convert a pattern’s total yardage and a new ball put-up into a whole-number skein count so cart tools and shopping lists buy enough yarn without shortfall.

Yarn shop and marketplace tools

Shops and craft marketplaces estimate substitute ball counts when a customer swaps brands, helping staff answer “how many of these do I need?” at the counter.

Pattern publishers and project planners

Publishers and planner apps show original versus substitute skein counts side by side when readers adapt a design to a different hank length or weight put-up.

Do yardage and skein lengths need the same unit?

Yes. Use yards throughout or meters throughout. The calculator does not convert units; mixed systems produce wrong counts even though the arithmetic still runs.

Is the yarn weight substitution calculator free?

The browser tool runs free on your device.

Why does the calculator always round up?

Because yarn is sold in whole skeins. If the pattern needs 1200 yards and each new ball holds 180, the exact answer is six and two thirds, so you need to buy 7 balls to avoid running short.

Does a yarn of the same weight always have the same yardage?

No. Two balls of the same weight can hold different lengths when the fiber density changes. Use the length printed on each label, not the weight, when you enter the skein lengths.

Does it check gauge or dye lots?

No. It only counts how many skeins cover the length you need. It does not convert units, check your gauge swatch or match dye lots, so knit a swatch before you commit.

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.

POSThttps://api.kit.forhosting.com/hobby/yarn-substitution

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.

curl -X POST https://api.kit.forhosting.com/hobby/yarn-substitution \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"yardage":1200,"skein_length":220,"substitute_skein_length":180}'
{
  "yardage": 1200,
  "skein_length": 220,
  "substitute_skein_length": 180
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "hobby.yarn_substitution",
  "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.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Enter yardage, skein_length, and substitute_skein_length to get substitute_skeins, original_skeins for comparison, and a length ratio in deterministic JSON for project planners, craft apps, and shop tools.

How substitute skein count is computed from yardage and lengths

Send required fields yardage, skein_length, and substitute_skein_length as JSON numbers or numeric strings. Aliases yards, metres, meters, total_yardage, and yarn_needed map to yardage; original_skein_length, pattern_skein, hank_length, and ball_length map to skein_length; sub_skein_length, new_skein_length, substitute_length, and sub_length map to substitute_skein_length. Magnitude caps keep results finite on the Worker isolate.

Reading the response fields and comparing original versus substitute

The formula field is safe to show next to the numbers so makers see substitute skeins equal ceiling of yardage over substitute length. Prefer honest label lengths over rounded marketing claims, and remember that weight-matched balls can still differ in yardage when fiber density changes. On success the response echoes yardage, skein_length, and substitute_skein_length after stable rounding, plus original_skeins equal to the ceiling of yardage over original skein length, substitute_skeins equal to the ceiling of yardage over substitute skein length, length_ratio equal to original length divided by substitute length, a human-readable formula string, and method equal to ceil_yardage_over_substitute_length. Use substitute_skeins when your shopping list needs a single buy quantity; use original_skeins when you want to see how the pattern’s own ball count would have looked with the stated hank size; use length_ratio when you are comparing two put-ups at a glance. This endpoint does not convert units, check gauge swatches, match dye lots, or recommend fiber content; it is transparent length arithmetic, not a full yarn-advisor suite. Missing required fields, non-finite values, and zero or negative skein lengths all fail with invalid_input and are not charged after the engine rejects the request, so bad form posts never drain prepaid balance on a validation failure.

API usage, pricing, craft workflows, and practical limits

Call the free in-browser yarn weight substitution calculator for stash planning, classroom demos, and quick shop-floor checks without installing a spreadsheet. For multi-color projects, call once per color so each total stays auditable in logs and support tickets. Send a JSON body with yardage, skein_length, and substitute_skein_length (or the documented aliases). Use the prepaid API when a craft marketplace, inventory app, pattern publisher, yarn shop kiosk, or project planner needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance. Pair this endpoint with a separate unit converter when labels mix yards and meters—convert first, then call here with one unit system. Authors shipping SDKs can map substitute_skeins into cart widgets that show “buy seven balls” and original_skeins into a comparison line—the same shape knitters sketch on scrap paper when they divide yardage by put-up length by hand before a big sweater purchase.

How do I calculate how many substitute skeins to buy?

Send JSON with yardage (pattern total length), skein_length (original hank length), and substitute_skein_length (new ball length). The response substitute_skeins is ceil(yardage / substitute_skein_length).

What happens if skein length is zero?

The request fails with invalid_input. Zero or negative skein_length (or substitute_skein_length) is rejected so the calculator never divides by zero; validation failures are not charged.

Why is the result a ceiling instead of a plain division?

Yarn is sold in whole skeins. A fractional result such as 6.67 means you still need a seventh ball to cover the remaining yardage, so substitute_skeins always rounds up.

Read the full KIT documentation →