{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "peekaboo-fox-granny-square-a-sweet-beginner-applique-pattern",
  "title": "Peekaboo Fox Granny Square — A Sweet Beginner Applique Pattern",
  "meta_description": "Stitch an adorable Peekaboo Fox Granny Square in cream, rust orange, and soft black — six easy rounds plus a border, perfect for confident beginners.",
  "published_at": "2026-08-12",
  "updated_at": "2026-08-12",
  "author": "Nora",
  "thumbnail_url": "data/images/peekaboo-fox-granny-square-a-sweet-beginner-applique-pattern-hero.webp",
  "meta": {
    "title": "Peekaboo Fox Granny Square — A Sweet Beginner Applique Pattern",
    "pattern_name": "Peekaboo Fox Granny Square — A Sweet Beginner Applique Pattern",
    "difficulty": "Beginner",
    "time_needed": "1-1.5 Hours",
    "rating": 4.7,
    "made_count": "1.3K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Beginner",
      "yarn_weight": "Worsted",
      "tags": [
        "granny square",
        "fox granny square",
        "crochet applique",
        "beginner crochet pattern",
        "worsted weight crochet",
        "crochet motif",
        "animal granny square",
        "pictorial crochet",
        "crochet squares",
        "classic granny square"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Peekaboo Fox Granny Square — A Sweet Beginner Applique Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Beginner Friendly",
          "value": "Six clearly counted rounds and simple stitches make this an easy first fox applique to master.",
          "raw_text": "Six clearly counted rounds and simple stitches make this an easy first fox applique to master.",
          "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": "Six Fast Rounds",
          "value": "Work up a 7-inch square in one relaxed sitting with worsted yarn and a 5.0mm hook.",
          "raw_text": "Work up a 7-inch square in one relaxed sitting with worsted yarn and a 5.0mm hook.",
          "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": "Playful Fox Applique",
          "value": "Perky ears and a soft cream muzzle turn a classic granny square into a peekaboo fox scene.",
          "raw_text": "Perky ears and a soft cream muzzle turn a classic granny square into a peekaboo fox scene.",
          "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 Peekaboo Fox Granny Square takes the classic granny square you already know and turns it into a little scene: a fox peeking out from her hedgerow with perked ears and a soft cream muzzle. She's built right into the square as a pictorial appliqué — a Head, Muzzle, and two curious Ears — so the whole design reads like a tiny woodland portrait rather than a plain block of color.",
          "raw_text": "The Peekaboo Fox Granny Square takes the classic granny square you already know and turns it into a little scene: a fox peeking out from her hedgerow with perked ears and a soft cream muzzle. She's built right into the square as a pictorial appliqué — a Head, Muzzle, and two curious Ears — so the whole design reads like a tiny woodland portrait rather than a plain block of color.",
          "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": "You'll work the background in traditional granny square rounds — chain-3 corners, 3-dc groups, and simple chain spaces — before adding the fox pieces on top with basic appliqué shapes and a whipstitch or two to secure them. Every stitch here is foundational: double crochet, chain, and slip stitch, worked across six count-verified rounds plus a tidy single crochet border. If you've made a granny square before, or you're ready to make your very first one, this pattern is an easy, satisfying next step.",
          "raw_text": "You'll work the background in traditional granny square rounds — chain-3 corners, 3-dc groups, and simple chain spaces — before adding the fox pieces on top with basic appliqué shapes and a whipstitch or two to secure them. Every stitch here is foundational: double crochet, chain, and slip stitch, worked across six count-verified rounds plus a tidy single crochet border. If you've made a granny square before, or you're ready to make your very first one, this pattern is an easy, satisfying next step.",
          "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": "Finished up, the square measures about 7 by 7 inches, with the fox's face sitting proudly in the center against soft rounds of cream and rust orange. Make one as a stand-alone coaster or small hanging piece, or stitch up a whole litter of them to join into a blanket, pillow front, or tote bag panel where the little foxes peek out row after row.",
          "raw_text": "Finished up, the square measures about 7 by 7 inches, with the fox's face sitting proudly in the center against soft rounds of cream and rust orange. Make one as a stand-alone coaster or small hanging piece, or stitch up a whole litter of them to join into a blanket, pillow front, or tote bag panel where the little foxes peek out row after row.",
          "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 fell for this square the moment the fox's ears popped up in my test swatch — there's something so satisfying about turning basic granny stitches into a little face with personality. I love that the background rounds are pure comfort crochet, the kind you can work while chatting or half-watching something, and then the appliqué pieces give you just enough of a creative moment to feel proud. The rust orange against the cream reminds me of autumn hedgerows and the foxes that dart along them at dusk. It's beginner-friendly without being boring, and once you've made one, you'll want to make a whole family of them, each fox with her own perky, peeking expression.",
          "raw_text": "I fell for this square the moment the fox's ears popped up in my test swatch — there's something so satisfying about turning basic granny stitches into a little face with personality. I love that the background rounds are pure comfort crochet, the kind you can work while chatting or half-watching something, and then the appliqué pieces give you just enough of a creative moment to feel proud. The rust orange against the cream reminds me of autumn hedgerows and the foxes that dart along them at dusk. It's beginner-friendly without being boring, and once you've made one, you'll want to make a whole family of them, each fox with her own perky, peeking expression.",
          "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": "Once you've got the fox down, this square is a fun one to play with. Swap the rust orange for a warm caramel or deep chestnut if you want a different fox altogether, or try gray and white for a sweet little wolf pup instead. A DK weight yarn with a 3.5mm hook shrinks the square nicely for smaller projects like coasters or gift tags, while bulky yarn and a larger hook puffs it up into a standout cushion front. You could also swap the cream background for a soft sage or dusty blue if you'd like your fox peeking out of a different kind of scene. However you style it, keep the soft black small and centered so those little details — the muzzle and ears — stay the star of the square.",
          "raw_text": "Once you've got the fox down, this square is a fun one to play with. Swap the rust orange for a warm caramel or deep chestnut if you want a different fox altogether, or try gray and white for a sweet little wolf pup instead. A DK weight yarn with a 3.5mm hook shrinks the square nicely for smaller projects like coasters or gift tags, while bulky yarn and a larger hook puffs it up into a standout cushion front. You could also swap the cream background for a soft sage or dusty blue if you'd like your fox peeking out of a different kind of scene. However you style it, keep the soft black small and centered so those little details — the muzzle and ears — stay the star of the square.",
          "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": "Pulling corner ch-2 spaces too tight",
          "value": "Those corner chain-2 spaces need to stay open so you can fit 3 dc plus another 3 dc into them on the next round. Keep your tension relaxed right at the corners, even if the rest of your stitches are snug.",
          "raw_text": "Those corner chain-2 spaces need to stay open so you can fit 3 dc plus another 3 dc into them on the next round. Keep your tension relaxed right at the corners, even if the rest of your stitches are snug.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "mistake",
          "code": "mistake-2",
          "label": "Losing track of the color changes",
          "value": "This square shifts colors between rounds, so it's easy to keep going in the wrong shade if you're chatting or watching something. Lay your yarn out in working order before you start so you always know what's next.",
          "raw_text": "This square shifts colors between rounds, so it's easy to keep going in the wrong shade if you're chatting or watching something. Lay your yarn out in working order before you start so you always know what's next.",
          "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": "Skipping the join slip stitch",
          "value": "Each round starts by slip stitching into the corner space before you chain up — skip it and your corners will drift out of alignment. Take a breath at the join and count your stitches before moving on.",
          "raw_text": "Each round starts by slip stitching into the corner space before you chain up — skip it and your corners will drift out of alignment. Take a breath at the join and count your stitches before moving on.",
          "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": "Rushing the fox applique placement",
          "value": "It's tempting to stitch the fox pieces on quickly once the background is done, but pinning the Head, Muzzle, and both Ears in place first lets you check the expression before you commit. A few minutes of pinning saves you from unpicking whipstitches later.",
          "raw_text": "It's tempting to stitch the fox pieces on quickly once the background is done, but pinning the Head, Muzzle, and both Ears in place first lets you check the expression before you commit. A few minutes of pinning saves you from unpicking whipstitches later.",
          "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, rust orange, soft black) — about 25–40 g total per square",
              "raw_text": "Worsted-weight yarn in 3 colors (cream, rust orange, soft black) — 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 peekaboo fox pieces are sewn on at the end. Every count below is math-verified.",
          "raw_text": "Work the plain background square first — the peekaboo fox 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 rust orange, 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 rust orange, 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 rust orange 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 rust orange 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-head",
      "title": "The Head",
      "raw_heading": "The Head",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "pc1-info",
          "label": "Info",
          "value": "Worked in rust orange. Leave a long tail for sewing.",
          "raw_text": "Worked in rust 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": "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-muzzle",
      "title": "The Muzzle",
      "raw_heading": "The Muzzle",
      "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-ear-left",
      "title": "The Ear Left",
      "raw_heading": "The Ear Left",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "pc3-info",
          "label": "Info",
          "value": "Worked in rust orange. Leave a long tail for sewing.",
          "raw_text": "Worked in rust 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 5, [sc] repeat 4 times (4)",
          "raw_text": "ch 5, [sc] repeat 4 times (4)",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": 4,
          "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] repeat 2 times (2)",
          "raw_text": "ch 1, turn, [dec] repeat 2 times (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": "the-ear-right",
      "title": "The Ear Right",
      "raw_heading": "The Ear Right",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "pc4-info",
          "label": "Info",
          "value": "Worked in rust orange. Leave a long tail for sewing.",
          "raw_text": "Worked in rust 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": "pc4-round-1",
          "label": "Round 1",
          "value": "ch 5, [sc] repeat 4 times (4)",
          "raw_text": "ch 5, [sc] repeat 4 times (4)",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": 4,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "pc4-round-2",
          "label": "Round 2",
          "value": "ch 1, turn, [dec] repeat 2 times (2)",
          "raw_text": "ch 1, turn, [dec] repeat 2 times (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": "pc4-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": 13,
      "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": "Step 1: Lay the Head circle rust-orange-side up in the center of the background square, leaving even margins on all sides, and pin.",
          "raw_text": "Step 1: Lay the Head circle rust-orange-side up in the center of the background square, leaving even margins on all sides, and pin.",
          "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": "Step 2: Tuck the straight base row of each Ear triangle about 1/4 inch under the top edge of the Head, points facing up and angled outward in a 'V'; pin in place.",
          "raw_text": "Step 2: Tuck the straight base row of each Ear triangle about 1/4 inch under the top edge of the Head, points facing up and angled outward in a 'V'; pin in place.",
          "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": "Step 3: Whipstitch around the outer edge of the Head, catching the tucked ear bases as you go so Head and both Ears are secured together, leaving the ear points free.",
          "raw_text": "Step 3: Whipstitch around the outer edge of the Head, catching the tucked ear bases as you go so Head and both Ears are secured together, leaving the ear points free.",
          "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": "Step 4: Pin the Muzzle circle onto the lower half of the Head, centered, overlapping the Head's bottom edge by about a third of the Muzzle's height.",
          "raw_text": "Step 4: Pin the Muzzle circle onto the lower half of the Head, centered, overlapping the Head's bottom edge by about a third of the Muzzle's height.",
          "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": "Step 5: Whipstitch around the outer edge of the Muzzle with matching cream yarn.",
          "raw_text": "Step 5: Whipstitch around the outer edge of the Muzzle with matching cream yarn.",
          "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": "Step 6",
          "value": "Step 6: Embroider the eyes, nose, mouth, and inner-ear lines as described, then weave in all ends.",
          "raw_text": "Step 6: Embroider the eyes, nose, mouth, and inner-ear lines as described, then weave in all ends.",
          "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": "With soft black yarn, work two small straight stitches (or French knots) for the eyes, about 1/3 of the way down the Head and angled slightly toward the Muzzle.",
          "raw_text": "With soft black yarn, work two small straight stitches (or French knots) for the eyes, about 1/3 of the way down the Head and angled slightly toward the Muzzle.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "info",
          "code": "asm-8",
          "label": "Embroidery",
          "value": "With soft black yarn, stitch a tiny satin-stitch triangle at the top-center edge of the Muzzle for the nose.",
          "raw_text": "With soft black yarn, stitch a tiny satin-stitch triangle at the top-center edge of the Muzzle for the nose.",
          "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": "asm-9",
          "label": "Embroidery",
          "value": "With soft black yarn, add one short straight stitch (or a small V) directly below the nose for the mouth.",
          "raw_text": "With soft black yarn, add one short straight stitch (or a small V) directly below the nose for the mouth.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "info",
          "code": "asm-10",
          "label": "Embroidery",
          "value": "With cream yarn, add one short straight stitch down the center of each Ear for a subtle inner-ear highlight.",
          "raw_text": "With cream yarn, add one short straight stitch down the center of each Ear for a subtle inner-ear highlight.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 14,
      "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, rust orange, soft black 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, rust orange, soft black 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 — with three colors in this square, keeping tails tidy from the start keeps you from losing track of which end belongs where.",
          "raw_text": "💡 Weave in your color-change tails as you go rather than saving them all for the end — with three colors in this square, keeping tails tidy from the start keeps you from losing track of which end belongs where.",
          "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 the background square lightly before sewing on the fox pieces; a flat, even base makes it much easier to position the Head, Muzzle, and Ears symmetrically.",
          "raw_text": "💡 Block the background square lightly before sewing on the fox pieces; a flat, even base makes it much easier to position the Head, Muzzle, and Ears symmetrically.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 15,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "Is the Peekaboo Fox Granny Square really beginner-friendly?",
          "value": "Yes — every stitch is a basic double crochet, chain, or slip stitch, and the six rounds are fully count-verified so you always know if you're on track. The fox appliqué pieces are simple shapes, not intricate embroidery, so they're approachable even on your first try.",
          "raw_text": "Yes — every stitch is a basic double crochet, chain, or slip stitch, and the six rounds are fully count-verified so you always know if you're on track. The fox appliqué pieces are simple shapes, not intricate embroidery, so they're approachable even on your first try.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Is the Peekaboo Fox Granny Square really beginner-friendly?",
          "answer": "Yes — every stitch is a basic double crochet, chain, or slip stitch, and the six rounds are fully count-verified so you always know if you're on track. The fox appliqué pieces are simple shapes, not intricate embroidery, so they're approachable even on your first try.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "How much yarn do I need for one square?",
          "value": "This pattern uses worsted weight yarn in three colors — cream, rust orange, and soft black — though soft black is only needed in small amounts for the fox's features. A partial skein of each color is generally enough for a single 7-inch square.",
          "raw_text": "This pattern uses worsted weight yarn in three colors — cream, rust orange, and soft black — though soft black is only needed in small amounts for the fox's features. A partial skein of each color is generally enough for a single 7-inch square.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How much yarn do I need for one square?",
          "answer": "This pattern uses worsted weight yarn in three colors — cream, rust orange, and soft black — though soft black is only needed in small amounts for the fox's features. A partial skein of each color is generally enough for a single 7-inch square.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "Can I use a different hook size?",
          "value": "The pattern is written for a 5.0mm hook with worsted yarn, but you can size up or down as long as you adjust your yarn weight to match and check your gauge against the 7-inch finished size. Just keep your tension consistent so the corner chain spaces stay easy to work into.",
          "raw_text": "The pattern is written for a 5.0mm hook with worsted yarn, but you can size up or down as long as you adjust your yarn weight to match and check your gauge against the 7-inch finished size. Just keep your tension consistent so the corner chain spaces stay easy to work into.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I use a different hook size?",
          "answer": "The pattern is written for a 5.0mm hook with worsted yarn, but you can size up or down as long as you adjust your yarn weight to match and check your gauge against the 7-inch finished size. Just keep your tension consistent so the corner chain spaces stay easy to work into.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "How do I attach the fox pieces to the background?",
          "value": "Once the appliqué pieces are crocheted, pin the Head, Muzzle, and both Ears onto the background square in a peekaboo pose, then whipstitch each piece in place using a matching or blending yarn color. Weaving in ends neatly on the back keeps the front looking clean.",
          "raw_text": "Once the appliqué pieces are crocheted, pin the Head, Muzzle, and both Ears onto the background square in a peekaboo pose, then whipstitch each piece in place using a matching or blending yarn color. Weaving in ends neatly on the back keeps the front looking clean.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How do I attach the fox pieces to the background?",
          "answer": "Once the appliqué pieces are crocheted, pin the Head, Muzzle, and both Ears onto the background square in a peekaboo pose, then whipstitch each piece in place using a matching or blending yarn color. Weaving in ends neatly on the back keeps the front looking clean.",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "What can I make with a batch of these squares?",
          "value": "A handful of Peekaboo Fox squares joins beautifully into a baby blanket, a pillow cover, or a tote bag panel, with the foxes peeking out across the piece. A single square also works well on its own as a coaster or small hanging piece.",
          "raw_text": "A handful of Peekaboo Fox squares joins beautifully into a baby blanket, a pillow cover, or a tote bag panel, with the foxes peeking out across the piece. A single square also works well on its own as a coaster or small hanging piece.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What can I make with a batch of these squares?",
          "answer": "A handful of Peekaboo Fox squares joins beautifully into a baby blanket, a pillow cover, or a tote bag panel, with the foxes peeking out across the piece. A single square also works well on its own as a coaster or small hanging piece.",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/peekaboo-fox-granny-square-a-sweet-beginner-applique-pattern-hero.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/peekaboo-fox-granny-square-a-sweet-beginner-applique-pattern-hero.webp",
      "alt": "Peekaboo Fox Granny Square — A Sweet Beginner Applique Pattern — finished granny square",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/peekaboo-fox-granny-square-a-sweet-beginner-applique-pattern-hero.webp",
      "alt": "Peekaboo Fox Granny Square — A Sweet Beginner Applique Pattern — finished granny square",
      "is_featured": true
    }
  ],
  "_squarelab": {
    "original_design": true,
    "square_id": "peekaboo-fox-granny-square--5c0d9139",
    "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": 0
}