{
  "title": "Yarn yardage calculator",
  "human_url": "https://happytails.ai/en/calculators/yarn-yardage-calculator/",
  "agent_url": "https://happytails.ai/agents/en/calculators/yarn-yardage-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/calculators/yarn-yardage-calculator.md",
  "content": "Yarn yardage calculator\nEstimate yarn length and whole balls from a weighed swatch, target dimensions or stitch counts and the yarn label.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Yarn yardage calculator\nEnter your measurements, rates or supplied recipe.\nReview the quantities, rounding and plan details.\nDownload the result and verify it against your actual materials or a sample.\nUseful next steps\nKnitting gauge calculator\nCross-stitch thread estimator\nWeigh the measured fabric\nUse a prepared swatch in the same yarn and stitch pattern. Its weight should belong to the measured area; large tails or unmeasured borders distort the estimate. Enter either target physical dimensions or counts based on the swatch gauge.\nScale weight, then use label length\nA 10 × 10 cm swatch weighing 5 g scales to 150 g for a 50 × 60 cm rectangle. A 10% allowance gives 165 g. If the yarn label says 200 m per 100 g, that is 330 m and two whole balls.\nSave the plan\nDownload the result as CSV, plus a text or JSON report with formulas, values and assumptions. Everything is calculated on your device. Changing units keeps the entered numbers, so check the selected units before using the plan.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Knitting gauge calculator",
      "url": "https://happytails.ai/en/calculators/knitting-gauge-calculator/"
    },
    {
      "name": "Cross-stitch thread estimator",
      "url": "https://happytails.ai/en/calculators/cross-stitch-thread-estimator/"
    }
  ],
  "tool": {
    "id": "yarn-yardage-calculator",
    "category": "calculators",
    "built": true,
    "requirements": "Up to 10,000 identical pieces, 1 million stitch/row counts and 200% allowance. Rectangular fabric estimate; shaping, cables, color work and finishing are not automatically inferred.",
    "implementation": {
      "fields": [
        {
          "key": "swatchWidth",
          "label": "Measured swatch width",
          "value": 10,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "swatchHeight",
          "label": "Measured swatch height",
          "value": 10,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "swatchUnit",
          "label": "Swatch dimension unit",
          "value": "cm",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft",
            "yd"
          ]
        },
        {
          "key": "swatchWeight",
          "label": "Yarn weight in the measured swatch",
          "value": 5,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "weightUnit",
          "label": "Swatch weight unit",
          "value": "g",
          "type": "select",
          "values": [
            "g",
            "kg",
            "oz",
            "lb"
          ]
        },
        {
          "key": "mode",
          "label": "Target size input",
          "value": "Target dimensions",
          "type": "select",
          "values": [
            "Target dimensions",
            "Target stitches and rows"
          ]
        },
        {
          "key": "targetWidth",
          "label": "Target width per piece",
          "value": 50,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Target dimensions"
            ]
          }
        },
        {
          "key": "targetHeight",
          "label": "Target height per piece",
          "value": 60,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "mode": [
              "Target dimensions"
            ]
          }
        },
        {
          "key": "targetUnit",
          "label": "Target dimension unit",
          "value": "cm",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft",
            "yd"
          ],
          "showWhen": {
            "mode": [
              "Target dimensions"
            ]
          }
        },
        {
          "key": "swatchStitches",
          "label": "Stitches in measured swatch",
          "value": 20,
          "type": "number",
          "min": 1,
          "max": 1000000,
          "step": 1,
          "showWhen": {
            "mode": [
              "Target stitches and rows"
            ]
          }
        },
        {
          "key": "swatchRows",
          "label": "Rows in measured swatch",
          "value": 28,
          "type": "number",
          "min": 1,
          "max": 1000000,
          "step": 1,
          "showWhen": {
            "mode": [
              "Target stitches and rows"
            ]
          }
        },
        {
          "key": "targetStitches",
          "label": "Stitches in each target piece",
          "value": 100,
          "type": "number",
          "min": 1,
          "max": 1000000,
          "step": 1,
          "showWhen": {
            "mode": [
              "Target stitches and rows"
            ]
          }
        },
        {
          "key": "targetRows",
          "label": "Rows in each target piece",
          "value": 168,
          "type": "number",
          "min": 1,
          "max": 1000000,
          "step": 1,
          "showWhen": {
            "mode": [
              "Target stitches and rows"
            ]
          }
        },
        {
          "key": "pieces",
          "label": "Identical pieces",
          "value": 1,
          "type": "number",
          "min": 1,
          "max": 10000,
          "step": 1
        },
        {
          "key": "extra",
          "label": "Extra material allowance (%)",
          "value": 10,
          "type": "number",
          "min": 0,
          "max": 200,
          "step": "any"
        },
        {
          "key": "ballWeight",
          "label": "Weight per ball or skein",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "ballWeightUnit",
          "label": "Ball weight unit",
          "value": "g",
          "type": "select",
          "values": [
            "g",
            "kg",
            "oz",
            "lb"
          ]
        },
        {
          "key": "ballLength",
          "label": "Length per ball or skein",
          "value": 200,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "ballLengthUnit",
          "label": "Ball length unit",
          "value": "m",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft",
            "yd"
          ]
        }
      ],
      "input": false,
      "live": true,
      "background": false,
      "presentation": "metrics",
      "note": "Scale yarn use from a weighed swatch in the same stitch pattern and gauge. Estimate different fabrics or colors separately, then include your own finishing allowance. Changing units keeps the entered numbers. Calculations run on your device.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Yarn yardage calculator\n\n- Human page: https://happytails.ai/en/calculators/yarn-yardage-calculator/\n- Markdown: https://happytails.ai/en/calculators/yarn-yardage-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/calculators/yarn-yardage-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `yarn-yardage-calculator` |\n| Category | calculators |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nScale yarn use from a weighed swatch in the same stitch pattern and gauge. Estimate different fabrics or colors separately, then include your own finishing allowance. Changing units keeps the entered numbers. Calculations run on your device.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `swatchWidth` | Measured swatch width | number | 10 | min=0 max=1000000000 step=any |\n| `swatchHeight` | Measured swatch height | number | 10 | min=0 max=1000000000 step=any |\n| `swatchUnit` | Swatch dimension unit | select | \"cm\" | Allowed: mm, cm, m, in, ft, yd |\n| `swatchWeight` | Yarn weight in the measured swatch | number | 5 | min=0 max=1000000000 step=any |\n| `weightUnit` | Swatch weight unit | select | \"g\" | Allowed: g, kg, oz, lb |\n| `mode` | Target size input | select | \"Target dimensions\" | Allowed: Target dimensions, Target stitches and rows |\n| `targetWidth` | Target width per piece | number | 50 | min=0 max=1000000000 step=any |\n| `targetHeight` | Target height per piece | number | 60 | min=0 max=1000000000 step=any |\n| `targetUnit` | Target dimension unit | select | \"cm\" | Allowed: mm, cm, m, in, ft, yd |\n| `swatchStitches` | Stitches in measured swatch | number | 20 | min=1 max=1000000 step=1 |\n| `swatchRows` | Rows in measured swatch | number | 28 | min=1 max=1000000 step=1 |\n| `targetStitches` | Stitches in each target piece | number | 100 | min=1 max=1000000 step=1 |\n| `targetRows` | Rows in each target piece | number | 168 | min=1 max=1000000 step=1 |\n| `pieces` | Identical pieces | number | 1 | min=1 max=10000 step=1 |\n| `extra` | Extra material allowance (%) | number | 10 | min=0 max=200 step=any |\n| `ballWeight` | Weight per ball or skein | number | 100 | min=0 max=1000000000 step=any |\n| `ballWeightUnit` | Ball weight unit | select | \"g\" | Allowed: g, kg, oz, lb |\n| `ballLength` | Length per ball or skein | number | 200 | min=0 max=1000000000 step=any |\n| `ballLengthUnit` | Ball length unit | select | \"m\" | Allowed: mm, cm, m, in, ft, yd |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nUp to 10,000 identical pieces, 1 million stitch/row counts and 200% allowance. Rectangular fabric estimate; shaping, cables, color work and finishing are not automatically inferred.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"yarn-yardage-calculator\",\n  \"category\": \"calculators\",\n  \"built\": true,\n  \"requirements\": \"Up to 10,000 identical pieces, 1 million stitch/row counts and 200% allowance. Rectangular fabric estimate; shaping, cables, color work and finishing are not automatically inferred.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"swatchWidth\",\n        \"label\": \"Measured swatch width\",\n        \"value\": 10,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"swatchHeight\",\n        \"label\": \"Measured swatch height\",\n        \"value\": 10,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"swatchUnit\",\n        \"label\": \"Swatch dimension unit\",\n        \"value\": \"cm\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\",\n          \"yd\"\n        ]\n      },\n      {\n        \"key\": \"swatchWeight\",\n        \"label\": \"Yarn weight in the measured swatch\",\n        \"value\": 5,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"weightUnit\",\n        \"label\": \"Swatch weight unit\",\n        \"value\": \"g\",\n        \"type\": \"select\",\n        \"values\": [\n          \"g\",\n          \"kg\",\n          \"oz\",\n          \"lb\"\n        ]\n      },\n      {\n        \"key\": \"mode\",\n        \"label\": \"Target size input\",\n        \"value\": \"Target dimensions\",\n        \"type\": \"select\",\n        \"values\": [\n          \"Target dimensions\",\n          \"Target stitches and rows\"\n        ]\n      },\n      {\n        \"key\": \"targetWidth\",\n        \"label\": \"Target width per piece\",\n        \"value\": 50,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Target dimensions\"\n          ]\n        }\n      },\n      {\n        \"key\": \"targetHeight\",\n        \"label\": \"Target height per piece\",\n        \"value\": 60,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"mode\": [\n            \"Target dimensions\"\n          ]\n        }\n      },\n      {\n        \"key\": \"targetUnit\",\n        \"label\": \"Target dimension unit\",\n        \"value\": \"cm\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\",\n          \"yd\"\n        ],\n        \"showWhen\": {\n          \"mode\": [\n            \"Target dimensions\"\n          ]\n        }\n      },\n      {\n        \"key\": \"swatchStitches\",\n        \"label\": \"Stitches in measured swatch\",\n        \"value\": 20,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 1000000,\n        \"step\": 1,\n        \"showWhen\": {\n          \"mode\": [\n            \"Target stitches and rows\"\n          ]\n        }\n      },\n      {\n        \"key\": \"swatchRows\",\n        \"label\": \"Rows in measured swatch\",\n        \"value\": 28,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 1000000,\n        \"step\": 1,\n        \"showWhen\": {\n          \"mode\": [\n            \"Target stitches and rows\"\n          ]\n        }\n      },\n      {\n        \"key\": \"targetStitches\",\n        \"label\": \"Stitches in each target piece\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 1000000,\n        \"step\": 1,\n        \"showWhen\": {\n          \"mode\": [\n            \"Target stitches and rows\"\n          ]\n        }\n      },\n      {\n        \"key\": \"targetRows\",\n        \"label\": \"Rows in each target piece\",\n        \"value\": 168,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 1000000,\n        \"step\": 1,\n        \"showWhen\": {\n          \"mode\": [\n            \"Target stitches and rows\"\n          ]\n        }\n      },\n      {\n        \"key\": \"pieces\",\n        \"label\": \"Identical pieces\",\n        \"value\": 1,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 10000,\n        \"step\": 1\n      },\n      {\n        \"key\": \"extra\",\n        \"label\": \"Extra material allowance (%)\",\n        \"value\": 10,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 200,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"ballWeight\",\n        \"label\": \"Weight per ball or skein\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"ballWeightUnit\",\n        \"label\": \"Ball weight unit\",\n        \"value\": \"g\",\n        \"type\": \"select\",\n        \"values\": [\n          \"g\",\n          \"kg\",\n          \"oz\",\n          \"lb\"\n        ]\n      },\n      {\n        \"key\": \"ballLength\",\n        \"label\": \"Length per ball or skein\",\n        \"value\": 200,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"ballLengthUnit\",\n        \"label\": \"Ball length unit\",\n        \"value\": \"m\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\",\n          \"yd\"\n        ]\n      }\n    ],\n    \"input\": false,\n    \"live\": true,\n    \"background\": false,\n    \"presentation\": \"metrics\",\n    \"note\": \"Scale yarn use from a weighed swatch in the same stitch pattern and gauge. Estimate different fabrics or colors separately, then include your own finishing allowance. Changing units keeps the entered numbers. Calculations run on your device.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nEstimate yarn length and whole balls from a weighed swatch, target dimensions or stitch counts and the yarn label.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Yarn yardage calculator\n\n1. Enter your measurements, rates or supplied recipe.\n2. Review the quantities, rounding and plan details.\n3. Download the result and verify it against your actual materials or a sample.\n\n## Useful next steps\n\n- [Knitting gauge calculator](https://happytails.ai/en/calculators/knitting-gauge-calculator/) ([Markdown](https://happytails.ai/en/calculators/knitting-gauge-calculator.md))\n\n- [Cross-stitch thread estimator](https://happytails.ai/en/calculators/cross-stitch-thread-estimator/) ([Markdown](https://happytails.ai/en/calculators/cross-stitch-thread-estimator.md))\n\n## Weigh the measured fabric\n\nUse a prepared swatch in the same yarn and stitch pattern. Its weight should belong to the measured area; large tails or unmeasured borders distort the estimate. Enter either target physical dimensions or counts based on the swatch gauge.\n\n### Scale weight, then use label length\n\nA 10 × 10 cm swatch weighing 5 g scales to 150 g for a 50 × 60 cm rectangle. A 10% allowance gives 165 g. If the yarn label says 200 m per 100 g, that is 330 m and two whole balls.\n\n### Save the plan\n\nDownload the result as CSV, plus a text or JSON report with formulas, values and assumptions. Everything is calculated on your device. Changing units keeps the entered numbers, so check the selected units before using the plan.\n"
}