{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "dragon-granny-square-free-crochet-pattern",
  "title": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears",
  "meta_description": "Crochet a dragon granny square with horns, ears and a bobble snout — a free 3.5-inch DK pattern with picot crest, magic ring and full stitch guide",
  "published_at": "2026-08-12",
  "updated_at": "2026-08-12",
  "author": "Nora",
  "thumbnail_url": "data/images/dragon-granny-square-free-crochet-pattern-hero.webp",
  "meta": {
    "title": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears",
    "pattern_name": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears",
    "difficulty": "Intermediate",
    "time_needed": "2-3 Hours",
    "rating": 4.8,
    "made_count": "1.4K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Intermediate",
      "yarn_weight": "DK",
      "tags": [
        "dragon granny square",
        "free crochet pattern",
        "granny square",
        "crochet dragon",
        "bobble stitch",
        "picot crest",
        "dk yarn",
        "blanket square",
        "fantasy crochet",
        "magic ring",
        "intermediate crochet",
        "crochet motif"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Intermediate Level",
          "value": "Comfortable with bobbles, sc2tog and back-loop chain work",
          "raw_text": "Comfortable with bobbles, sc2tog and back-loop chain work",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "hero-info-2",
          "label": "One Evening Make",
          "value": "About 2-3 hours from magic ring to the last fastened-off horn",
          "raw_text": "About 2-3 hours from magic ring to the last fastened-off horn",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "hero-info-3",
          "label": "Fantasy Motif",
          "value": "A dragon face square for blankets, bags and dragon-loving gifts",
          "raw_text": "A dragon face square for blankets, bags and dragon-loving gifts",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 2,
      "card_type": "about",
      "code": "about",
      "title": "About",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "about-info-1",
          "label": "",
          "value": "This pattern turns a plain granny square into a tiny dragon portrait. It features a 3D dragon head with long horns and flowing whiskers. You start with a magic ring and five single crochet, grow the head through paired increases, drop in a 2-dc bobble for the puffy nose, then build a picot crest, two ears and two horns that sweep back from the head. The finished motif is a flat 3.54-inch square worked in four colors, so it slots straight into any granny-square blanket, tote panel or patchwork cushion you already have in progress",
          "raw_text": "This pattern turns a plain granny square into a tiny dragon portrait. It features a 3D dragon head with long horns and flowing whiskers. You start with a magic ring and five single crochet, grow the head through paired increases, drop in a 2-dc bobble for the puffy nose, then build a picot crest, two ears and two horns that sweep back from the head. The finished motif is a flat 3.54-inch square worked in four colors, so it slots straight into any granny-square blanket, tote panel or patchwork cushion you already have in progress",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "about-info-2",
          "label": "",
          "value": "The technique list is a nice intermediate stretch: magic ring, single crochet increases, half double crochet, a 2-dc bobble worked over three skipped stitches, sc2tog, chain-1 picots, and horns, ears and whiskers built by chaining then working back along the back loops of that chain. Nothing is difficult in isolation, but the turning rows and the exact anchor points for each horn demand attention. Budget two to three hours the first time, and closer to ninety minutes once the horn placement clicks",
          "raw_text": "The technique list is a nice intermediate stretch: magic ring, single crochet increases, half double crochet, a 2-dc bobble worked over three skipped stitches, sc2tog, chain-1 picots, and horns, ears and whiskers built by chaining then working back along the back loops of that chain. Nothing is difficult in isolation, but the turning rows and the exact anchor points for each horn demand attention. Budget two to three hours the first time, and closer to ninety minutes once the horn placement clicks",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "about-info-3",
          "label": "",
          "value": "Off the hook you get a crisp 3.54 in by 3.54 in square in DK on a 3.00mm hook — dense enough to hold the horns upright, light enough to join without bulk. The bobble nose sits proud of the fabric, the picot crest reads as a row of tiny spikes, and the ears tuck neatly in front of the horns. The dragon face is worked as an appliqué and sewn onto a solid granny square background, so you can make one as a pocket patch, nine for a nursery blanket, or a whole hoard in different colorways for a dragon-obsessed kid's quilt",
          "raw_text": "Off the hook you get a crisp 3.54 in by 3.54 in square in DK on a 3.00mm hook — dense enough to hold the horns upright, light enough to join without bulk. The bobble nose sits proud of the fabric, the picot crest reads as a row of tiny spikes, and the ears tuck neatly in front of the horns. The dragon face is worked as an appliqué and sewn onto a solid granny square background, so you can make one as a pocket patch, nine for a nursery blanket, or a whole hoard in different colorways for a dragon-obsessed kid's quilt",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 3,
      "card_type": "why_love",
      "code": "why-love",
      "title": "Why You'll Love This Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "why-love-1",
          "label": "",
          "value": "I have made a lot of granny squares, and this is the first one that made me laugh out loud when the face appeared. The moment that sells it for me is the 2-dc bobble: you skip three stitches, work the bobble, then go back and fill in those skipped stitches with half doubles — and suddenly there is a snout poking off the surface instead of a flat blob. It feels like sculpting rather than stitching. I also love how economical the crest is. Three chain-1 picots over a single sc2tog is all it takes to read as spiky dragon ridge, and the sc2tog then does double duty as the anchor point for both back horns. The horns themselves are my favorite trick in the whole pattern: chain 8, turn, and travel back along the back loops only with slip stitches and single crochet. The back-loop-only return is what gives them that curved, slightly twisted look instead of a flat spike, and the same chain-and-return trick builds the ears and the whiskers around the face. And because the whole thing finishes at 3.54 inches, you get all that character in one evening",
          "raw_text": "I have made a lot of granny squares, and this is the first one that made me laugh out loud when the face appeared. The moment that sells it for me is the 2-dc bobble: you skip three stitches, work the bobble, then go back and fill in those skipped stitches with half doubles — and suddenly there is a snout poking off the surface instead of a flat blob. It feels like sculpting rather than stitching. I also love how economical the crest is. Three chain-1 picots over a single sc2tog is all it takes to read as spiky dragon ridge, and the sc2tog then does double duty as the anchor point for both back horns. The horns themselves are my favorite trick in the whole pattern: chain 8, turn, and travel back along the back loops only with slip stitches and single crochet. The back-loop-only return is what gives them that curved, slightly twisted look instead of a flat spike, and the same chain-and-return trick builds the ears and the whiskers around the face. And because the whole thing finishes at 3.54 inches, you get all that character in one evening",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 4,
      "card_type": "switch_things_up",
      "code": "switch-things-up",
      "title": "Switch Things Up",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "switch-1",
          "label": "",
          "value": "Color is where this square gets addictive. The classic combo is a sage or forest green head, cream horns and ears, a gold bobble nose and a rust picot crest — very storybook dragon. For an ice dragon, go icy blue head, white horns, silver-grey crest and a pale pink snout. For a lava dragon, flip it: charcoal head, bright orange crest picots, and a red bobble. Because the pattern already calls for four colors, you can also make one horn pair contrast with the other for a mismatched, mischievous look. Size changes are straightforward. Work the whole square in worsted on a 4.00mm hook and it grows to roughly 4.5 inches; drop to fingering on a 2.50mm hook and you get a 2.5-inch mini dragon perfect for a bookmark topper or brooch. To make the horns bigger without redrawing anything, chain 10 instead of 8 and work back with 2slst, sk1, 6sc — the extra two chains add length without changing the anchor stitches. For a hornless baby dragon, skip the two ch-8 horn sections entirely and just leave the picot crest and ears. Yarn-wise, Paintbox Simply DK and Scheepjes Catona (held for a slightly denser square) both hold the horn shape well; avoid anything with a heavy halo, since mohair blurs the picots. Nine squares joined 3x3 makes a cushion cover; twenty-five makes a toddler blanket that kids will genuinely fight over",
          "raw_text": "Color is where this square gets addictive. The classic combo is a sage or forest green head, cream horns and ears, a gold bobble nose and a rust picot crest — very storybook dragon. For an ice dragon, go icy blue head, white horns, silver-grey crest and a pale pink snout. For a lava dragon, flip it: charcoal head, bright orange crest picots, and a red bobble. Because the pattern already calls for four colors, you can also make one horn pair contrast with the other for a mismatched, mischievous look. Size changes are straightforward. Work the whole square in worsted on a 4.00mm hook and it grows to roughly 4.5 inches; drop to fingering on a 2.50mm hook and you get a 2.5-inch mini dragon perfect for a bookmark topper or brooch. To make the horns bigger without redrawing anything, chain 10 instead of 8 and work back with 2slst, sk1, 6sc — the extra two chains add length without changing the anchor stitches. For a hornless baby dragon, skip the two ch-8 horn sections entirely and just leave the picot crest and ears. Yarn-wise, Paintbox Simply DK and Scheepjes Catona (held for a slightly denser square) both hold the horn shape well; avoid anything with a heavy halo, since mohair blurs the picots. Nine squares joined 3x3 makes a cushion cover; twenty-five makes a toddler blanket that kids will genuinely fight over",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 5,
      "card_type": "common_mistakes",
      "code": "common-mistakes",
      "title": "Common Mistakes & How to Fix Them",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "mistake",
          "code": "mistake-1",
          "label": "Leaving the magic ring loose after the first round of 5 sc",
          "value": "The instruction to pull the tail tightly is not optional here — this is a face, and a gappy center shows as a hole right between the eyes. Close the ring fully before you slip stitch to the first sc, then weave the tail in the opposite direction of the pull so it cannot slowly work loose. If your ring still relaxes over time, thread the tail through the ring stitches once more before weaving in",
          "raw_text": "The instruction to pull the tail tightly is not optional here — this is a face, and a gappy center shows as a hole right between the eyes. Close the ring fully before you slip stitch to the first sc, then weave the tail in the opposite direction of the pull so it cannot slowly work loose. If your ring still relaxes over time, thread the tail through the ring stitches once more before weaving in",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "mistake",
          "code": "mistake-2",
          "label": "Working the 2-dc bobble into the",
          "value": "The sequence is: skip 3 stitches, make the 2-dc bobble, then go back to the first st you skipped and work 1 hdc, 1 hdc. Crocheters often place the bobble in the third skipped stitch by reflex, which flattens the snout and pulls the face crooked. Place a stitch marker in the stitch immediately before the skip so you know exactly where to return",
          "raw_text": "The sequence is: skip 3 stitches, make the 2-dc bobble, then go back to the first st you skipped and work 1 hdc, 1 hdc. Crocheters often place the bobble in the third skipped stitch by reflex, which flattens the snout and pulls the face crooked. Place a stitch marker in the stitch immediately before the skip so you know exactly where to return",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "mistake",
          "code": "mistake-3",
          "label": "Losing track of the sc2tog after turning the work",
          "value": "The sc2tog is the single most important landmark in this pattern — the picot crest sits on it, the left horn anchors to its back-side loop, and both leg stitches are referenced later. Put a locking stitch marker through the sc2tog the moment you make it and leave it there until both horns are attached. Do not remove it just because the crest is finished",
          "raw_text": "The sc2tog is the single most important landmark in this pattern — the picot crest sits on it, the left horn anchors to its back-side loop, and both leg stitches are referenced later. Put a locking stitch marker through the sc2tog the moment you make it and leave it there until both horns are attached. Do not remove it just because the crest is finished",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "mistake",
          "code": "mistake-4",
          "label": "Working the returns through both loops",
          "value": "The horns are built by chaining 8, skipping 1, then working 2slst, sk1, 4sc into the back loop (BL) of the chain, and the ears and whiskers use the same back-loop return. Going through both loops makes a stiff, flat spike that will not curve. The source is explicit about this: to preserve the face shape, avoid working in the front loops of the outer stitches and chains — work in the back loops or underneath loops instead",
          "raw_text": "The horns are built by chaining 8, skipping 1, then working 2slst, sk1, 4sc into the back loop (BL) of the chain, and the ears and whiskers use the same back-loop return. Going through both loops makes a stiff, flat spike that will not curve. The source is explicit about this: to preserve the face shape, avoid working in the front loops of the outer stitches and chains — work in the back loops or underneath loops instead",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "mistake",
          "code": "mistake-5",
          "label": "Starting both back horns from the same side of the sc2tog",
          "value": "The right horn starts in the stitch below the sc2tog's right leg; the left horn is joined to the back-side loop of the sc2tog itself and finishes in the stitch below the left leg. They are deliberately asymmetric in their anchor points so the horns end up symmetric on the finished square. Count the stitches out loud before joining each one, and check the head is right-side-facing before you start",
          "raw_text": "The right horn starts in the stitch below the sc2tog's right leg; the left horn is joined to the back-side loop of the sc2tog itself and finishes in the stitch below the left leg. They are deliberately asymmetric in their anchor points so the horns end up symmetric on the finished square. Count the stitches out loud before joining each one, and check the head is right-side-facing before you start",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "mistake",
          "code": "mistake-6",
          "label": "Making the ears too tight so they stick straight out",
          "value": "Both ears use a ch-4, return, sk1, back-loop return over the next 3 chains. If your chains are tight, the ear buckles and will not lie against the head. Chain the ear loosely — one hook size larger for just the chain is fine — and after the final slip stitch, pin the ear flat and steam it lightly so it sits alongside the horns rather than in front of them",
          "raw_text": "Both ears use a ch-4, return, sk1, back-loop return over the next 3 chains. If your chains are tight, the ear buckles and will not lie against the head. Chain the ear loosely — one hook size larger for just the chain is fine — and after the final slip stitch, pin the ear flat and steam it lightly so it sits alongside the horns rather than in front of them",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "mistake",
          "code": "mistake-7",
          "label": "Spacing the whisker clusters unevenly along the edge",
          "value": "The whiskers on both sides of the face have to mirror each other, and the source gives the rule that keeps them balanced: after you finish each whisker appliqué, skip a distance along the outer edge that equals the width of that whisker's bottom before starting the next one. Eyeball it once and one side will end up crowded — measure the bottom of the cluster you just made and match the gap to it",
          "raw_text": "The whiskers on both sides of the face have to mirror each other, and the source gives the rule that keeps them balanced: after you finish each whisker appliqué, skip a distance along the outer edge that equals the width of that whisker's bottom before starting the next one. Eyeball it once and one side will end up crowded — measure the bottom of the cluster you just made and match the gap to it",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 6,
      "card_type": "materials",
      "code": "materials",
      "title": "Materials",
      "raw_heading": "",
      "quantity": 1,
      "groups": [
        {
          "order": 1,
          "group_code": "group-1",
          "group_name": "",
          "rows": [
            {
              "order": 1,
              "row_type": "item",
              "code": "mat-1-1",
              "label": "",
              "value": "Yarn of your choice —4 colors; the sample is made with DK sports. The finished granny square is about 3.54 inches by 3.54 inches.",
              "raw_text": "Yarn of your choice —4 colors; the sample is made with DK sports. The finished granny square is about 3.54 inches by 3.54 inches."
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "Crochet hook- we are using a 3.00mm hook",
              "raw_text": "Crochet hook- we are using a 3.00mm hook"
            },
            {
              "order": 3,
              "row_type": "item",
              "code": "mat-1-3",
              "label": "",
              "value": "Darning Needle",
              "raw_text": "Darning Needle"
            },
            {
              "order": 4,
              "row_type": "item",
              "code": "mat-1-4",
              "label": "",
              "value": "Scissors",
              "raw_text": "Scissors"
            }
          ]
        }
      ],
      "rows": []
    },
    {
      "order": 7,
      "card_type": "abbreviations",
      "code": "abbreviations",
      "title": "Abbreviations",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "abbrev",
          "code": "abbrev-ch",
          "label": "ch",
          "value": "chain stitch",
          "raw_text": "ch = chain stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain stitch"
        },
        {
          "order": 2,
          "row_type": "abbrev",
          "code": "abbrev-ch-sp",
          "label": "ch-sp",
          "value": "chain space",
          "raw_text": "ch-sp = chain space",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch-sp",
          "meaning": "chain space"
        },
        {
          "order": 3,
          "row_type": "abbrev",
          "code": "abbrev-sc",
          "label": "sc",
          "value": "single crochet",
          "raw_text": "sc = single crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc",
          "meaning": "single crochet"
        },
        {
          "order": 4,
          "row_type": "abbrev",
          "code": "abbrev-dc",
          "label": "dc",
          "value": "double crochet",
          "raw_text": "dc = double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "dc",
          "meaning": "double crochet"
        },
        {
          "order": 5,
          "row_type": "abbrev",
          "code": "abbrev-hdc",
          "label": "hdc",
          "value": "half double crochet",
          "raw_text": "hdc = half double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "hdc",
          "meaning": "half double crochet"
        },
        {
          "order": 6,
          "row_type": "abbrev",
          "code": "abbrev-inc",
          "label": "inc",
          "value": "increase",
          "raw_text": "inc = increase",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "inc",
          "meaning": "increase"
        },
        {
          "order": 7,
          "row_type": "abbrev",
          "code": "abbrev-rep",
          "label": "rep",
          "value": "repeat",
          "raw_text": "rep = repeat",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "rep",
          "meaning": "repeat"
        },
        {
          "order": 8,
          "row_type": "abbrev",
          "code": "abbrev-st",
          "label": "st",
          "value": "stitch",
          "raw_text": "st = stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "st",
          "meaning": "stitch"
        },
        {
          "order": 9,
          "row_type": "abbrev",
          "code": "abbrev-slst-/-sl-st",
          "label": "slst / sl st",
          "value": "slip stitch for joining different rounds",
          "raw_text": "slst / sl st = slip stitch for joining different rounds",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "slst / sl st",
          "meaning": "slip stitch for joining different rounds"
        },
        {
          "order": 10,
          "row_type": "abbrev",
          "code": "abbrev-sk",
          "label": "sk",
          "value": "skip",
          "raw_text": "sk = skip",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sk",
          "meaning": "skip"
        },
        {
          "order": 11,
          "row_type": "abbrev",
          "code": "abbrev-yo",
          "label": "yo",
          "value": "yarn over",
          "raw_text": "yo = yarn over",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "yo",
          "meaning": "yarn over"
        },
        {
          "order": 12,
          "row_type": "abbrev",
          "code": "abbrev-bo",
          "label": "bo",
          "value": "bobble stitch",
          "raw_text": "bo = bobble stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "bo",
          "meaning": "bobble stitch"
        },
        {
          "order": 13,
          "row_type": "abbrev",
          "code": "abbrev-pic",
          "label": "pic",
          "value": "picot stitch",
          "raw_text": "pic = picot stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "pic",
          "meaning": "picot stitch"
        },
        {
          "order": 14,
          "row_type": "abbrev",
          "code": "abbrev-sc2tog",
          "label": "sc2tog",
          "value": "single crochet 2 stitches together",
          "raw_text": "sc2tog = single crochet 2 stitches together",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc2tog",
          "meaning": "single crochet 2 stitches together"
        },
        {
          "order": 15,
          "row_type": "abbrev",
          "code": "abbrev-bl",
          "label": "BL",
          "value": "back loop",
          "raw_text": "BL = back loop",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "BL",
          "meaning": "back loop"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "Crochet the Dragon Face",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "main-pattern-info-13",
          "label": "How it comes together",
          "value": "We will start by crocheting the face with a puffy nose. Next, add the ears, horns, and whiskers by making chains and working back along them. Finish the dragon by adding tiny eyes and sewing it onto a solid square.",
          "raw_text": "We will start by crocheting the face with a puffy nose. Next, add the ears, horns, and whiskers by making chains and working back along them. Finish the dragon by adding tiny eyes and sewing it onto a solid square.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "main-pattern-round-1",
          "label": "Round 1",
          "value": "Magic ring, ch1, 5sc, slst to the first sc, pull the tail tightly.",
          "raw_text": "Round 1: Magic ring, ch1, 5sc, slst to the first sc, pull the tail tightly.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "main-pattern-round-2",
          "label": "Round 2",
          "value": "ch1 to start, (sc inc)×2, 3sc, slst.",
          "raw_text": "Round 2: ch1 to start, (sc inc)×2, 3sc, slst.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "main-pattern-round-3",
          "label": "Row 3",
          "value": "ch2(count as hdc), 1hdc. sk3, 2-dc-bo. back to the first st we sk: 1hdc, 1hdc.",
          "raw_text": "Row 3: ch2(count as hdc), 1hdc. sk3, 2-dc-bo. back to the first st we sk: 1hdc, 1hdc.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "round",
          "code": "main-pattern-info-1",
          "label": "Row 4",
          "value": "Turn over. ch1+1sc, 1sc, sk the bo, 2sc.",
          "raw_text": "Row 4: Turn over . ch1+1sc, 1sc, sk the bo, 2sc.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "round",
          "code": "main-pattern-round-5",
          "label": "Row 5",
          "value": "Turn Over. ch3+hdc+ch2+slst in first st. slst to 2nd st. sc2tog over 2nd and 3rd st, ch1, (ch-1 pic)×3, slst in the TL of sc2tog, slst in the same st from the left of the sc2tog(slst in the 3rd st). slst+ch2+hdc+ch3 in 4th st, slst, fasten off.",
          "raw_text": "Row 5:  Turn Over .  ch3+hdc+ch2+slst  in first st.  slst  to 2nd st.  sc2tog  over 2nd and 3rd st,  ch1, (ch-1 pic)×3 ,  slst  in the  TL  of sc2tog,  slst  in the same st from the left of the sc2tog(slst in the 3rd st).  slst+ch2+hdc+ch3  in 4th st, slst, fasten off.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "main-pattern-info-2",
          "label": "Two Ears",
          "value": "The ears are made the same way as the horns and whiskers: chain out from the face, then crochet back along the chain to build the shape.",
          "raw_text": "The ears are made the same way as the horns and whiskers: chain out from the face, then crochet back along the chain to build the shape.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "info",
          "code": "main-pattern-info-3",
          "label": "Right ear",
          "value": "Join to the hdc on the right, ch4, return, sk1, BL of next 3 ch: slst, 2sc. slst to next ch-sp, fasten off.",
          "raw_text": "Right ear : Join to the hdc on the right, ch4, return, sk1, BL of next 3 ch: slst, 2sc. slst to next ch-sp, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "info",
          "code": "main-pattern-info-4",
          "label": "Left ear",
          "value": "Locate the ch2 on the left, join new yarn to the top of this ch2, ch4, return, sk1, BL of next 3 ch: slst, sk1, sc. slst to next st, fasten off.",
          "raw_text": "Left ear : Locate the ch2 on the left, join new yarn to the top of this ch2, ch4, return, sk1, BL of next 3 ch: slst, sk1, sc. slst to next st, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "info",
          "code": "main-pattern-info-5",
          "label": "Top Two Horns",
          "value": "The ridge between the two ears is our dragon's crest, constructed from stitches with a sc2tog anchoring the bottom center. For an authentic dragon character, the horns stretch from the back of the head symmetrically. So pay careful attention to where each horn starts and ends!",
          "raw_text": "The ridge between the two ears is our dragon's crest, constructed from stitches with a sc2tog anchoring the bottom center. For an authentic dragon character, the horns stretch from the back of the head symmetrically. So pay careful attention to where each horn starts and ends!",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "info",
          "code": "main-pattern-info-6",
          "label": "Right horn",
          "value": "Join the new yarn to the st below the sc2tog's right leg, ch8. Return, sk1, BL of next 7 ch: 2slst, sk1, 4sc.",
          "raw_text": "Join the new yarn to the st below the sc2tog's right leg,  ch8 . Return,  sk1 , BL of next 7 ch:  2slst, sk1, 4sc .",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 12,
          "row_type": "info",
          "code": "main-pattern-info-7",
          "label": "Left horn",
          "value": "slst to the back-side loop of the sc2tog, ch8. Return: sk1, BL of next 7 ch: 2slst, 5sc. slst to the st below the sc2tog's left leg. ch3 (hide under the left ear), slst in the bottom-center st of this ear.",
          "raw_text": "slst  to the back-side loop of the sc2tog,  ch8 . Return:  sk1 , BL of next 7 ch:  2slst, 5sc. slst  to the st below the sc2tog's left leg.  ch3 (hide under the left ear),  slst  in the bottom-center st of this ear.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "info",
          "code": "main-pattern-info-8",
          "label": "Whiskers",
          "value": "Whiskers around the dragon's face. Here are the key tips to create the most charming dragon face!",
          "raw_text": "Whiskers around Dragon's Face. Here are the key tips to create the most charming dragon face!",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 14,
          "row_type": "info",
          "code": "main-pattern-info-14",
          "label": "Protect the face shape",
          "value": "To preserve that beautiful face shape, we should avoid working in the front loops of the outer stitches and chains. Instead, work in the back loops or underneath loops.",
          "raw_text": "Protecting the Face Shape: To preserve that beautiful face shape, we should avoid working in the front loops of the outer stitches and chains. Instead, work in the back loops or underneath loops.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 15,
          "row_type": "info",
          "code": "main-pattern-info-15",
          "label": "Symmetrical whiskers",
          "value": "The whiskers on both sides of the face should mirror each other perfectly. When creating each whisker cluster, we'll chain out and then crochet back to form that textured whisker shape.",
          "raw_text": "Creating Symmetrical Whiskers: The whiskers on both sides of the face should mirror each other perfectly. When creating each whisker cluster, we'll chain out and then crochet back to form that textured whisker shape.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 16,
          "row_type": "info",
          "code": "main-pattern-info-16",
          "label": "Spacing the whiskers",
          "value": "After we finish each whisker appliqué, skip a distance along the outer edge that equals the width of that whisker's bottom. This keeps our dragon looking balanced!",
          "raw_text": "After we finish each whisker appliqué, skip a distance along the outer edge that equals the width of that whisker's bottom. This keeps our dragon looking balanced!",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 17,
          "row_type": "info",
          "code": "main-pattern-info-9",
          "label": "Left whiskers",
          "value": "ch3, return, sk1, BL of the next 2ch: slst, sc. work along the edge: sk1, slst. ch3, return, sk1, BL of next 2 ch: slst, sc inc. work along the edge: hdc inc, slst. ch4, return, sk1, BL of next 3 ch: slst, sc, hdc.",
          "raw_text": "Left :  ch3 , return,  sk1 , BL of the next 2ch:  slst, sc . work along the edge:  sk1, slst. ch3,  return,  sk1 , BL of next 2 ch:  slst, sc inc . work along the edge:  hdc inc, slst .  ch4 , return,  sk1,  BL of next 3 ch:  slst, sc, hdc .",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 18,
          "row_type": "info",
          "code": "main-pattern-info-10",
          "label": "Bottom",
          "value": "Work along the edge: slst, ch2(hide underneath), slst to the opposite st.",
          "raw_text": "Bottom : Work along the edge: slst, ch2(hide underneath), slst to the opposite st.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 19,
          "row_type": "info",
          "code": "main-pattern-info-11",
          "label": "Right whiskers",
          "value": "ch4, return, sk1, BL of next 3 ch: slst, sc, hdc. work along the edge: slst, hdc inc, sc inc, ch1, ch-1 pic, sc in the BL of the ch1 before this pic, slst. ch3, return, sk1, BL of next 2ch: slst, sc. work along the edge, slst, ch3, slst in the joining loop, fasten off.",
          "raw_text": "Right :  ch4 , return,  sk1 , BL of next 3 ch:  slst, sc, hdc . work along the edge:  slst, hdc inc, sc inc, ch1, ch-1 pic, sc  in the BL of the ch1 before this pic,  slst .  ch3 , return,  sk1 , BL of next 2ch:  slst, sc . work along the edge,  slst, ch3 , slst in the joining loop, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "card_type": "part",
      "code": "part-2",
      "title": "The Background - Solid Granny Square",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "part-2-info-4",
          "label": "Background",
          "value": "Crochet a Solid Granny Square as a background for the dragon face appliqué.",
          "raw_text": "Crochet a Solid Granny Square as a background.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "part-2-info-1",
          "label": "Round 1",
          "value": "Start with a magic loop. ch3 as a standing st(count as 1dc). 3dc, ch3. *(4dc, ch3) * rep 3 times omitting final ch3, ch1, 1hdc connects back to your starting ch3.",
          "raw_text": "Round 1: Start with a magic loop. ch3 as a standing st(count as 1dc). 3dc, ch3. *(4dc, ch3) * rep 3 times omitting final ch3, ch1, 1hdc connects back to your starting ch3.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "part-2-round-2-3",
          "label": "Round 2-3",
          "value": "ch3(counts as dc), 1dc in this corner. (2dc+ch3+2dc) in remaining corners. 1dc in remaining sts. 2dc in the start corner. ch1, 1hdc connect back to the first ch3.",
          "raw_text": "Round 2-3: ch3(counts as dc), 1dc in this corner. (2dc+ch3+2dc) in remaining corners. 1dc in remaining sts. 2dc in the start corner. ch1, 1hdc connect back to the first ch3.",
          "round_start": 2,
          "round_end": 3,
          "is_range": true,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "part-2-round-4",
          "label": "Round 4",
          "value": "ch3 as a standing st(count as 1dc), 1dc in this corner sp. (2dc+ch3+2dc) in remaining corners. 1dc in remaining sts. 2dc in the starting corner, ch3, sl st to the true dc after first ch3, fasten off.",
          "raw_text": "Round 4: ch3 as a standing st(count as 1dc), 1dc in this corner sp. (2dc+ch3+2dc) in remaining corners. 1dc in remaining sts. 2dc in the starting corner, ch3, sl st to the true dc after first ch3, fasten off.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "info",
          "code": "part-2-info-2",
          "label": "Assemble",
          "value": "Sew this dragon appliqué to the center of the solid granny square. Now thread your matching yarn through the edge loops of both the appliqué and the base square, working in and out as you go. Pull each stitch snug so everything stays firmly in place.",
          "raw_text": "Sew this dragon appliqué to the center of the solid granny square. Now thread your matching yarn through the edge loops of both the appliqué and the base square, working in and out as you go. Pull each stitch snug so everything stays firmly in place.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "info",
          "code": "part-2-info-3",
          "label": "Eyes",
          "value": "And, make two French knots on either side of the center for eyes!",
          "raw_text": "And, make two French knots on either side of the center for eyes!",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 10,
      "card_type": "important_notes",
      "code": "important-notes",
      "title": "Important Notes",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "note-1",
          "label": "Note",
          "value": "💡 The sample uses a 3.00mm hook with DK, and the finished square measures about 3.54 inches by 3.54 inches. That tightness is intentional: it keeps the bobble nose raised and stops the horns from flopping. If your square comes out floppy at 3.54 inches, go down to 2.75mm rather than changing the stitch counts",
          "raw_text": "💡 The sample uses a 3.00mm hook with DK, and the finished square measures about 3.54 inches by 3.54 inches. That tightness is intentional: it keeps the bobble nose raised and stops the horns from flopping. If your square comes out floppy at 3.54 inches, go down to 2.75mm rather than changing the stitch counts",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "note-2",
          "label": "Note",
          "value": "💡 Use four locking stitch markers, not one. Mark the sc2tog, the hdc on the right where the right ear joins, the ch-2 on the left where the left ear joins, and the stitch below the sc2tog's right leg. Every later instruction refers back to one of these four points, and hunting for them mid-round is where most people go wrong",
          "raw_text": "💡 Use four locking stitch markers, not one. Mark the sc2tog, the hdc on the right where the right ear joins, the ch-2 on the left where the left ear joins, and the stitch below the sc2tog's right leg. Every later instruction refers back to one of these four points, and hunting for them mid-round is where most people go wrong",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "note-3",
          "label": "Note",
          "value": "💡 With four colors you will have a lot of ends. Join new yarn with the tail on the wrong side and weave in each color as soon as you finish it rather than saving them all for the end — once the horns and ears are attached, getting a darning needle behind the fabric becomes fiddly",
          "raw_text": "💡 With four colors you will have a lot of ends. Join new yarn with the tail on the wrong side and weave in each color as soon as you finish it rather than saving them all for the end — once the horns and ears are attached, getting a darning needle behind the fabric becomes fiddly",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "info",
          "code": "note-4",
          "label": "Note",
          "value": "💡 The ch-3 at the end of the left horn is meant to hide under the left ear. Work it a little loosely and tuck it under the ear before slip stitching into the ear's bottom-center stitch; if you pull it tight, the ear lifts and the join becomes visible from the front",
          "raw_text": "💡 The ch-3 at the end of the left horn is meant to hide under the left ear. Work it a little loosely and tuck it under the ear before slip stitching into the ear's bottom-center stitch; if you pull it tight, the ear lifts and the join becomes visible from the front",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "info",
          "code": "note-5",
          "label": "Note",
          "value": "💡 Count the turning chains carefully. In Row 3 the ch-2 counts as an hdc, and Rows 4 and 5 both begin by turning the work over — mixing those up shifts the whole face by one stitch and the horns will not line up symmetrically. Read each turning instruction before you work it, not after",
          "raw_text": "💡 Count the turning chains carefully. In Row 3 the ch-2 counts as an hdc, and Rows 4 and 5 both begin by turning the work over — mixing those up shifts the whole face by one stitch and the horns will not line up symmetrically. Read each turning instruction before you work it, not after",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "info",
          "code": "note-6",
          "label": "Note",
          "value": "💡 Block gently with steam, not by soaking and pinning hard. Hard blocking flattens the bobble nose and the three picots of the crest, which are the two details doing all the visual work. Hover the iron above the square, press the flat background lightly with your fingers, and leave the raised parts alone",
          "raw_text": "💡 Block gently with steam, not by soaking and pinning hard. Hard blocking flattens the bobble nose and the three picots of the crest, which are the two details doing all the visual work. Hover the iron above the square, press the flat background lightly with your fingers, and leave the raised parts alone",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 11,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "Do I need to stuff the dragon's snout to make it pop?",
          "value": "No stuffing at all — this is a flat granny square, and the raised snout comes entirely from the 2-dc bobble worked over three skipped stitches. If it looks flat, your bobble is likely too loose; pull the closing loop firmly to push the bobble to the front of the fabric",
          "raw_text": "No stuffing at all — this is a flat granny square, and the raised snout comes entirely from the 2-dc bobble worked over three skipped stitches. If it looks flat, your bobble is likely too loose; pull the closing loop firmly to push the bobble to the front of the fabric",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Do I need to stuff the dragon's snout to make it pop?",
          "answer": "No stuffing at all — this is a flat granny square, and the raised snout comes entirely from the 2-dc bobble worked over three skipped stitches. If it looks flat, your bobble is likely too loose; pull the closing loop firmly to push the bobble to the front of the fabric",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Can I make this square in worsted weight instead of DK?",
          "value": "Yes. Worsted on a 4.00mm hook produces a square around 4.5 inches instead of 3.54 inches, with slightly chunkier horns. Just make sure every square in your project uses the same yarn and hook, since mixing weights across a blanket makes joining a nightmare",
          "raw_text": "Yes. Worsted on a 4.00mm hook produces a square around 4.5 inches instead of 3.54 inches, with slightly chunkier horns. Just make sure every square in your project uses the same yarn and hook, since mixing weights across a blanket makes joining a nightmare",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I make this square in worsted weight instead of DK?",
          "answer": "Yes. Worsted on a 4.00mm hook produces a square around 4.5 inches instead of 3.54 inches, with slightly chunkier horns. Just make sure every square in your project uses the same yarn and hook, since mixing weights across a blanket makes joining a nightmare",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "Why do the two horns have different",
          "value": "The right horn returns with 2slst, sk1, 4sc and the left with 2slst, 5sc because they anchor at different points around the sc2tog. The uneven counts are what make the finished horns look mirrored on the front of the square, so resist the urge to even them up",
          "raw_text": "The right horn returns with 2slst, sk1, 4sc and the left with 2slst, 5sc because they anchor at different points around the sc2tog. The uneven counts are what make the finished horns look mirrored on the front of the square, so resist the urge to even them up",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Why do the two horns have different stitch counts on the return?",
          "answer": "The right horn returns with 2slst, sk1, 4sc and the left with 2slst, 5sc because they anchor at different points around the sc2tog. The uneven counts are what make the finished horns look mirrored on the front of the square, so resist the urge to even them up",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "How many squares do I need for a blanket?",
          "value": "3.54 inches per square, a 3x3 arrangement gives you a small cushion front, 5x5 makes a stroller blanket around 18 inches, and 8x10 gets you a toddler blanket. Add a couple of rounds of border in your main color to frame the dragon faces",
          "raw_text": "3.54 inches per square, a 3x3 arrangement gives you a small cushion front, 5x5 makes a stroller blanket around 18 inches, and 8x10 gets you a toddler blanket. Add a couple of rounds of border in your main color to frame the dragon faces",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How many squares do I need for a blanket?",
          "answer": "3.54 inches per square, a 3x3 arrangement gives you a small cushion front, 5x5 makes a stroller blanket around 18 inches, and 8x10 gets you a toddler blanket. Add a couple of rounds of border in your main color to frame the dragon faces",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "Where do I put the eyes?",
          "value": "The eyes go on last, after the dragon face is sewn to the solid granny square: make two French knots on either side of the center. If you would rather not embroider, small satin-stitch eyes in black work too, or safety eyes if the finished item is not for a baby",
          "raw_text": "The eyes go on last, after the dragon face is sewn to the solid granny square: make two French knots on either side of the center. If you would rather not embroider, small satin-stitch eyes in black work too, or safety eyes if the finished item is not for a baby",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Where do I put the eyes?",
          "answer": "The eyes go on last, after the dragon face is sewn to the solid granny square: make two French knots on either side of the center. If you would rather not embroider, small satin-stitch eyes in black work too, or safety eyes if the finished item is not for a baby",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/dragon-granny-square-free-crochet-pattern-hero.webp",
    "data/images/dragon-granny-square-free-crochet-pattern-step-2.webp",
    "data/images/dragon-granny-square-free-crochet-pattern-step-3.webp",
    "data/images/dragon-granny-square-free-crochet-pattern-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/dragon-granny-square-free-crochet-pattern-hero.webp",
      "alt": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/dragon-granny-square-free-crochet-pattern-hero.webp",
      "alt": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/dragon-granny-square-free-crochet-pattern-step-2.webp",
      "alt": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/dragon-granny-square-free-crochet-pattern-step-3.webp",
      "alt": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/dragon-granny-square-free-crochet-pattern-step-4.webp",
      "alt": "Dragon Granny Square: Free Crochet Pattern with Horns and Ears — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 0
}