{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "pinwheel-granny-square-free-crochet-pattern",
  "title": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern",
  "meta_description": "Free pinwheel granny square crochet pattern with two-color spirals. Learn mid-stitch color changes and shaped blades in a 3.7-inch DK square",
  "published_at": "2026-07-27",
  "updated_at": "2026-07-27",
  "author": "Ruby",
  "thumbnail_url": "data/images/pinwheel-granny-square-free-crochet-pattern-hero.webp",
  "meta": {
    "title": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern",
    "pattern_name": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern",
    "difficulty": "Intermediate",
    "time_needed": "1-2 Hours",
    "rating": 4.8,
    "made_count": "1.2K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Intermediate",
      "yarn_weight": "DK",
      "tags": [
        "granny square",
        "pinwheel granny square",
        "free pattern",
        "two color crochet",
        "color change tutorial",
        "dk weight",
        "blanket square",
        "geometric crochet",
        "spiral crochet",
        "afghan square",
        "double crochet",
        "beginner friendly motif"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Beginner Friendly",
          "value": "Mostly double crochet with some sc and slst; the color change is the only new skill",
          "raw_text": "Mostly double crochet with some sc and slst; the color change is the only new skill",
          "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": "Single Evening",
          "value": "1-2 hours per square from chain ring to final border",
          "raw_text": "1-2 hours per square from chain ring to final border",
          "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": "Blanket Builder",
          "value": "A 3.7-inch motif that spins into stunning afghans",
          "raw_text": "A 3.7-inch motif that spins into stunning afghans",
          "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 pinwheel granny square turns the humble double crochet into something that genuinely looks like it is spinning, capturing the playful spin of a windmill with blades rotating around the center. Starting from a simple ch7 loop, alternating three-stitch color blocks build outward until the blades pinwheel across the motif. It finishes at roughly 3.7 inches square in DK weight, which makes it an ideal building block for blankets, cushion covers, and patchwork bags. If you love granny squares but want something with more visual movement than the classic cluster version, this is your pattern",
          "raw_text": "This pinwheel granny square turns the humble double crochet into something that genuinely looks like it is spinning, capturing the playful spin of a windmill with blades rotating around the center. Starting from a simple ch7 loop, alternating three-stitch color blocks build outward until the blades pinwheel across the motif. It finishes at roughly 3.7 inches square in DK weight, which makes it an ideal building block for blankets, cushion covers, and patchwork bags. If you love granny squares but want something with more visual movement than the classic cluster version, this is your pattern",
          "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 core skills here are mid-stitch color changes, dc increases, and a shaped round that steps down through dc, hdc, and sc to curve the blade edges. Round 4 introduces the technique that gives the square its personality: working in the third loop only (TLO), joining new yarn into a dc-increase, then working a graded stitch sequence of 1dc, 1hdc, 4sc, 1hdc, 1dc between the ch3 corner spaces. Nothing is technically advanced, but the color changes require attention. Expect around 1 to 2 hours for your first square, dropping to 45 minutes once the rhythm clicks",
          "raw_text": "The core skills here are mid-stitch color changes, dc increases, and a shaped round that steps down through dc, hdc, and sc to curve the blade edges. Round 4 introduces the technique that gives the square its personality: working in the third loop only (TLO), joining new yarn into a dc-increase, then working a graded stitch sequence of 1dc, 1hdc, 4sc, 1hdc, 1dc between the ch3 corner spaces. Nothing is technically advanced, but the color changes require attention. Expect around 1 to 2 hours for your first square, dropping to 45 minutes once the rhythm 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": "The finished square measures about 3.7 by 3.7 inches with a 3.00mm hook and DK sports yarn, with crisp corners from the (2dc, ch3, 2dc) round and a tidy single crochet border to frame it. The pinwheel reads clearly even from across a room, and the two-color scheme means every square can be a different pairing while the blanket still looks cohesive. Stack twenty of them into a baby blanket, four into a mug rug, or one into a coaster, and you have a handmade gift that looks far more complex than the stitch list suggests",
          "raw_text": "The finished square measures about 3.7 by 3.7 inches with a 3.00mm hook and DK sports yarn, with crisp corners from the (2dc, ch3, 2dc) round and a tidy single crochet border to frame it. The pinwheel reads clearly even from across a room, and the two-color scheme means every square can be a different pairing while the blanket still looks cohesive. Stack twenty of them into a baby blanket, four into a mug rug, or one into a coaster, and you have a handmade gift that looks far more complex than the stitch list suggests",
          "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 becomes yours. The sample uses a soft pink and white, but the pinwheel really pops with high contrast. Try navy and mustard for a retro look, charcoal and coral for something modern, or forest green and cream for a cozy cottage feel. For a rainbow blanket, keep white as your constant color in every square and rotate the second color through a full spectrum. Want a gradient effect? Work each square with white plus the next shade in a Scheepjes Whirl or Mandala cake and let the yarn do the planning for you. For size changes, add a repeat round after Round 3: work (1dc, dc-inc, 1dc, dc-inc, 1dc) across each color group before moving into Round 4, and your finished square will land around 5 inches. To go smaller, skip Round 5 and go straight from Round 4 into the sc border for roughly a 3-inch coaster-sized motif. Swapping to worsted with a 4.00mm hook pushes it to about 4.5 inches with no pattern changes at all. Yarn substitutions open up more options. Cotton like Paintbox Cotton DK gives razor-sharp stitch definition that shows off the blade shaping beautifully and makes excellent washcloths. A soft acrylic such as Stylecraft Special DK is the practical choice for baby blankets. For themed versions, try red and white for Eid gifts, sage and oatmeal for a neutral nursery, or three colors instead of two by planning a repeating sequence across the 3dc groups in Round 2",
          "raw_text": "Color is where this square becomes yours. The sample uses a soft pink and white, but the pinwheel really pops with high contrast. Try navy and mustard for a retro look, charcoal and coral for something modern, or forest green and cream for a cozy cottage feel. For a rainbow blanket, keep white as your constant color in every square and rotate the second color through a full spectrum. Want a gradient effect? Work each square with white plus the next shade in a Scheepjes Whirl or Mandala cake and let the yarn do the planning for you. For size changes, add a repeat round after Round 3: work (1dc, dc-inc, 1dc, dc-inc, 1dc) across each color group before moving into Round 4, and your finished square will land around 5 inches. To go smaller, skip Round 5 and go straight from Round 4 into the sc border for roughly a 3-inch coaster-sized motif. Swapping to worsted with a 4.00mm hook pushes it to about 4.5 inches with no pattern changes at all. Yarn substitutions open up more options. Cotton like Paintbox Cotton DK gives razor-sharp stitch definition that shows off the blade shaping beautifully and makes excellent washcloths. A soft acrylic such as Stylecraft Special DK is the practical choice for baby blankets. For themed versions, try red and white for Eid gifts, sage and oatmeal for a neutral nursery, or three colors instead of two by planning a repeating sequence across the 3dc groups in Round 2",
          "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": "Changing color at the very start of the",
          "value": "Work the last stitch of a color block until only two loops remain on your hook, then yarn over with the NEW color and pull through to finish. The stitch you just completed will have the old color body with a new color top, which is exactly right. Changing at the beginning of the next stitch leaves a visible stepped jog at every color transition in Round 2",
          "raw_text": "Work the last stitch of a color block until only two loops remain on your hook, then yarn over with the NEW color and pull through to finish. The stitch you just completed will have the old color body with a new color top, which is exactly right. Changing at the beginning of the next stitch leaves a visible stepped jog at every color transition in Round 2",
          "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": "Losing count during Round 2 and ending",
          "value": "Round 2 is 30 dc total, counting the beginning ch3 as the first dc, worked as ten alternating groups of 3. Place a removable stitch marker in the first dc of every color group as you go, so if the alternation drifts you catch it within three stitches instead of at the join. Count each group out loud, three stitches at a time",
          "raw_text": "Round 2 is 30 dc total, counting the beginning ch3 as the first dc, worked as ten alternating groups of 3. Place a removable stitch marker in the first dc of every color group as you go, so if the alternation drifts you catch it within three stitches instead of at the join. Count each group out loud, three stitches at a time",
          "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": "Working the Round 3 increase in the",
          "value": "Round 3 works (1dc, dc-inc, 1dc) into each color group, so the increase always lands in the MIDDLE stitch. If it drifts to an edge stitch, the blade curves unevenly and one side of the pinwheel will look pinched. Before you start each group, identify all three stitches with your finger, then work into them in order",
          "raw_text": "Round 3 works (1dc, dc-inc, 1dc) into each color group, so the increase always lands in the MIDDLE stitch. If it drifts to an edge stitch, the blade curves unevenly and one side of the pinwheel will look pinched. Before you start each group, identify all three stitches with your finger, then work into them in order",
          "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": "Pulling the ch3 corner spaces too tight in Round 4",
          "value": "The ch3 at the end of each blade sequence becomes a corner space that Round 5 works (2dc, ch3, 2dc) into. If you tension those chains tightly, you will struggle to fit four dc in there and the corners will cup. Work them loosely, slightly looser than you think you need, and check that your hook slides through the space easily before moving on",
          "raw_text": "The ch3 at the end of each blade sequence becomes a corner space that Round 5 works (2dc, ch3, 2dc) into. If you tension those chains tightly, you will struggle to fit four dc in there and the corners will cup. Work them loosely, slightly looser than you think you need, and check that your hook slides through the space easily before moving on",
          "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": "Ignoring the TLO instruction at the start of Round 4",
          "value": "TLO means third loop only. Instead of working under both top loops as usual, you work into the third loop that sits just behind the top of each stitch from Round 3. That is what tips the pinwheel round forward so the blades stay proud on the front of the square. Work into the usual two top loops and the square still holds together, but the pinwheel flattens into the border and loses the raised spinning look, which is very noticeable when the squares sit side by side in a blanket",
          "raw_text": "TLO means third loop only. Instead of working under both top loops as usual, you work into the third loop that sits just behind the top of each stitch from Round 3. That is what tips the pinwheel round forward so the blades stay proud on the front of the square. Work into the usual two top loops and the square still holds together, but the pinwheel flattens into the border and loses the raised spinning look, which is very noticeable when the squares sit side by side in a blanket",
          "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": "Miscounting the graded blade sequence",
          "value": "That is exactly eight stitches between the dc-increases, and the four sc are what create the rounded blade tip. If you work three or five sc instead of four, the blade will look lopsided against its neighbors. Count the sc section separately from the dc and hdc transition stitches, and compare each finished blade to the previous one before continuing",
          "raw_text": "That is exactly eight stitches between the dc-increases, and the four sc are what create the rounded blade tip. If you work three or five sc instead of four, the blade will look lopsided against its neighbors. Count the sc section separately from the dc and hdc transition stitches, and compare each finished blade to the previous one before continuing",
          "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 —2 colors; the sample is made with DK Sports. The finished granny square is about 3.7 inches by 3.7 inches.",
              "raw_text": "Yarn of your choice —2 colors; the sample is made with DK Sports. The finished granny square is about 3.7 inches by 3.7 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-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": 4,
          "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": 5,
          "row_type": "abbrev",
          "code": "abbrev-tr",
          "label": "tr",
          "value": "treble crochet",
          "raw_text": "tr = treble crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "tr",
          "meaning": "treble crochet"
        },
        {
          "order": 6,
          "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": 7,
          "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": 8,
          "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": 9,
          "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": 10,
          "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": 11,
          "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": 12,
          "row_type": "abbrev",
          "code": "abbrev-tlo",
          "label": "TLO",
          "value": "third loop only",
          "raw_text": "TLO = third loop only",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "TLO",
          "meaning": "third loop only"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "Main Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "main-pattern-info-1",
          "label": "How to change the color",
          "value": "When you see a color change in the tutorial, work until you reach the stitch for changing, finish the stitch as required, and leave the last two loops on the hook. Yarn over with new color and pull through to complete the stitch. Then wrap the tail of the yarn over your hook and weave in during the following stitches.",
          "raw_text": "When you see a color change in the tutorial, work until you reach the stitch for changing, finish the stitch as required, and leave the last two loops on the hook. Yarn over with new color and pull through to complete the stitch. Then wrap the tail of the yarn over your hook and weave in during the following stitches.",
          "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": "main-pattern-info-2",
          "label": "Round 1 — foundation of the pinwheel",
          "value": "This round makes the foundation of the pinwheel: a small chain ring that every following round is worked into.",
          "raw_text": "This round makes the foundation of the pinwheel: a small chain ring that every following round is worked into.",
          "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-1",
          "label": "Round 1",
          "value": "Knot, ch7, slst to the first ch to form a loop.",
          "raw_text": "Round 1 Knot, ch7, slst to the first ch to form a loop.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "info",
          "code": "main-pattern-info-3",
          "label": "Round 2 — pinwheel",
          "value": "This is the round that creates the pinwheel itself. You work double crochet all the way around the ring and swap between your two colors every 3dc, so the ring fills with alternating three-stitch color blocks. Use the color change method above: the change is worked during the last stitch of each block, not at the start of the next one.",
          "raw_text": "This is the round that creates the pinwheel itself. You work double crochet all the way around the ring and swap between your two colors every 3dc, so the ring fills with alternating three-stitch color blocks. Use the color change method above: the change is worked during the last stitch of each block, not at the start of the next one.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "round",
          "code": "main-pattern-round-2",
          "label": "Round 2",
          "value": "Ch3(counts as 1dc), 2dc(change to  pink  during 2nd dc), 3dc(change to  white  during 3rd dc), 24dc, alternate two colors every 3dc. Finish with sl st to the top of the first ch3.",
          "raw_text": "Round 2 Ch3(counts as 1dc), 2dc(change to  pink  during 2nd dc), 3dc(change to  white  during 3rd dc), 24dc, alternate two colors every 3dc. Finish with sl st to the top of the first ch3.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "info",
          "code": "main-pattern-info-4",
          "label": "Round 3 — enlarge the pinwheel",
          "value": "This round enlarges the pinwheel. Every same-color 3-dc group from Round 2 grows into (1dc, dc-inc, 1dc), keeping the color pattern you already established, so the blocks widen and start leaning into the spinning shape. Fasten off at the end of the round.",
          "raw_text": "This round enlarges the pinwheel. Every same-color 3-dc group from Round 2 grows into (1dc, dc-inc, 1dc), keeping the color pattern you already established, so the blocks widen and start leaning into the spinning shape. Fasten off at the end of the round.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "round",
          "code": "main-pattern-round-3",
          "label": "Round 3",
          "value": "ch3(count as 1dc), dc-inc, 1dc(change to pink), continue around and follow the established color pattern, work (1dc, dc inc, 1dc) on each remaining same color 3-dc group. Finish with slst to the top of the first ch3, fasten off.",
          "raw_text": "Round 3 ch3(count as 1dc), dc-inc, 1dc(change to pink), continue around and follow the established color pattern, work (1dc, dc inc, 1dc) on each remaining same color 3-dc group. Finish with slst to the top of the first ch3, fasten off.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "info",
          "code": "main-pattern-info-5",
          "label": "Round 4 — turn it into a square",
          "value": "This is the round that turns the circle into a square. It is worked in the third loop only (TLO) with new yarn joined into a dc-increase, and the stitches step down from dc through hdc to sc and back up again so each blade gets a rounded outer edge. The ch3 at the end of each repeat forms one of the four corners.",
          "raw_text": "This is the round that turns the circle into a square. It is worked in the third loop only (TLO) with new yarn joined into a dc-increase, and the stitches step down from dc through hdc to sc and back up again so each blade gets a rounded outer edge. The ch3 at the end of each repeat forms one of the four corners.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "round",
          "code": "main-pattern-round-4",
          "label": "Round 4",
          "value": "TLO . Join new yarn to the 1st dc of any dc-inc. ch3(count as 1dc), 1dc in the same st to complete dc-inc. 1dc, 1hdc, 4sc, 1hdc, 1dc, dc-inc, ch3. *dc-inc, 1dc, 1hdc, 4sc, 1hdc, 1dc, dc-inc, ch3* rep 3 times  without final ch3 . ch1, 1hdc connects back to the first ch3.",
          "raw_text": "Round 4 TLO . Join new yarn to the 1st dc of any dc-inc. ch3(count as 1dc), 1dc in the same st to complete dc-inc. 1dc, 1hdc, 4sc, 1hdc, 1dc, dc-inc, ch3. *dc-inc, 1dc, 1hdc, 4sc, 1hdc, 1dc, dc-inc, ch3* rep 3 times  without final ch3 . ch1, 1hdc connects back to the first ch3.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "subhead",
          "code": "main-pattern-info-6",
          "label": "",
          "value": "Round 4 detail",
          "raw_text": "Step by step: (1) Working in the third loop only, join the new yarn to the 1st dc of any dc-inc. (2) Ch3, which counts as 1dc, then work 1dc into that same stitch to complete the dc-increase. (3) Work the graded blade — 1dc, 1hdc, 4sc, 1hdc, 1dc — then a dc-inc and ch3 for the corner. (4) Repeat the starred sequence three more times, leaving off the ch3 at the very end. (5) Close the round with ch1 and 1hdc back to the first ch3.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "instruction",
          "code": "main-pattern-info-6",
          "label": "Steps",
          "value": "(1) Working in the third loop only, join the new yarn to the 1st dc of any dc-inc. (2) Ch3, which counts as 1dc, then work 1dc into that same stitch to complete the dc-increase. (3) Work the graded blade — 1dc, 1hdc, 4sc, 1hdc, 1dc — then a dc-inc and ch3 for the corner. (4) Repeat the starred sequence three more times, leaving off the ch3 at the very end. (5) Close the round with ch1 and 1hdc back to the first ch3.",
          "raw_text": "Step by step: (1) Working in the third loop only, join the new yarn to the 1st dc of any dc-inc. (2) Ch3, which counts as 1dc, then work 1dc into that same stitch to complete the dc-increase. (3) Work the graded blade — 1dc, 1hdc, 4sc, 1hdc, 1dc — then a dc-inc and ch3 for the corner. (4) Repeat the starred sequence three more times, leaving off the ch3 at the very end. (5) Close the round with ch1 and 1hdc back to the first ch3.",
          "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": "Round 5 — another round of border",
          "value": "Another round of border. The (2dc, ch3, 2dc) worked into each corner space sharpens the four corners while plain dc across the sides evens the square up. Fasten off at the end of the round.",
          "raw_text": "Another round of border. The (2dc, ch3, 2dc) worked into each corner space sharpens the four corners while plain dc across the sides evens the square up. Fasten off at the end of the round.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "round",
          "code": "main-pattern-round-5",
          "label": "Round 5",
          "value": "ch3(count as 1dc), (2dc+ch3+2dc) in each corner sp, dc in remaining sts, finish with slst to the top of the first ch3, fasten off.",
          "raw_text": "Round 5 ch3(count as 1dc), (2dc+ch3+2dc) in each corner sp, dc in remaining sts, finish with slst to the top of the first ch3, fasten off.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 14,
          "row_type": "info",
          "code": "main-pattern-info-8",
          "label": "Round 6 — echoing border (optional)",
          "value": "This final round adds an echoing border and is optional. New yarn is joined in any corner and a round of single crochet frames the square, with 3sc worked into each corner space.",
          "raw_text": "This final round adds an echoing border and is optional. New yarn is joined in any corner and a round of single crochet frames the square, with 3sc worked into each corner space.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 15,
          "row_type": "round",
          "code": "main-pattern-round-6",
          "label": "Round 6",
          "value": "Add new yarn in any corner, ch1 to start, 3sc in each corner sp, sc in remaining sts, sl st to the first sc, fasten off.",
          "raw_text": "Round 6 Add new yarn in any corner, ch1 to start, 3sc in each corner sp, sc in remaining sts, sl st to the first sc, fasten off.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "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 ch7 loop start is deliberate rather than a magic ring. It gives you a small open center that keeps the 30 dc of Round 2 from crowding, which is essential when you are fitting ten three-stitch color groups into that round. Do not substitute a magic ring here unless you enjoy fighting your hook",
          "raw_text": "💡 The ch7 loop start is deliberate rather than a magic ring. It gives you a small open center that keeps the 30 dc of Round 2 from crowding, which is essential when you are fitting ten three-stitch color groups into that round. Do not substitute a magic ring here unless you enjoy fighting your hook",
          "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 the crochet-over method for your tails, exactly as the pattern describes: when you change color, wrap the tail over your hook and work the following stitches over it. This buries the end inside the fabric and can cut your weaving-in time by more than half, which matters enormously when you are making forty squares",
          "raw_text": "💡 Use the crochet-over method for your tails, exactly as the pattern describes: when you change color, wrap the tail over your hook and work the following stitches over it. This buries the end inside the fabric and can cut your weaving-in time by more than half, which matters enormously when you are making forty squares",
          "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": "💡 The 3.00mm hook with DK sports yarn produces the 3.7 by 3.7 inch finished size. If your square comes out larger, your tension is loose for this yarn weight; drop to 2.75mm before assuming you miscounted. Make one test square and measure it before committing to a full blanket's worth",
          "raw_text": "💡 The 3.00mm hook with DK sports yarn produces the 3.7 by 3.7 inch finished size. If your square comes out larger, your tension is loose for this yarn weight; drop to 2.75mm before assuming you miscounted. Make one test square and measure it before committing to a full blanket's worth",
          "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": "💡 Keep both yarn balls on opposite sides of your lap and give the working yarn a quarter turn clockwise every few color changes. The alternating changes in Round 2 will twist your strands together fast, and untangling mid-round is where most people lose their place in the count",
          "raw_text": "💡 Keep both yarn balls on opposite sides of your lap and give the working yarn a quarter turn clockwise every few color changes. The alternating changes in Round 2 will twist your strands together fast, and untangling mid-round is where most people lose their place in the count",
          "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": "💡 Place a stitch marker in the ch3 corner space of each of the four corners as you complete Round 4. The corner spaces sit at a different height than the surrounding stitches because of the dc-to-sc grading, so they are genuinely easy to miss when you start the (2dc, ch3, 2dc) of Round 5",
          "raw_text": "💡 Place a stitch marker in the ch3 corner space of each of the four corners as you complete Round 4. The corner spaces sit at a different height than the surrounding stitches because of the dc-to-sc grading, so they are genuinely easy to miss when you start the (2dc, ch3, 2dc) of Round 5",
          "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 each square before joining. The blade shaping in Round 4 creates slight curves at the edges, and a light steam or wet block squares those edges up beautifully so your join-as-you-go seams line up. Pin to exactly 3.7 inches on all four sides",
          "raw_text": "💡 Block each square before joining. The blade shaping in Round 4 creates slight curves at the edges, and a light steam or wet block squares those edges up beautifully so your join-as-you-go seams line up. Pin to exactly 3.7 inches on all four sides",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 10,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "Why does my pinwheel look flat instead of spinning?",
          "value": "This almost always traces back to Round 3, where the dc-increase must land in the middle stitch of each three-stitch color group. If the increase drifts to the first or last stitch, the color blocks stay straight instead of leaning. Pull back that round and mark the middle stitch of each group before working it",
          "raw_text": "This almost always traces back to Round 3, where the dc-increase must land in the middle stitch of each three-stitch color group. If the increase drifts to the first or last stitch, the color blocks stay straight instead of leaning. Pull back that round and mark the middle stitch of each group before working it",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Why does my pinwheel look flat instead of spinning?",
          "answer": "This almost always traces back to Round 3, where the dc-increase must land in the middle stitch of each three-stitch color group. If the increase drifts to the first or last stitch, the color blocks stay straight instead of leaning. Pull back that round and mark the middle stitch of each group before working it",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Can I make this square with more than two colors?",
          "value": "Absolutely. Round 2 uses ten alternating groups of 3dc, so any even split works, but three colors read best if you plan for a repeating sequence rather than strict alternation. Many crocheters keep one color constant across the whole blanket and rotate the second color per square, which gives variety while staying cohesive",
          "raw_text": "Absolutely. Round 2 uses ten alternating groups of 3dc, so any even split works, but three colors read best if you plan for a repeating sequence rather than strict alternation. Many crocheters keep one color constant across the whole blanket and rotate the second color per square, which gives variety while staying cohesive",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I make this square with more than two colors?",
          "answer": "Absolutely. Round 2 uses ten alternating groups of 3dc, so any even split works, but three colors read best if you plan for a repeating sequence rather than strict alternation. Many crocheters keep one color constant across the whole blanket and rotate the second color per square, which gives variety while staying cohesive",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "How many squares do I need for a baby blanket?",
          "value": "about 3.7 inches per square, a 30 by 36 inch baby blanket needs roughly 8 squares across by 10 down, so 80 squares total, plus a border. If that feels like a lot, size up to worsted weight with a 4.00mm hook for 4.5-inch squares and you will only need around 48",
          "raw_text": "about 3.7 inches per square, a 30 by 36 inch baby blanket needs roughly 8 squares across by 10 down, so 80 squares total, plus a border. If that feels like a lot, size up to worsted weight with a 4.00mm hook for 4.5-inch squares and you will only need around 48",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How many squares do I need for a baby blanket?",
          "answer": "about 3.7 inches per square, a 30 by 36 inch baby blanket needs roughly 8 squares across by 10 down, so 80 squares total, plus a border. If that feels like a lot, size up to worsted weight with a 4.00mm hook for 4.5-inch squares and you will only need around 48",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "What does TLO mean in this pattern?",
          "value": "TLO stands for third loop only. In Round 4 you work into the third loop of the stitches from the previous round, the horizontal loop sitting just behind the two top loops, instead of under both top loops as usual. It pushes the pinwheel round forward so the blades stand proud of the border. Work every square the same way so all your motifs match",
          "raw_text": "TLO stands for third loop only. In Round 4 you work into the third loop of the stitches from the previous round, the horizontal loop sitting just behind the two top loops, instead of under both top loops as usual. It pushes the pinwheel round forward so the blades stand proud of the border. Work every square the same way so all your motifs match",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What does TLO mean in this pattern?",
          "answer": "TLO stands for third loop only. In Round 4 you work into the third loop of the stitches from the previous round, the horizontal loop sitting just behind the two top loops, instead of under both top loops as usual. It pushes the pinwheel round forward so the blades stand proud of the border. Work every square the same way so all your motifs match",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "Is this pattern suitable for a confident beginner?",
          "value": "Yes. The design is beginner-friendly and built mainly from double crochet with some sc and slst. The only genuinely new skill for most beginners is the mid-stitch color change, and once you have done three or four of them it becomes automatic. Make your first square in a light color so you can see your stitches clearly",
          "raw_text": "Yes. The design is beginner-friendly and built mainly from double crochet with some sc and slst. The only genuinely new skill for most beginners is the mid-stitch color change, and once you have done three or four of them it becomes automatic. Make your first square in a light color so you can see your stitches clearly",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Is this pattern suitable for a confident beginner?",
          "answer": "Yes. The design is beginner-friendly and built mainly from double crochet with some sc and slst. The only genuinely new skill for most beginners is the mid-stitch color change, and once you have done three or four of them it becomes automatic. Make your first square in a light color so you can see your stitches clearly",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/pinwheel-granny-square-free-crochet-pattern-hero.webp",
    "data/images/pinwheel-granny-square-free-crochet-pattern-step-2.webp",
    "data/images/pinwheel-granny-square-free-crochet-pattern-step-3.webp",
    "data/images/pinwheel-granny-square-free-crochet-pattern-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/pinwheel-granny-square-free-crochet-pattern-hero.webp",
      "alt": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/pinwheel-granny-square-free-crochet-pattern-hero.webp",
      "alt": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/pinwheel-granny-square-free-crochet-pattern-step-2.webp",
      "alt": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/pinwheel-granny-square-free-crochet-pattern-step-3.webp",
      "alt": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/pinwheel-granny-square-free-crochet-pattern-step-4.webp",
      "alt": "Pinwheel Granny Square: Free Two-Color Spinning Crochet Pattern — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 2
}