{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "small-willow-granny-square-sunny-citrus-flower",
  "title": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern",
  "meta_description": "Crochet this small willow granny square with a sunny citrus flower center. A quick 4-inch, two-color motif perfect for blankets, pillows, and gifts",
  "published_at": "2026-07-11",
  "updated_at": "2026-07-11",
  "author": "Ruby",
  "thumbnail_url": "data/images/small-willow-granny-square-sunny-citrus-flower-hero.webp",
  "meta": {
    "title": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern",
    "pattern_name": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern",
    "difficulty": "Easy",
    "time_needed": "1-2 Hours",
    "rating": 4.8,
    "made_count": "876",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Easy",
      "yarn_weight": "DK",
      "tags": [
        "granny square",
        "flower granny square",
        "free crochet pattern",
        "crochet motif",
        "citrus flower crochet",
        "small granny square",
        "two-color crochet",
        "blanket square",
        "scrap yarn project",
        "crochet flowers",
        "willow granny square"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Easy Skill Level",
          "value": "Comfortable with magic loops, half double crochet, and simple chain-loop petals",
          "raw_text": "Comfortable with magic loops, half double crochet, and simple chain-loop petals",
          "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 Square",
          "value": "Each 4-inch motif works up in about 1-2 hours of relaxing hooking",
          "raw_text": "Each 4-inch motif works up in about 1-2 hours of relaxing hooking",
          "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": "Dimensional Petals",
          "value": "Petals worked into the third loop seem to float above the square, catching light and shadow with a beautiful 3D effect",
          "raw_text": "Petals worked into the third loop seem to float above the square, catching light and shadow with a beautiful 3D effect",
          "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": "The Small Willow Granny Square places a cheerful citrus flower right at the heart of a classic square motif, and the effect is pure sunshine. A ring of eight tidy half double crochets forms the flower's golden center, then a round of dainty chain-loop petals blooms around it before the square frame grows outward. It's a wonderful pattern for blanket makers hunting for a fresh motif, for scrap-yarn lovers with two odd balls to pair, and for anyone who wants a small, satisfying finish between bigger projects",
          "raw_text": "The Small Willow Granny Square places a cheerful citrus flower right at the heart of a classic square motif, and the effect is pure sunshine. A ring of eight tidy half double crochets forms the flower's golden center, then a round of dainty chain-loop petals blooms around it before the square frame grows outward. It's a wonderful pattern for blanket makers hunting for a fresh motif, for scrap-yarn lovers with two odd balls to pair, and for anyone who wants a small, satisfying finish between bigger projects",
          "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": "Skill-wise, this one sits comfortably in easy territory with a couple of details that keep it interesting. You'll start with a magic loop, use a chain-2 as a standing stitch that counts as your first half double crochet, then work the sweet petal round — a single crochet, chain 4, and slip stitch back into the very same stitch, repeated eight times around. From there, seven total rounds carry the flower out into a crisp square. Expect one to two unhurried hours per square, even if standing stitches are new to you",
          "raw_text": "Skill-wise, this one sits comfortably in easy territory with a couple of details that keep it interesting. You'll start with a magic loop, use a chain-2 as a standing stitch that counts as your first half double crochet, then work the sweet petal round — a single crochet, chain 4, and slip stitch back into the very same stitch, repeated eight times around. From there, seven total rounds carry the flower out into a crisp square. Expect one to two unhurried hours per square, even if standing stitches are new to you",
          "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.94 × 3.94 inches — a tidy 10 cm — which makes it a dream for joining. The petal round gives the center genuine dimension, and because later rounds are worked into the third loop of the stitches, the petals stand out dramatically from the background with a beautiful lifted appearance, like a blossom pressed into a garden bed. One square makes a lovely coaster or appliqué; a stack of them becomes a throw, a pillow front, or a tote panel. Worked in soft cotton or wool, a set of these makes a genuinely special handmade gift",
          "raw_text": "The finished square measures about 3.94 × 3.94 inches — a tidy 10 cm — which makes it a dream for joining. The petal round gives the center genuine dimension, and because later rounds are worked into the third loop of the stitches, the petals stand out dramatically from the background with a beautiful lifted appearance, like a blossom pressed into a garden bed. One square makes a lovely coaster or appliqué; a stack of them becomes a throw, a pillow front, or a tote panel. Worked in soft cotton or wool, a set of these makes a genuinely special handmade gift",
          "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'll be honest — the petal round is the reason I keep coming back to this square. There's something so satisfying about that little rhythm: single crochet, chain 4, slip stitch right back into the same stitch, and suddenly a tiny petal pops up under your fingers. Eight repeats later you have a full citrus blossom, and it happens in minutes. I also love how the magic loop cinches the center into a perfect sunny disc with no gap — pull that tail snug and the flower looks almost embroidered. Because the whole motif is only about four inches across, it's wonderfully portable; I've worked these in waiting rooms and on the couch during quiet evenings, and each one feels like a complete little victory. The two-color construction means every square feels fresh — swap the flower shade and the same seven rounds read completely differently. And when you finally lay a batch of them edge to edge, the repeating blossoms look like a tidy garden bed. It's simple, quick, and quietly beautiful — my favorite combination",
          "raw_text": "I'll be honest — the petal round is the reason I keep coming back to this square. There's something so satisfying about that little rhythm: single crochet, chain 4, slip stitch right back into the same stitch, and suddenly a tiny petal pops up under your fingers. Eight repeats later you have a full citrus blossom, and it happens in minutes. I also love how the magic loop cinches the center into a perfect sunny disc with no gap — pull that tail snug and the flower looks almost embroidered. Because the whole motif is only about four inches across, it's wonderfully portable; I've worked these in waiting rooms and on the couch during quiet evenings, and each one feels like a complete little victory. The two-color construction means every square feels fresh — swap the flower shade and the same seven rounds read completely differently. And when you finally lay a batch of them edge to edge, the repeating blossoms look like a tidy garden bed. It's simple, quick, and quietly beautiful — my favorite combination",
          "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": "This little square is a color-play dream, so don't stop at one combination. The designer's own suggestions are gorgeous: a soft sage green background with cream petals for a subtle, vintage garden feel, or a deep navy background with bright yellow petals — like starry night blossoms scattered across a modern throw or a statement pillow. For a true citrus-grove version, try a tangerine or lemon-yellow flower on a leafy olive background, or go pastel with a butter-yellow center on blush pink. Seasonal sets are lovely too: rust and mustard squares for autumn, icy blue on cream for winter, lilac on soft white for spring, and coral on aqua for a summery beach-blanket vibe. For yarn, a crisp mercerized cotton like Scheepjes Catona or 24/7 Cotton makes the ch-4 petals hold their shape beautifully, while Paintbox Simply DK gives you a huge palette for scrap-friendly mixing. Want a bigger square? Work the same pattern in worsted weight with a 5 mm hook and it'll block out closer to 5 inches, or size up to a chunky yarn like Wool-Ease Thick & Quick for a dramatic 6–7 inch motif that turns just twelve squares into a baby-blanket-sized project. You can also simply keep adding granny rounds in the background color after round 7 — each extra round adds roughly three-quarters of an inch. One more idea: work every flower in a different bright shade against a single unifying background color for a cheerful confetti-garden blanket that uses up every last scrap in your basket",
          "raw_text": "This little square is a color-play dream, so don't stop at one combination. The designer's own suggestions are gorgeous: a soft sage green background with cream petals for a subtle, vintage garden feel, or a deep navy background with bright yellow petals — like starry night blossoms scattered across a modern throw or a statement pillow. For a true citrus-grove version, try a tangerine or lemon-yellow flower on a leafy olive background, or go pastel with a butter-yellow center on blush pink. Seasonal sets are lovely too: rust and mustard squares for autumn, icy blue on cream for winter, lilac on soft white for spring, and coral on aqua for a summery beach-blanket vibe. For yarn, a crisp mercerized cotton like Scheepjes Catona or 24/7 Cotton makes the ch-4 petals hold their shape beautifully, while Paintbox Simply DK gives you a huge palette for scrap-friendly mixing. Want a bigger square? Work the same pattern in worsted weight with a 5 mm hook and it'll block out closer to 5 inches, or size up to a chunky yarn like Wool-Ease Thick & Quick for a dramatic 6–7 inch motif that turns just twelve squares into a baby-blanket-sized project. You can also simply keep adding granny rounds in the background color after round 7 — each extra round adds roughly three-quarters of an inch. One more idea: work every flower in a different bright shade against a single unifying background color for a cheerful confetti-garden blanket that uses up every last scrap in your basket",
          "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 loop loose, so a hole",
          "value": "After working the ch-2 and seven hdc into the loop, pull the tail firmly until the center closes completely — the pattern specifically says to pull the tail tightly before the slip-stitch join. Leave a 6-inch tail and weave it in a zigzag through the back of round 1 so the loop can't creep open with washing",
          "raw_text": "After working the ch-2 and seven hdc into the loop, pull the tail firmly until the center closes completely — the pattern specifically says to pull the tail tightly before the slip-stitch join. Leave a 6-inch tail and weave it in a zigzag through the back of round 1 so the loop can't creep open with washing",
          "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": "Forgetting that the standing ch-2",
          "value": "Count your stitches before joining: the ch-2 plus seven hdc gives you 8 stitches total. When you slip stitch to close, work into the top chain of that ch-2 — and in the petal round, remember the ch-2 gets its own petal just like every hdc does",
          "raw_text": "Count your stitches before joining: the ch-2 plus seven hdc gives you 8 stitches total. When you slip stitch to close, work into the top chain of that ch-2 — and in the petal round, remember the ch-2 gets its own petal just like every hdc does",
          "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 petal slip stitch into the",
          "value": "Each petal is self-contained: sc, ch 4, then sl st into the very same stitch you just single crocheted into. If your petals look stretched or you run out of stitches before eight petals, this is almost always the culprit. Anchor each petal fully, then move to the next stitch",
          "raw_text": "Each petal is self-contained: sc, ch 4, then sl st into the very same stitch you just single crocheted into. If your petals look stretched or you run out of stitches before eight petals, this is almost always the culprit. Anchor each petal fully, then move to the next stitch",
          "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 corners as the flower",
          "value": "Once the background rounds begin squaring off the flower, make sure your corner groups land symmetrically — place a stitch marker in each corner space on the first square round and check that the rounds that follow stack their corners directly above it. A light steam block to 3.94 × 3.94 inches sharpens everything",
          "raw_text": "Once the background rounds begin squaring off the flower, make sure your corner groups land symmetrically — place a stitch marker in each corner space on the first square round and check that the rounds that follow stack their corners directly above it. A light steam block to 3.94 × 3.94 inches sharpens everything",
          "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": "Cutting the yarn short when fastening",
          "value": "The flower rounds fasten off before the background color joins, so every square has several tails. Leave at least 6 inches each time, weave each end through the back of its own color for an invisible finish, and deal with ends after every square — not after all forty",
          "raw_text": "The flower rounds fasten off before the background color joins, so every square has several tails. Leave at least 6 inches each time, weave each end through the back of its own color for an invisible finish, and deal with ends after every square — not after all forty",
          "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",
              "raw_text": "Yarn of your choice- 2 colors"
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "Crochet hook",
              "raw_text": "Crochet 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 (US Terms)",
      "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-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": 3,
          "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": 4,
          "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": 5,
          "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": 6,
          "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": 7,
          "row_type": "abbrev",
          "code": "abbrev-sl-st",
          "label": "Sl St",
          "value": "slip stitch for joining for different round.",
          "raw_text": "Sl St = slip stitch for joining for different round.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "Sl St",
          "meaning": "slip stitch for joining for different round."
        },
        {
          "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-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": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "Main Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "round",
          "code": "main-pattern-round-1",
          "label": "Round 1",
          "value": "ch2(count as hdc)+7hdc in a magic loop, sl st to the top of first ch2.",
          "raw_text": "Round 1 ch2(count as hdc)+7hdc in a magic loop, sl st to the top of first ch2.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "instruction",
          "code": "main-pattern-round-1-steps",
          "label": "Steps",
          "value": "Start with a magic loop. ch2 as a standing st (count as hdc). hdc in this loop. Make 6hdc in the loop. Pull the tail tightly. Sl st to the top of the first ch2. Round 1 finished.",
          "raw_text": "Start with a magic loop. ch2 as a standing st (count as hdc). hdc in this loop. Make 6hdc in the loop. Pull the tail tightly. Sl st to the top of the first ch2. Round 1 finished.",
          "round_start": null,
          "round_end": null,
          "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": "ch+sc, ch4, sl st to the same st, [sc in next st, ch4, sl st to the same st] repeat 7 times, fasten off.",
          "raw_text": "Round 2 ch+sc, ch4, sl st to the same st, [sc in next st, ch4, sl st to the same st] repeat 7 times, fasten off.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "instruction",
          "code": "main-pattern-round-2-steps",
          "label": "Steps",
          "value": "ch as a standing st. sc in the same st, ch4, sl st to the same st. [sc in the next st, ch4, sl st to the same st] repeat 7 times, fasten off. Round 2 finished.",
          "raw_text": "ch as a standing st. sc in the same st, ch4, sl st to the same st. [sc in the next st, ch4, sl st to the same st] repeat 7 times, fasten off. Round 2 finished.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "round",
          "code": "main-pattern-round-3",
          "label": "Round 3",
          "value": "New yarn in ch-sp, ch+sc+ch6+sc, ch2, sc+ch4+sc in next ch-sp, ch2, [sc+ch6+sc, ch2, sc+ch4+sc, ch2] repeat 3 times, sl st to the first sc.",
          "raw_text": "Round 3 New yarn in ch-sp, ch+sc+ch6+sc, ch2, sc+ch4+sc in next ch-sp, ch2, [sc+ch6+sc, ch2, sc+ch4+sc, ch2] repeat 3 times, sl st to the first sc.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "instruction",
          "code": "main-pattern-round-3-steps",
          "label": "Steps",
          "value": "Join new yarn in any ch-sp. ch as a standing st. sc in the same st, ch6, sc in the same ch-sp, ch2, sc+ch4+sc in the next ch-sp, ch2. [sc+ch6+sc in the next ch-sp, ch2, sc+ch4+sc in the next ch-sp, ch2] repeat 3 times, sl st to the first sc. Round 3 finished.",
          "raw_text": "Join new yarn in any ch-sp. ch as a standing st. sc in the same st, ch6, sc in the same ch-sp, ch2, sc+ch4+sc in the next ch-sp, ch2. [sc+ch6+sc in the next ch-sp, ch2, sc+ch4+sc in the next ch-sp, ch2] repeat 3 times, sl st to the first sc. Round 3 finished.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "round",
          "code": "main-pattern-round-4",
          "label": "Round 4",
          "value": "[Insert hook into the corresponding ch-sp in round 2 to complete 1sc to encase this ch-sp in Round2 and current st in Round3, 2sc+hdc+dc+ch-1 picot+dc+hdc+2sc in ch-sp, 1 encasing sc; 1 encasing sc, sc+hdc+dc+ch-1 picot+dc+hdc+sc in next ch-sp, 1 encasing sc] repeat 4 times, sl st to the first sc, fasten off.",
          "raw_text": "Round 4 [Insert hook into the corresponding ch-sp in round 2 to complete 1sc to encase this ch-sp in Round2 and current st in Round3, 2sc+hdc+dc+ch-1 picot+dc+hdc+2sc in ch-sp, 1 encasing sc; 1 encasing sc, sc+hdc+dc+ch-1 picot+dc+hdc+sc in next ch-sp, 1 encasing sc] repeat 4 times, sl st to the first sc, fasten off.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "instruction",
          "code": "main-pattern-round-4-steps",
          "label": "Steps",
          "value": "Insert hook into the corresponding ch-sp in Round 2, yo and pull up a loop, yo and pull through loops on the hook to complete 1sc. This way, this sc encases both the ch-sp in Round 2 and the current stitch in Round 3. Insert the hook in the ch-sp of Round 3 to complete 1sc. Another sc in the ch-sp. hdc+dc+ch-1 picot+dc+hdc+2sc in this ch-sp. To make a ch-1 picot stitch: before making the picot (after making the first dc), work ch1, insert the hook into the third loop of this ch, then make a sl st to complete a picot. Similarly, make 1sc encase both the corresponding ch-sp in Round 2 and the stitch in Round 3. 1sc to encase the next ch-sp in round 2 and the current stitch in round 3, sc+hdc+dc+ch-1 picot+dc+hdc+sc in the ch-sp, 1 encasing sc. [1 encasing sc, 2sc+hdc+dc+ch-1 picot+dc+hdc+2sc in the next ch-sp, 1 encasing sc; 1 encasing sc, sc+hdc+dc+ch-1 picot+dc+hdc+sc in the next ch-sp, 1 encasing sc] repeat 3 times, sl st to the first sc, fasten off. Round 4 finished.",
          "raw_text": "Insert hook into the corresponding ch-sp in Round 2, yo and pull up a loop, yo and pull through loops on the hook to complete 1sc. This way, this sc encases both the ch-sp in Round 2 and the current stitch in Round 3. Insert the hook in the ch-sp of Round 3 to complete 1sc. Another sc in the ch-sp. hdc+dc+ch-1 picot+dc+hdc+2sc in this ch-sp. To make a ch-1 picot stitch: before making the picot (after making the first dc), work ch1, insert the hook into the third loop of this ch, then make a sl st to complete a picot. Similarly, make 1sc encase both the corresponding ch-sp in Round 2 and the stitch in Round 3. 1sc to encase the next ch-sp in round 2 and the current stitch in round 3, sc+hdc+dc+ch-1 picot+dc+hdc+sc in the ch-sp, 1 encasing sc. [1 encasing sc, 2sc+hdc+dc+ch-1 picot+dc+hdc+2sc in the next ch-sp, 1 encasing sc; 1 encasing sc, sc+hdc+dc+ch-1 picot+dc+hdc+sc in the next ch-sp, 1 encasing sc] repeat 3 times, sl st to the first sc, fasten off. Round 4 finished.",
          "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-third-loop-note",
          "label": "Note",
          "value": "The next rounds are worked into the third loop of the stitches. Working in the third loop helps the willow petals stand out dramatically from the background, giving them that beautiful lifted appearance that catches light and shadow.",
          "raw_text": "The next rounds are worked into the third loop of the stitches. Working in the third loop helps the willow petals stand out dramatically from the background, giving them that beautiful lifted appearance that catches light and shadow.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "round",
          "code": "main-pattern-round-5",
          "label": "Round 5",
          "value": "Third loop(tl) only. new yarn in the tl of the picot st, ch+sc+ch+sc, sc, sl st to next tl, sk3, (tr dc)dec, dc, dc, 2dc+ch2+2dc in next tl, dc, dc, (dc tr)dec, sk3, sl st to the next tl, sc. [sc+ch+sc in next tl, sc, sl st, sk3, (tr dc)dec, dc, dc, 2dc+ch2+2dc, dc, dc, (dc tr)dec, sk3, sl st, sc] repeat 3 times, sl st to the first sc, fasten off.",
          "raw_text": "Round 5 Third loop(tl) only. new yarn in the tl of the picot st, ch+sc+ch+sc, sc, sl st to next tl, sk3, (tr dc)dec, dc, dc, 2dc+ch2+2dc in next tl, dc, dc, (dc tr)dec, sk3, sl st to the next tl, sc. [sc+ch+sc in next tl, sc, sl st, sk3, (tr dc)dec, dc, dc, 2dc+ch2+2dc, dc, dc, (dc tr)dec, sk3, sl st, sc] repeat 3 times, sl st to the first sc, fasten off.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "info",
          "code": "main-pattern-round-5-steps",
          "label": "Step by step",
          "value": "Third loop only for this round. Join new yarn into the third loop of the picot st. ch as a standing st. sc+ch+sc in the same loop, sc, sl st to the next third loop, sk1, (tr dc)dec, dc, dc, 2dc+ch2+2dc in next third loop, dc, dc, (dc tr)dec, sk3, sl st to the next loop, sc. [sc+ch+sc in the next third loop, sc, sl st to the next loop, sk3, (tr dc)dec, dc, dc, 2dc+ch2+2dc, dc, dc, (dc tr)dec, sk3, sl st to next loop, sc] repeat 3 times, sl st to the first sc, fasten off. Round 5 finished.",
          "raw_text": "Third loop only for this round. Join new yarn into the third loop of the picot st. ch as a standing st. sc+ch+sc in the same loop, sc, sl st to the next third loop, sk1, (tr dc)dec, dc, dc, 2dc+ch2+2dc in next third loop, dc, dc, (dc tr)dec, sk3, sl st to the next loop, sc. [sc+ch+sc in the next third loop, sc, sl st to the next loop, sk3, (tr dc)dec, dc, dc, 2dc+ch2+2dc, dc, dc, (dc tr)dec, sk3, sl st to next loop, sc] repeat 3 times, sl st to the first sc, fasten off. Round 5 finished.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 12,
          "row_type": "round",
          "code": "main-pattern-round-6",
          "label": "Round 6",
          "value": "All sts in third loop(tl), except those in ch-sp. New yarn in ch-sp, ch3 (count as dc)+dc+ch2+2dc in this ch-sp, 5dc, sk2, sc, sl st to next tl, sc in next tl, sk2, 5dc, [2dc+ch2+2dc in next ch-sp, 5dc, sk2, sc, sl st, sc, sk2, 5dc] repeat 3 times, sl st to the top of the ch3.",
          "raw_text": "Round 6 All sts in third loop(tl), except those in ch-sp. New yarn in ch-sp, ch3 (count as dc)+dc+ch2+2dc in this ch-sp, 5dc, sk2, sc, sl st to next tl, sc in next tl, sk2, 5dc, [2dc+ch2+2dc in next ch-sp, 5dc, sk2, sc, sl st, sc, sk2, 5dc] repeat 3 times, sl st to the top of the ch3.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "info",
          "code": "main-pattern-round-6-steps",
          "label": "Step by step",
          "value": "All sts in third loop, except those in ch-sp. Add new yarn in ch-sp. ch3 as a standing st (count as dc). dc+ch2+2dc in the same ch-sp, 5dc in the following 5 third loops, sk2, sc, sl st to the next third loop, sc, sk2, dc in the following 5 third loops. [2dc+ch2+2dc in the next ch-sp, 5dc, sk2, sc, sl st, sc, sk2, 5dc] repeat 3 times, sl st to the top of the ch3. Round 6 finished.",
          "raw_text": "All sts in third loop, except those in ch-sp. Add new yarn in ch-sp. ch3 as a standing st (count as dc). dc+ch2+2dc in the same ch-sp, 5dc in the following 5 third loops, sk2, sc, sl st to the next third loop, sc, sk2, dc in the following 5 third loops. [2dc+ch2+2dc in the next ch-sp, 5dc, sk2, sc, sl st, sc, sk2, 5dc] repeat 3 times, sl st to the top of the ch3. Round 6 finished.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 14,
          "row_type": "round",
          "code": "main-pattern-round-7",
          "label": "Round 7",
          "value": "ch+sc, sc, sc+hdc+sc in the corner space, 15sc, [sc, sc, sc+hdc+sc in corner, 15sc] repeat 3 times, sl st to the first sc, fasten off.",
          "raw_text": "Round 7 ch+sc, sc, sc+hdc+sc in the corner space, 15sc, [sc, sc, sc+hdc+sc in corner, 15sc] repeat 3 times, sl st to the first sc, fasten off.",
          "round_start": 7,
          "round_end": 7,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 15,
          "row_type": "instruction",
          "code": "main-pattern-round-7-steps",
          "label": "Steps",
          "value": "ch as a standing st. sc in the same st, sc, sc+hdc+sc in the corner space, sc in the following 15 sts. [sc, sc, sc+hdc+sc in corner space, sc in the next 15 sts] repeat 3 times, sl st to the first sc, fasten off. Round 7 finished.",
          "raw_text": "ch as a standing st. sc in the same st, sc, sc+hdc+sc in the corner space, sc in the following 15 sts. [sc, sc, sc+hdc+sc in corner space, sc in the next 15 sts] repeat 3 times, sl st to the first sc, fasten off. Round 7 finished.",
          "round_start": null,
          "round_end": null,
          "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": "💡 Match your hook to your yarn band, then go down about 0.5 mm — the slightly tighter fabric keeps the hdc center firm and makes the ch-4 petals stand up crisply instead of flopping against the square",
          "raw_text": "💡 Match your hook to your yarn band, then go down about 0.5 mm — the slightly tighter fabric keeps the hdc center firm and makes the ch-4 petals stand up crisply instead of flopping against the 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": "info",
          "code": "note-2",
          "label": "Note",
          "value": "💡 Drop a stitch marker into the top chain of the standing ch-2 the moment you make it. Round 1's join and round 2's first petal both depend on finding that exact chain, and it loves to hide once the loop is cinched",
          "raw_text": "💡 Drop a stitch marker into the top chain of the standing ch-2 the moment you make it. Round 1's join and round 2's first petal both depend on finding that exact chain, and it loves to hide once the loop is cinched",
          "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": "💡 Leave a generous tail on the magic loop — at least 6 inches. If the center relaxes after a few rounds, you can grab that tail with a darning needle and snug it closed again before weaving it in",
          "raw_text": "💡 Leave a generous tail on the magic loop — at least 6 inches. If the center relaxes after a few rounds, you can grab that tail with a darning needle and snug it closed again before weaving it in",
          "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": "💡 Count eight petals before you fasten off round 2. It takes five seconds and saves you from discovering a seven-petal flower after the square is finished — the missing petal always shows once the background frames it",
          "raw_text": "💡 Count eight petals before you fasten off round 2. It takes five seconds and saves you from discovering a seven-petal flower after the square is finished — the missing petal always shows once the background frames it",
          "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": "💡 Since this is a two-color motif, wind small bobbins of your flower color before starting a batch of squares. Each flower uses only a few yards, so one full ball of background color plus scraps for the blossoms will carry you through many squares",
          "raw_text": "💡 Since this is a two-color motif, wind small bobbins of your flower color before starting a batch of squares. Each flower uses only a few yards, so one full ball of background color plus scraps for the blossoms will carry you through many squares",
          "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": "💡 Gauge: the finished small willow granny square is about 3.94 × 3.94 inches (10 × 10 cm). Wet-block or steam-block every square to that size using pins or a square blocking board — blocking flattens the frame while letting the flower stay raised, and identically-sized squares make joining painless",
          "raw_text": "💡 Gauge: the finished small willow granny square is about 3.94 × 3.94 inches (10 × 10 cm). Wet-block or steam-block every square to that size using pins or a square blocking board — blocking flattens the frame while letting the flower stay raised, and identically-sized squares make joining painless",
          "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": "What yarn weight should I use for this granny square?",
          "value": "The pattern works in any yarn — you just need two colors. DK weight with a 3.5–4 mm hook will land close to the stated 3.94-inch finished size, while worsted weight gives you a slightly larger square. Whatever you choose, use the same weight for both colors so the square lies flat",
          "raw_text": "The pattern works in any yarn — you just need two colors. DK weight with a 3.5–4 mm hook will land close to the stated 3.94-inch finished size, while worsted weight gives you a slightly larger square. Whatever you choose, use the same weight for both colors so the square lies flat",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What yarn weight should I use for this granny square?",
          "answer": "The pattern works in any yarn — you just need two colors. DK weight with a 3.5–4 mm hook will land close to the stated 3.94-inch finished size, while worsted weight gives you a slightly larger square. Whatever you choose, use the same weight for both colors so the square lies flat",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Is this pattern beginner friendly?",
          "value": "Yes — if you're comfortable with a magic loop and half double crochet, you're ready. The only new-ish ideas are the standing ch-2 that counts as your first hdc and the petal repeat of sc, ch 4, slip stitch into the same stitch, and both become intuitive within one square",
          "raw_text": "Yes — if you're comfortable with a magic loop and half double crochet, you're ready. The only new-ish ideas are the standing ch-2 that counts as your first hdc and the petal repeat of sc, ch 4, slip stitch into the same stitch, and both become intuitive within one square",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Is this pattern beginner friendly?",
          "answer": "Yes — if you're comfortable with a magic loop and half double crochet, you're ready. The only new-ish ideas are the standing ch-2 that counts as your first hdc and the petal repeat of sc, ch 4, slip stitch into the same stitch, and both become intuitive within one square",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "How many squares do I need for a blanket?",
          "value": "roughly 4 inches per blocked square, a 40 × 48 inch throw takes about 120 squares in a 10 × 12 layout, and a baby blanket around 30 × 36 inches needs about 63. Each square only takes an hour or two, so a batch grows faster than you'd expect",
          "raw_text": "roughly 4 inches per blocked square, a 40 × 48 inch throw takes about 120 squares in a 10 × 12 layout, and a baby blanket around 30 × 36 inches needs about 63. Each square only takes an hour or two, so a batch grows faster than you'd expect",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How many squares do I need for a blanket?",
          "answer": "roughly 4 inches per blocked square, a 40 × 48 inch throw takes about 120 squares in a 10 × 12 layout, and a baby blanket around 30 × 36 inches needs about 63. Each square only takes an hour or two, so a batch grows faster than you'd expect",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "Does the ch-2 at the start really count as a stitch?",
          "value": "It does — the pattern uses it as a standing stitch that counts as your first half double crochet. That means round 1 has 8 stitches total (the ch-2 plus 7 hdc), you join by slip stitching into the top of the ch-2, and it receives its own petal in round 2",
          "raw_text": "It does — the pattern uses it as a standing stitch that counts as your first half double crochet. That means round 1 has 8 stitches total (the ch-2 plus 7 hdc), you join by slip stitching into the top of the ch-2, and it receives its own petal in round 2",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Does the ch-2 at the start really count as a stitch?",
          "answer": "It does — the pattern uses it as a standing stitch that counts as your first half double crochet. That means round 1 has 8 stitches total (the ch-2 plus 7 hdc), you join by slip stitching into the top of the ch-2, and it receives its own petal in round 2",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "Can I make this square bigger without changing the pattern?",
          "value": "Absolutely. The easiest route is continuing extra granny-style rounds in your background color after round 7 — each round adds roughly three-quarters of an inch. Alternatively, work the pattern exactly as written in a heavier yarn with a larger hook for a proportionally bigger flower and square",
          "raw_text": "Absolutely. The easiest route is continuing extra granny-style rounds in your background color after round 7 — each round adds roughly three-quarters of an inch. Alternatively, work the pattern exactly as written in a heavier yarn with a larger hook for a proportionally bigger flower and square",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I make this square bigger without changing the pattern?",
          "answer": "Absolutely. The easiest route is continuing extra granny-style rounds in your background color after round 7 — each round adds roughly three-quarters of an inch. Alternatively, work the pattern exactly as written in a heavier yarn with a larger hook for a proportionally bigger flower and square",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/small-willow-granny-square-sunny-citrus-flower-hero.webp",
    "data/images/small-willow-granny-square-sunny-citrus-flower-step-2.webp",
    "data/images/small-willow-granny-square-sunny-citrus-flower-step-3.webp",
    "data/images/small-willow-granny-square-sunny-citrus-flower-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/small-willow-granny-square-sunny-citrus-flower-hero.webp",
      "alt": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/small-willow-granny-square-sunny-citrus-flower-hero.webp",
      "alt": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/small-willow-granny-square-sunny-citrus-flower-step-2.webp",
      "alt": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/small-willow-granny-square-sunny-citrus-flower-step-3.webp",
      "alt": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/small-willow-granny-square-sunny-citrus-flower-step-4.webp",
      "alt": "Small Willow Granny Square with Sunny Citrus Flower – Free Crochet Pattern — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 1
}