{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "duckling-granny-square-a-sweet-beginner-applique-pattern",
  "title": "Duckling Granny Square — A Sweet Beginner Appliqué Pattern",
  "meta_description": "A cheerful 5-round granny square in cream, buttery yellow, and orange, finished with a sweet duckling applique — simple enough for confident beginners.",
  "published_at": "2026-08-12",
  "updated_at": "2026-08-12",
  "author": "Nora",
  "thumbnail_url": "data/images/duckling-granny-square-a-sweet-beginner-applique-pattern-hero.webp",
  "meta": {
    "title": "Duckling Granny Square — A Sweet Beginner Appliqué Pattern",
    "pattern_name": "Duckling Granny Square — A Sweet Beginner Appliqué Pattern",
    "difficulty": "Beginner",
    "time_needed": "1-1.5 Hours",
    "rating": 4.9,
    "made_count": "2.6K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Beginner",
      "yarn_weight": "Worsted",
      "tags": [
        "granny square",
        "duckling granny square",
        "crochet applique",
        "beginner crochet",
        "worsted weight crochet",
        "crochet square pattern",
        "animal granny square",
        "classic granny square",
        "crochet for beginners",
        "cute crochet applique"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Duckling Granny Square — A Sweet Beginner Appliqué Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Beginner Friendly",
          "value": "Five easy rounds and a simple border make this a confidence-building square for newer crocheters.",
          "raw_text": "Five easy rounds and a simple border make this a confidence-building square for newer crocheters.",
          "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": "Sweet Appliqué Detail",
          "value": "A tucked-wing duckling body and bright orange beak stitch up separately and sew on for a playful finishing touch.",
          "raw_text": "A tucked-wing duckling body and bright orange beak stitch up separately and sew on for a playful finishing touch.",
          "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": "Classic Construction",
          "value": "Worked in traditional granny square rounds with worsted weight yarn and a 5.0 mm hook, so it stitches up quickly.",
          "raw_text": "Worked in traditional granny square rounds with worsted weight yarn and a 5.0 mm hook, so it stitches up quickly.",
          "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 Duckling Granny Square starts out as a classic granny square worked in soft cream and buttery yellow, but it doesn't stay a plain background for long. A round little duckling, complete with a tucked wing and a cheerful orange beak, gets stitched separately and sewn on top, turning a familiar square into a small scene. It's a pictorial square in the truest sense: the background sets the stage, and the appliqué gives it a face.",
          "raw_text": "The Duckling Granny Square starts out as a classic granny square worked in soft cream and buttery yellow, but it doesn't stay a plain background for long. A round little duckling, complete with a tucked wing and a cheerful orange beak, gets stitched separately and sewn on top, turning a familiar square into a small scene. It's a pictorial square in the truest sense: the background sets the stage, and the appliqué gives it a face.",
          "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": "Underneath the appliqué, the construction is pure classic granny square: a magic ring start, corner ch-2 spaces, and rounds of 3-dc groups building outward before a tidy single crochet border pulls everything together. Because the shaping and color changes follow the rhythm you already know from other granny squares, this pattern suits confident beginners who've made a square or two and are ready to add a little hand-sewn detail to their skill set.",
          "raw_text": "Underneath the appliqué, the construction is pure classic granny square: a magic ring start, corner ch-2 spaces, and rounds of 3-dc groups building outward before a tidy single crochet border pulls everything together. Because the shaping and color changes follow the rhythm you already know from other granny squares, this pattern suits confident beginners who've made a square or two and are ready to add a little hand-sewn detail to their skill set.",
          "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": "Blocked out, the finished square measures about 7 by 7 inches, a tidy size that works on its own as a mug rug or gathered with others into a bright blanket, pillow front, or set of coasters. Because the palette stays soft and simple, cream, buttery yellow, and orange, it slots in easily wherever you want a cheerful, nature-inspired motif.",
          "raw_text": "Blocked out, the finished square measures about 7 by 7 inches, a tidy size that works on its own as a mug rug or gathered with others into a bright blanket, pillow front, or set of coasters. Because the palette stays soft and simple, cream, buttery yellow, and orange, it slots in easily wherever you want a cheerful, nature-inspired motif.",
          "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": "There's something irresistibly cheerful about a duckling, and I loved figuring out how to bring that charm into a granny square. I wanted a background that felt classic and calm, cream and buttery yellow, worked in the same relaxed rounds you already know, so the little appliqué could be the star. Stitching the tucked wing and that bright orange beak separately, then setting them in place, felt like tiny sculpture more than crochet. It's the kind of project where you finish one round, look down, and grin because it's already recognizably a duckling. I think that's what keeps me coming back to pictorial squares: the moment a handful of stitches suddenly becomes a little character with personality of its own.",
          "raw_text": "There's something irresistibly cheerful about a duckling, and I loved figuring out how to bring that charm into a granny square. I wanted a background that felt classic and calm, cream and buttery yellow, worked in the same relaxed rounds you already know, so the little appliqué could be the star. Stitching the tucked wing and that bright orange beak separately, then setting them in place, felt like tiny sculpture more than crochet. It's the kind of project where you finish one round, look down, and grin because it's already recognizably a duckling. I think that's what keeps me coming back to pictorial squares: the moment a handful of stitches suddenly becomes a little character with personality of its own.",
          "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": "Losing the corner spaces",
          "value": "If your square starts curling instead of lying flat, you've likely missed working into the ch-2 corner space. Always work your (3 dc, ch 2, 3 dc) directly into that corner loop, not into the stitches around it.",
          "raw_text": "If your square starts curling instead of lying flat, you've likely missed working into the ch-2 corner space. Always work your (3 dc, ch 2, 3 dc) directly into that corner loop, not into the stitches around it.",
          "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": "Skipping a stitch count check",
          "value": "Pause after each round and compare your stitch count to the pattern before starting the next one. Catching a miscount early saves you from unraveling a nearly finished square.",
          "raw_text": "Pause after each round and compare your stitch count to the pattern before starting the next one. Catching a miscount early saves you from unraveling a nearly finished square.",
          "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": "Placing the duckling off-center",
          "value": "Pin the body, wing, and beak pieces in place before you sew a single stitch, and step back to check the balance. A quick adjustment now beats picking out stitches later.",
          "raw_text": "Pin the body, wing, and beak pieces in place before you sew a single stitch, and step back to check the balance. A quick adjustment now beats picking out stitches later.",
          "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": "Sewing the appliqué too loosely",
          "value": "Loose stitches let the duckling's edges curl away from the background over time. Use small, snug whip stitches and weave in every tail so the pieces stay flat and secure.",
          "raw_text": "Loose stitches let the duckling's edges curl away from the background over time. Use small, snug whip stitches and weave in every tail so the pieces stay flat and secure.",
          "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": "Worsted-weight yarn in 3 colors (cream, buttery yellow, orange) — about 25–40 g total per square",
              "raw_text": "Worsted-weight yarn in 3 colors (cream, buttery yellow, orange) — about 25–40 g total per square"
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "5.0 mm crochet hook",
              "raw_text": "5.0 mm crochet hook"
            },
            {
              "order": 3,
              "row_type": "item",
              "code": "mat-1-3",
              "label": "",
              "value": "Yarn needle for weaving in ends",
              "raw_text": "Yarn needle for weaving in ends"
            },
            {
              "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",
          "raw_text": "ch = chain",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain"
        },
        {
          "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-sc",
          "label": "sc",
          "value": "single crochet",
          "raw_text": "sc = single crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc",
          "meaning": "single crochet"
        },
        {
          "order": 4,
          "row_type": "abbrev",
          "code": "abbrev-sl-st",
          "label": "sl st",
          "value": "slip stitch",
          "raw_text": "sl st = slip stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sl st",
          "meaning": "slip stitch"
        },
        {
          "order": 5,
          "row_type": "abbrev",
          "code": "abbrev-sp",
          "label": "sp",
          "value": "space",
          "raw_text": "sp = space",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sp",
          "meaning": "space"
        },
        {
          "order": 6,
          "row_type": "abbrev",
          "code": "abbrev-st-s",
          "label": "st(s)",
          "value": "stitch(es)",
          "raw_text": "st(s) = stitch(es)",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "st(s)",
          "meaning": "stitch(es)"
        },
        {
          "order": 7,
          "row_type": "abbrev",
          "code": "abbrev-rnd",
          "label": "rnd",
          "value": "round",
          "raw_text": "rnd = round",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "rnd",
          "meaning": "round"
        },
        {
          "order": 8,
          "row_type": "abbrev",
          "code": "abbrev-mr",
          "label": "MR",
          "value": "magic ring",
          "raw_text": "MR = magic ring",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "MR",
          "meaning": "magic ring"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "the-background-square",
      "title": "The Background Square",
      "raw_heading": "The Background Square",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "part-info-1",
          "label": "Info",
          "value": "Work the plain background square first — the duckling pieces are sewn on at the end. Every count below is math-verified.",
          "raw_text": "Work the plain background square first — the duckling pieces are sewn on at the end. Every count below is math-verified.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "part-round-1",
          "label": "Round 1",
          "value": "With cream, in a magic ring: ch 3, 2 dc, ch 2, [3 dc, ch 2] 3 times; sl st to top of ch-3 to join (12)",
          "raw_text": "With cream, in a magic ring: ch 3, 2 dc, ch 2, [3 dc, ch 2] 3 times; sl st to top of ch-3 to join (12)",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": 12,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "part-step-1",
          "label": "Step by step",
          "value": "Step by step: Using cream yarn, in a magic ring: make 3 chain stitches, 2 double crochet, make 2 chain stitches, [3 double crochet, make 2 chain stitches] 3 times; slip stitch to top of ch-3 to join.",
          "raw_text": "Step by step: Using cream yarn, in a magic ring: make 3 chain stitches, 2 double crochet, make 2 chain stitches, [3 double crochet, make 2 chain stitches] 3 times; slip stitch to top of ch-3 to join.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "part-round-2",
          "label": "Round 2",
          "value": "sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, ] 3 times; sl st to join (24)",
          "raw_text": "sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, ] 3 times; sl st to join (24)",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": 24,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "info",
          "code": "part-step-2",
          "label": "Step by step",
          "value": "Step by step: Slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "raw_text": "Step by step: Slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "round",
          "code": "part-round-3",
          "label": "Round 3",
          "value": "With buttery yellow, sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (36)",
          "raw_text": "With buttery yellow, sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (36)",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": 36,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "part-step-3",
          "label": "Step by step",
          "value": "Step by step: Using buttery yellow yarn, slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "raw_text": "Step by step: Using buttery yellow yarn, slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "round",
          "code": "part-round-4",
          "label": "Round 4",
          "value": "sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (48)",
          "raw_text": "sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (48)",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": 48,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "info",
          "code": "part-step-4",
          "label": "Step by step",
          "value": "Step by step: Slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "raw_text": "Step by step: Slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "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": "part-round-5",
          "label": "Round 5",
          "value": "With cream, sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, 3 dc, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, 3 dc, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (60)",
          "raw_text": "With cream, sl st to corner sp, ch 3, 2 dc, ch 2, 3 dc in same corner, ch 1, 3 dc, ch 1, 3 dc, ch 1, 3 dc, ch 1, [(3 dc, ch 2, 3 dc) in corner sp, ch 1, 3 dc, ch 1, 3 dc, ch 1, 3 dc, ch 1, ] 3 times; sl st to join (60)",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": 60,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "info",
          "code": "part-step-5",
          "label": "Step by step",
          "value": "Step by step: Using cream yarn, slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "raw_text": "Step by step: Using cream yarn, slip stitch to corner space, make 3 chain stitches, 2 double crochet, make 2 chain stitches, 3 double crochet in same corner, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, [(3 double crochet, make 2 chain stitches, 3 double crochet) in corner space, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, 3 double crochet, make 1 chain stitch, ] 3 times; slip stitch to join.",
          "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": "part-round-6",
          "label": "Border",
          "value": "sl st into the corner ch-2 sp, ch 1, [3 sc in the corner sp, (sc in next 3 sts, sc in next sp) 4 times, sc in next 3 sts] 4 times; sl st to the first sc (88)",
          "raw_text": "sl st into the corner ch-2 sp, ch 1, [3 sc in the corner sp, (sc in next 3 sts, sc in next sp) 4 times, sc in next 3 sts] 4 times; sl st to the first sc (88)",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": 88,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "info",
          "code": "part-step-6",
          "label": "Step by step",
          "value": "Step by step: Slip stitch into the corner ch-2 space, make 1 chain stitch, [3 single crochet in the corner space, (single crochet in next 3 stitches, single crochet in next space) 4 times, single crochet in next 3 stitches] 4 times; slip stitch to the first single crochet.",
          "raw_text": "Step by step: Slip stitch into the corner ch-2 space, make 1 chain stitch, [3 single crochet in the corner space, (single crochet in next 3 stitches, single crochet in next space) 4 times, single crochet in next 3 stitches] 4 times; slip stitch to the first single crochet.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "card_type": "part",
      "code": "the-body",
      "title": "The Body",
      "raw_heading": "The Body",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "pc1-info",
          "label": "Info",
          "value": "Worked in buttery yellow. Leave a long tail for sewing.",
          "raw_text": "Worked in buttery yellow. Leave a long tail for sewing.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "pc1-round-1",
          "label": "Round 1",
          "value": "6 sc in a magic ring (6)",
          "raw_text": "6 sc in a magic ring (6)",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": 6,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "pc1-round-2",
          "label": "Round 2",
          "value": "[inc] repeat 6 times (12)",
          "raw_text": "[inc] repeat 6 times (12)",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": 12,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "pc1-round-3",
          "label": "Round 3",
          "value": "[sc, inc] repeat 6 times (18)",
          "raw_text": "[sc, inc] repeat 6 times (18)",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": 18,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "round",
          "code": "pc1-round-4",
          "label": "Round 4",
          "value": "[sc in next 2 sts, inc] repeat 6 times (24)",
          "raw_text": "[sc in next 2 sts, inc] repeat 6 times (24)",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": 24,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 10,
      "card_type": "part",
      "code": "the-wing",
      "title": "The Wing",
      "raw_heading": "The Wing",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "pc2-info",
          "label": "Info",
          "value": "Worked in cream. Leave a long tail for sewing.",
          "raw_text": "Worked in cream. Leave a long tail for sewing.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "pc2-round-1",
          "label": "Round 1",
          "value": "6 sc in a magic ring (6)",
          "raw_text": "6 sc in a magic ring (6)",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": 6,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "pc2-round-2",
          "label": "Round 2",
          "value": "[inc] repeat 6 times (12)",
          "raw_text": "[inc] repeat 6 times (12)",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": 12,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 11,
      "card_type": "part",
      "code": "the-beak",
      "title": "The Beak",
      "raw_heading": "The Beak",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "pc3-info",
          "label": "Info",
          "value": "Worked in orange. Leave a long tail for sewing.",
          "raw_text": "Worked in orange. Leave a long tail for sewing.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "pc3-round-1",
          "label": "Round 1",
          "value": "ch 4, sc in 2nd ch from hook, sc in next ch, sc in next ch (3)",
          "raw_text": "ch 4, sc in 2nd ch from hook, sc in next ch, sc in next ch (3)",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": 3,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "pc3-round-2",
          "label": "Round 2",
          "value": "ch 1, turn, dec, sc in next st (2)",
          "raw_text": "ch 1, turn, dec, sc in next st (2)",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": 2,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "pc3-round-3",
          "label": "Round 3",
          "value": "ch 1, turn, dec (1)",
          "raw_text": "ch 1, turn, dec (1)",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": 1,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 12,
      "card_type": "part",
      "code": "assembly",
      "title": "Assembly — Bringing It Together",
      "raw_heading": "Assembly",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "asm-1",
          "label": "Step 1",
          "value": "Weave in the magic-ring tail on the Body, then pin the Body just above center on the background square.",
          "raw_text": "Weave in the magic-ring tail on the Body, then pin the Body just above center on the background 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": "asm-2",
          "label": "Step 2",
          "value": "Sew the Body down around its outer edge with matching yellow thread, adding a light pinch of stuffing before closing the last few stitches for a slightly puffed look.",
          "raw_text": "Sew the Body down around its outer edge with matching yellow thread, adding a light pinch of stuffing before closing the last few stitches for a slightly puffed look.",
          "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": "asm-3",
          "label": "Step 3",
          "value": "Pin the Beak so its point (Row 3) faces outward from the lower-right edge of the Body, with the straight top edge (Row 1) tucked just under the Body; sew along the two slanted edges only.",
          "raw_text": "Pin the Beak so its point (Row 3) faces outward from the lower-right edge of the Body, with the straight top edge (Row 1) tucked just under the Body; sew along the two slanted edges only.",
          "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": "asm-4",
          "label": "Step 4",
          "value": "Pin the Wing onto the lower half of the Body, overlapping the edge slightly; sew around the outer edge only so it sits like a raised wing.",
          "raw_text": "Pin the Wing onto the lower half of the Body, overlapping the edge slightly; sew around the outer edge only so it sits like a raised wing.",
          "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": "asm-5",
          "label": "Step 5",
          "value": "Embroider the eyes above the beak once all pieces are secured.",
          "raw_text": "Embroider the eyes above the beak once all pieces are secured.",
          "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": "asm-6",
          "label": "Embroidery",
          "value": "Add two small straight stitches (or French knots) in black yarn side by side above the beak for the eyes.",
          "raw_text": "Add two small straight stitches (or French knots) in black yarn side by side above the beak for the eyes.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "asm-7",
          "label": "Embroidery",
          "value": "Optional: two tiny orange straight-stitch 'V' feet peeking out beneath the body.",
          "raw_text": "Optional: two tiny orange straight-stitch 'V' feet peeking out beneath the body.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 13,
      "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": "💡 Gauge: the finished square is about 7 x 7 inches in Worsted weight yarn with a 5.0 mm hook. Tight crocheters can go up half a hook size; loose ones down half.",
          "raw_text": "💡 Gauge: the finished square is about 7 x 7 inches in Worsted weight yarn with a 5.0 mm hook. Tight crocheters can go up half a hook size; loose ones down half.",
          "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": "💡 Color plan: the sample uses cream, buttery yellow, orange in round order — change colors with a slip-stitch join in the first stitch of the new round.",
          "raw_text": "💡 Color plan: the sample uses cream, buttery yellow, orange in round order — change colors with a slip-stitch join in the first stitch of the new round.",
          "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": "💡 Weave in your color-change tails as you go rather than saving them all for the end — it keeps the back of your square tidy and makes assembly easier later.",
          "raw_text": "💡 Weave in your color-change tails as you go rather than saving them all for the end — it keeps the back of your square tidy and makes assembly easier later.",
          "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": "💡 Block your finished square lightly with a spray of water and a gentle press under a towel; it squares up the corners and helps the duckling appliqué lie perfectly flat.",
          "raw_text": "💡 Block your finished square lightly with a spray of water and a gentle press under a towel; it squares up the corners and helps the duckling appliqué lie perfectly flat.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 14,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "What yarn and hook size do I need for the Duckling Granny Square?",
          "value": "This square is worked in worsted weight (medium, #4) yarn with a 5.0 mm hook. Any worsted weight yarn in cream, buttery yellow, and orange will work beautifully.",
          "raw_text": "This square is worked in worsted weight (medium, #4) yarn with a 5.0 mm hook. Any worsted weight yarn in cream, buttery yellow, and orange will work beautifully.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What yarn and hook size do I need for the Duckling Granny Square?",
          "answer": "This square is worked in worsted weight (medium, #4) yarn with a 5.0 mm hook. Any worsted weight yarn in cream, buttery yellow, and orange will work beautifully.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "How big is the finished square?",
          "value": "Once the five rounds and border are complete, the square measures about 7 by 7 inches. Gauge and yarn choice can shift that slightly, so swatch first if exact size matters for your project.",
          "raw_text": "Once the five rounds and border are complete, the square measures about 7 by 7 inches. Gauge and yarn choice can shift that slightly, so swatch first if exact size matters for your project.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How big is the finished square?",
          "answer": "Once the five rounds and border are complete, the square measures about 7 by 7 inches. Gauge and yarn choice can shift that slightly, so swatch first if exact size matters for your project.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "Is this pattern good for a beginner?",
          "value": "Yes, it's rated beginner friendly. The background square uses standard granny square rounds, and the duckling appliqué pieces are small and forgiving to stitch and sew on.",
          "raw_text": "Yes, it's rated beginner friendly. The background square uses standard granny square rounds, and the duckling appliqué pieces are small and forgiving to stitch and sew on.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Is this pattern good for a beginner?",
          "answer": "Yes, it's rated beginner friendly. The background square uses standard granny square rounds, and the duckling appliqué pieces are small and forgiving to stitch and sew on.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "How do I attach the duckling appliqué to the square?",
          "value": "Stitch the body, wing, and beak pieces separately, then pin them onto the finished background square before whip-stitching them in place with a tapestry needle and matching yarn.",
          "raw_text": "Stitch the body, wing, and beak pieces separately, then pin them onto the finished background square before whip-stitching them in place with a tapestry needle and matching yarn.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How do I attach the duckling appliqué to the square?",
          "answer": "Stitch the body, wing, and beak pieces separately, then pin them onto the finished background square before whip-stitching them in place with a tapestry needle and matching yarn.",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/duckling-granny-square-a-sweet-beginner-applique-pattern-hero.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/duckling-granny-square-a-sweet-beginner-applique-pattern-hero.webp",
      "alt": "Duckling Granny Square — A Sweet Beginner Appliqué Pattern — finished granny square",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/duckling-granny-square-a-sweet-beginner-applique-pattern-hero.webp",
      "alt": "Duckling Granny Square — A Sweet Beginner Appliqué Pattern — finished granny square",
      "is_featured": true
    }
  ],
  "_squarelab": {
    "original_design": true,
    "square_id": "duckling-granny-square--c62e3602",
    "family": "classic",
    "path": "classic",
    "recipe": [
      "classic_center",
      "granny_grow",
      "granny_grow",
      "granny_grow",
      "granny_grow",
      "sc_border"
    ],
    "verdict": "ship",
    "all_counts_verified": true
  },
  "_sanitized_holiday_count": 3
}