{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "crochet-unicorn-granny-square-free-pattern",
  "title": "How to Crochet a Unicorn Granny Square (Free Pattern)",
  "meta_description": "Crochet an adorable unicorn granny square with this free pattern — rainbow arch, third-loop texture, and easy color changes for a magical 3-inch block",
  "published_at": "2026-08-10",
  "updated_at": "2026-08-10",
  "author": "Nora",
  "thumbnail_url": "data/images/crochet-unicorn-granny-square-free-pattern-hero.webp",
  "meta": {
    "title": "How to Crochet a Unicorn Granny Square (Free Pattern)",
    "pattern_name": "How to Crochet a Unicorn Granny Square (Free Pattern)",
    "difficulty": "Intermediate",
    "time_needed": "2-3 Hours",
    "rating": 4.8,
    "made_count": "1.4K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Intermediate",
      "yarn_weight": "DK",
      "tags": [
        "unicorn granny square",
        "granny square",
        "free crochet pattern",
        "rainbow crochet",
        "crochet motif",
        "color changes",
        "third loop crochet",
        "crochet square",
        "blanket square",
        "unicorn crochet",
        "dk yarn",
        "kids crochet"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "How to Crochet a Unicorn Granny Square (Free Pattern)",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Intermediate Level",
          "value": "Comfortable with color changes, hdc increases, and third-loop stitches",
          "raw_text": "Comfortable with color changes, hdc increases, and third-loop stitches",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "hero-info-2",
          "label": "Afternoon Project",
          "value": "2-3 hours of colorful, satisfying crafting per square",
          "raw_text": "2-3 hours of colorful, satisfying crafting per 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": "info",
          "code": "hero-info-3",
          "label": "Magical Motif",
          "value": "A dreamy rainbow-and-unicorn block for blankets, bags, and gifts",
          "raw_text": "A dreamy rainbow-and-unicorn block for blankets, bags, and gifts",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 2,
      "card_type": "about",
      "code": "about",
      "title": "About",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "about-info-1",
          "label": "",
          "value": "This pattern turns a humble granny square into a little piece of magic: a unicorn framed by a soft rainbow arch, worked from the center out and squared off with cleverly varied stitch heights. What makes it special is the rainbow itself — it's not appliquéd on, it's crocheted right into the rounds through smart color changes, so the arch curves naturally across the square. It's perfect for crocheters who are bored of plain solid squares and want a motif with real personality, whether you're planning a baby blanket, a pillow front, or a single framed square for a nursery wall",
          "raw_text": "This pattern turns a humble granny square into a little piece of magic: a unicorn framed by a soft rainbow arch, worked from the center out and squared off with cleverly varied stitch heights. What makes it special is the rainbow itself — it's not appliquéd on, it's crocheted right into the rounds through smart color changes, so the arch curves naturally across the square. It's perfect for crocheters who are bored of plain solid squares and want a motif with real personality, whether you're planning a baby blanket, a pillow front, or a single framed square for a nursery wall",
          "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 start with a magic loop and two rounds of white single crochet, then build the rainbow in Rounds 3 and 4 using half double crochet increases with mid-round color changes to yellow and blue. The signature move is working the blue section into the third loop only, which makes the arch pop forward in gentle relief. Round 5 uses a mix of single, half double, and double crochet with chain-3 corners to square everything off, and a final round of double crochet frames it all. If you can change colors mid-round and count increases, you're ready — expect two to three relaxed hours per square",
          "raw_text": "You'll start with a magic loop and two rounds of white single crochet, then build the rainbow in Rounds 3 and 4 using half double crochet increases with mid-round color changes to yellow and blue. The signature move is working the blue section into the third loop only, which makes the arch pop forward in gentle relief. Round 5 uses a mix of single, half double, and double crochet with chain-3 corners to square everything off, and a final round of double crochet frames it all. If you can change colors mid-round and count increases, you're ready — expect two to three relaxed hours per 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": "info",
          "code": "about-info-3",
          "label": "",
          "value": "The finished square measures about 3.15 × 3.15 inches in wool with a 3.00 mm hook — a sweet, slightly dense little block with lovely stitch definition and a raised rainbow you can actually feel with your fingertip. Joined into a blanket, the repeating unicorns and arches look like a storybook page; on its own, a single square makes a charming coaster, appliqué, or mini wall hanging. It's an ideal handmade gift for a unicorn-obsessed kid, a new baby, or honestly any adult who never quite outgrew rainbows — and since each square is small, you can gift a whole set without a months-long commitment",
          "raw_text": "The finished square measures about 3.15 × 3.15 inches in wool with a 3.00 mm hook — a sweet, slightly dense little block with lovely stitch definition and a raised rainbow you can actually feel with your fingertip. Joined into a blanket, the repeating unicorns and arches look like a storybook page; on its own, a single square makes a charming coaster, appliqué, or mini wall hanging. It's an ideal handmade gift for a unicorn-obsessed kid, a new baby, or honestly any adult who never quite outgrew rainbows — and since each square is small, you can gift a whole set without a months-long commitment",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 3,
      "card_type": "why_love",
      "code": "why-love",
      "title": "Why You'll Love This Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "why-love-1",
          "label": "",
          "value": "I'll be honest — I've made a lot of granny squares, and this one still makes me grin every single time I fasten off. The moment that hooked me is Round 5, when you reach the blue section and start working into the third loop only: suddenly the rainbow arch lifts off the fabric and the whole square comes alive. It's such a small technique tweak with such a big payoff. I also love how tidy the color changes are — finishing the stitch with the new color on those last two loops gives you crisp, clean transitions, and weaving the tails in as you go means almost no finishing work later. And Round 5 is quietly brilliant: that sequence of double, half double, and single crochet melts the circle into a perfect square without any awkward bulges at the corners. Add the little unicorn and one simple assembly step, and you've got a motif that looks far fancier than the couple of hours it actually takes. It's the kind of square people pick up and immediately ask, 'Wait, you made this?'",
          "raw_text": "I'll be honest — I've made a lot of granny squares, and this one still makes me grin every single time I fasten off. The moment that hooked me is Round 5, when you reach the blue section and start working into the third loop only: suddenly the rainbow arch lifts off the fabric and the whole square comes alive. It's such a small technique tweak with such a big payoff. I also love how tidy the color changes are — finishing the stitch with the new color on those last two loops gives you crisp, clean transitions, and weaving the tails in as you go means almost no finishing work later. And Round 5 is quietly brilliant: that sequence of double, half double, and single crochet melts the circle into a perfect square without any awkward bulges at the corners. Add the little unicorn and one simple assembly step, and you've got a motif that looks far fancier than the couple of hours it actually takes. It's the kind of square people pick up and immediately ask, 'Wait, you made this?'",
          "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 made one unicorn square, it's very hard to stop — so here are my favorite ways to play. Color-wise, the classic white background with a yellow-and-blue arch is lovely, but try a pastel dream version: blush pink background with lavender and mint in the arch, or go bold with a navy background and a golden-yellow arch for a night-sky unicorn. Since the pattern only needs small amounts of five colors, it's a perfect scrap-buster — cotton lines with huge shade ranges like Scheepjes Catona, Paintbox Cotton DK, or Ricorumi minis are ideal because every color family has multiple tones for smooth rainbow gradients. For sizing, the easiest lever is your yarn: the sample's wool with a 3.00 mm hook gives a 3.15-inch square, but worsted weight with a 4.00-4.5 mm hook will bloom it to roughly 4.5 inches with no pattern changes. Need it even bigger for a pillow front? Just keep adding border rounds after the final double crochet round — one round of dc with 2dc+ch3+2dc corners at a time — checking your square stays flat as you go. For seasonal spins, swap the arch shades: oranges and deep reds make a gorgeous autumn rainbow, icy blues and silver feel wintry, and fresh greens with soft yellow read as spring meadow. You can also skip the unicorn entirely and make plain rainbow-arch squares to alternate with unicorn squares in a blanket layout — it gives the eye a rest and stretches your yarn further",
          "raw_text": "Once you've made one unicorn square, it's very hard to stop — so here are my favorite ways to play. Color-wise, the classic white background with a yellow-and-blue arch is lovely, but try a pastel dream version: blush pink background with lavender and mint in the arch, or go bold with a navy background and a golden-yellow arch for a night-sky unicorn. Since the pattern only needs small amounts of five colors, it's a perfect scrap-buster — cotton lines with huge shade ranges like Scheepjes Catona, Paintbox Cotton DK, or Ricorumi minis are ideal because every color family has multiple tones for smooth rainbow gradients. For sizing, the easiest lever is your yarn: the sample's wool with a 3.00 mm hook gives a 3.15-inch square, but worsted weight with a 4.00-4.5 mm hook will bloom it to roughly 4.5 inches with no pattern changes. Need it even bigger for a pillow front? Just keep adding border rounds after the final double crochet round — one round of dc with 2dc+ch3+2dc corners at a time — checking your square stays flat as you go. For seasonal spins, swap the arch shades: oranges and deep reds make a gorgeous autumn rainbow, icy blues and silver feel wintry, and fresh greens with soft yellow read as spring meadow. You can also skip the unicorn entirely and make plain rainbow-arch squares to alternate with unicorn squares in a blanket layout — it gives the eye a rest and stretches your yarn further",
          "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": "Completing the last stitch before a",
          "value": "Work the last stitch before the change until two loops remain on your hook, then yarn over with the new color and pull through both loops. The new color finishes the stitch, so the transition lands exactly on the stitch boundary. Wrap the old tail over your hook and crochet over it for the next few stitches to lock it in",
          "raw_text": "Work the last stitch before the change until two loops remain on your hook, then yarn over with the new color and pull through both loops. The new color finishes the stitch, so the transition lands exactly on the stitch boundary. Wrap the old tail over your hook and crochet over it for the next few stitches to lock it in",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "mistake",
          "code": "mistake-2",
          "label": "Working the blue section in Round 5",
          "value": "In the blue section only, insert your hook into the third loop — the horizontal bar sitting behind the top two loops of the hdc below. It feels awkward for the first stitch or two, then becomes automatic. Remember to go back to both loops the moment you return to white",
          "raw_text": "In the blue section only, insert your hook into the third loop — the horizontal bar sitting behind the top two loops of the hdc below. It feels awkward for the first stitch or two, then becomes automatic. Remember to go back to both loops the moment you return to white",
          "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": "Forgetting that the starting ch2 counts",
          "value": "Treat the ch2 as stitch number one every time, and slip stitch into the top of that ch2 to close the round. If your round ends and the counts don't line up with the [hdc, hdc inc] sequence, recount from the ch2 before ripping anything — nine times out of ten that's the missing stitch",
          "raw_text": "Treat the ch2 as stitch number one every time, and slip stitch into the top of that ch2 to close the round. If your round ends and the counts don't line up with the [hdc, hdc inc] sequence, recount from the ch2 before ripping anything — nine times out of ten that's the missing stitch",
          "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": "Leaving the magic loop loose after the",
          "value": "After slip stitching Round 1 closed, pull the starting tail firmly until the center closes completely, then work Round 2 over that tail to anchor it. Give it one more tug before weaving in — wool has enough grip that it will stay shut",
          "raw_text": "After slip stitching Round 1 closed, pull the starting tail firmly until the center closes completely, then work Round 2 over that tail to anchor it. Give it one more tug before weaving in — wool has enough grip that it will stay shut",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "mistake",
          "code": "mistake-5",
          "label": "Losing your place in Round 5's squaring",
          "value": "Place a stitch marker in each ch3 corner space as you make it, and say the sequence out loud as you work: the tall double crochets build each corner while the single crochets flatten the sides. If one edge bows out, you've likely swapped an hdc for a dc — the stitch heights are doing the shaping, so they have to land exactly where written",
          "raw_text": "Place a stitch marker in each ch3 corner space as you make it, and say the sequence out loud as you work: the tall double crochets build each corner while the single crochets flatten the sides. If one edge bows out, you've likely swapped an hdc for a dc — the stitch heights are doing the shaping, so they have to land exactly where written",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "mistake",
          "code": "mistake-6",
          "label": "Crocheting the final double crochet",
          "value": "The last round is 1 dc in every stitch with 2dc+ch3+2dc in each corner — keep your tension relaxed and let the corner chains stay airy. If it still cups, go up half a hook size for the border round only, then wet block the finished square flat to 3.15 inches",
          "raw_text": "The last round is 1 dc in every stitch with 2dc+ch3+2dc in each corner — keep your tension relaxed and let the corner chains stay airy. If it still cups, go up half a hook size for the border round only, then wet block the finished square flat to 3.15 inches",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 6,
      "card_type": "materials",
      "code": "materials",
      "title": "Materials",
      "raw_heading": "",
      "quantity": 1,
      "groups": [
        {
          "order": 1,
          "group_code": "group-1",
          "group_name": "",
          "rows": [
            {
              "order": 1,
              "row_type": "item",
              "code": "mat-1-1",
              "label": "",
              "value": "Yarn of Your Choice – 5 colors. The sample is made with wool yarn and a 3.00 mm hook. The finished granny square measures approximately 3.15 × 3.15 inches",
              "raw_text": "Yarn of Your Choice – 5 colors. The sample is made with wool yarn and a 3.00 mm hook. The finished granny square measures approximately 3.15 × 3.15 inches"
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "Crochet Hook – we used a 3.00 mm hook",
              "raw_text": "Crochet Hook, we used a 3.00 mm hook"
            },
            {
              "order": 3,
              "row_type": "item",
              "code": "mat-1-3",
              "label": "",
              "value": "Darning Needle",
              "raw_text": "Darning Needle"
            },
            {
              "order": 4,
              "row_type": "item",
              "code": "mat-1-4",
              "label": "",
              "value": "Scissors",
              "raw_text": "Scissors"
            }
          ]
        }
      ],
      "rows": []
    },
    {
      "order": 7,
      "card_type": "abbreviations",
      "code": "abbreviations",
      "title": "Abbreviations",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "abbrev",
          "code": "abbrev-ch",
          "label": "ch",
          "value": "chain stitch",
          "raw_text": "ch = chain stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain stitch"
        },
        {
          "order": 2,
          "row_type": "abbrev",
          "code": "abbrev-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": 3,
          "row_type": "abbrev",
          "code": "abbrev-hdc",
          "label": "hdc",
          "value": "half double crochet",
          "raw_text": "hdc = half double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "hdc",
          "meaning": "half double crochet"
        },
        {
          "order": 4,
          "row_type": "abbrev",
          "code": "abbrev-dc",
          "label": "dc",
          "value": "double crochet",
          "raw_text": "dc = double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "dc",
          "meaning": "double crochet"
        },
        {
          "order": 5,
          "row_type": "abbrev",
          "code": "abbrev-ch-sp",
          "label": "ch-sp",
          "value": "chain space",
          "raw_text": "ch-sp = chain space",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch-sp",
          "meaning": "chain space"
        },
        {
          "order": 6,
          "row_type": "abbrev",
          "code": "abbrev-slst",
          "label": "slst",
          "value": "slip stitch for joining to a different round",
          "raw_text": "slst = slip stitch for joining to a different round",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "slst",
          "meaning": "slip stitch for joining to a different round"
        },
        {
          "order": 7,
          "row_type": "abbrev",
          "code": "abbrev-st",
          "label": "st",
          "value": "stitch",
          "raw_text": "st = stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "st",
          "meaning": "stitch"
        },
        {
          "order": 8,
          "row_type": "abbrev",
          "code": "abbrev-sk",
          "label": "sk",
          "value": "skip",
          "raw_text": "sk = skip",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sk",
          "meaning": "skip"
        },
        {
          "order": 9,
          "row_type": "abbrev",
          "code": "abbrev-inc",
          "label": "inc",
          "value": "increase",
          "raw_text": "inc = increase",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "inc",
          "meaning": "increase"
        },
        {
          "order": 10,
          "row_type": "abbrev",
          "code": "abbrev-tog",
          "label": "tog",
          "value": "together",
          "raw_text": "tog = together",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "tog",
          "meaning": "together"
        },
        {
          "order": 11,
          "row_type": "abbrev",
          "code": "abbrev-blo",
          "label": "BLO",
          "value": "back loop only",
          "raw_text": "BLO = back loop only",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "BLO",
          "meaning": "back loop only"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "Granny Square Background",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "main-pattern-info-4",
          "label": "Info",
          "value": "How to change the color: When you see a color change in the pattern, work until you reach the stitch for changing, finish the last stitch as required, and leave the last two loops on the hook. Yarn over with the new color and pull through to complete the stitch and color change. Then wrap the tail of the yarn over your hook and weave in during the following stitches.",
          "raw_text": "When you see a color change in the tutorial, work until you reach the stitch for changing, finish the last stitch as required, and leave the last two loops on the hook. Yarn over with new color and pull through to complete the stitch and color change. Then wrap the tail of the yarn over your hook and weave in during the following stitches.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "main-pattern-info-5",
          "label": "Info",
          "value": "We will start with white sc for Rounds 1-2. Add yellow and blue in Rounds 3-4 to form the rainbow arch. Finally, use varied stitch heights to square off the edges.",
          "raw_text": "We will start with white sc for Rounds 1-2. Add yellow and blue in Rounds 3-4 to form the rainbow arch. Finally, use varied stitch heights to square off the edges.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "main-pattern-round-1",
          "label": "Round 1",
          "value": "Foundation Round — With white yarn: Magic loop, ch1+8sc, slst to the first sc.",
          "raw_text": "Round 1-Foundation Round With white yarn: Magic loop, ch1+8sc, slst to the first sc.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "main-pattern-round-2",
          "label": "Round 2",
          "value": "Second Foundation Round — Ch1 to start, sc inc in each st around, slst to the first sc.",
          "raw_text": "Round 2-Second Foundation Round Ch1 to start, sc inc in each st around, slst to the first sc.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "round",
          "code": "main-pattern-round-3",
          "label": "Round 3",
          "value": "First Rainbow Arch Layer — Ch2 (count as 1hdc), hdc inc, hdc, hdc inc; Change to yellow yarn: [hdc, hdc inc] repeat 4 times; Change to white yarn: [hdc, hdc inc] repeat 2 times. Slst to the top of the first ch2.",
          "raw_text": "Round 3-First Rainbow Arch Layer Ch2 (count as 1hdc), hdc inc, hdc, hdc inc; Change to  yellow yarn : [hdc, hdc inc] repeat 4 times; Change to  white yarn : [hdc, hdc inc] repeat 2 times. Slst to the top of the first ch2.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "round",
          "code": "main-pattern-round-4",
          "label": "Round 4",
          "value": "Second Rainbow Arch Layer — Ch2 (count as 1hdc), 1hdc in the same st, [1hdc, hdc inc] × 2; Change to blue yarn: 1hdc, [hdc inc, 1hdc] × 5, hdc inc; Change to white yarn: 1hdc, [hdc inc, 1hdc] × 3. Slst to the top of the first ch2.",
          "raw_text": "Round 4-Second Rainbow Arch Layer Ch2 (count as 1hdc), 1hdc in the same st, [1hdc, hdc inc] × 2; Change to  blue yarn : 1hdc, [hdc inc, 1hdc] × 5, hdc inc; Change to  white yarn : 1hdc, [hdc inc, 1hdc] × 3. Slst to the top of the first ch2.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "main-pattern-info-1",
          "label": "Info",
          "value": "When you reach the blue section, crochet into the third loop only to make the rainbow arch pop. For all white stitches, crochet into both loops as usual.",
          "raw_text": "Round 5-Squaring When you reach the  blue section , crochet into the  third loop only  to make the rainbow arch pop. For all white stitches, crochet into both loops as usual.",
          "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": "main-pattern-round-5",
          "label": "Round 5",
          "value": "Squaring — Ch2 (count as 1hdc), dc inc, ch3, dc inc, 2hdc, 3sc, 1hdc; Repeat [1hdc, dc inc, ch3, dc inc, 2hdc, 3sc, 1hdc] 3 times, slst to the top of the first ch2.",
          "raw_text": "Round 5-Squaring Ch2 (count as 1hdc), dc inc, ch3, dc inc, 2hdc, 3sc, 1hdc; Repeat [1hdc, dc inc, ch3, dc inc, 2hdc, 3sc, 1hdc] 3 times, slst to the top of the first ch2.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "round",
          "code": "main-pattern-round-6",
          "label": "Round 6",
          "value": "Final Border — Ch3 to start (count as 1dc), work 1dc in each st around, 2dc+ch3+2dc in each corner as you go. Slst to the top of the first true dc at the end, fasten off.",
          "raw_text": "Round 6-Final Border Ch3 to start (count as 1dc), work 1dc in each st around, 2dc+ch3+2dc in each corner as you go. Slst to the top of the first true dc at the end, fasten off.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "card_type": "part",
      "code": "part-2",
      "title": "Unicorn Body & Finishing",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "part-2-info-13",
          "label": "Info",
          "value": "Unicorn Body: Crochet in rows back and forth for 5 rows total. Start from the bottom to form the legs, working upward through the torso to finish at the head.",
          "raw_text": "Crochet in rows back and forth for 5 rows total. Start from the bottom to form the legs, working upward through the torso to finish at the head.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "part-2-round-1",
          "label": "Row 1",
          "value": "Ch5, return, sk1, and work in BLO (4th to 1st ch): 1sc, sc2tog, 1sc. Ch5, return, sk1, and work in BLO: 1sc, 1sc+1hdc, sc inc, 1sc. 1sc in each of the next two ch from the foundation ch5, into the unused 2 loops.",
          "raw_text": "Row 1 Ch5, return, sk1, and work in BLO (4th to 1st ch): 1sc, sc2tog, 1sc. Ch5, return, sk1, and work in BLO: 1sc, 1sc+1hdc, sc inc, 1sc. 1sc in each of the next two ch from the foundation ch5, into the unused 2 loops.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "part-2-round-2",
          "label": "Row 2",
          "value": "Turn over, ch1, 4sc, slst.",
          "raw_text": "Row 2 Turn over, ch1, 4sc, slst.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "part-2-round-3",
          "label": "Row 3",
          "value": "Turn over, ch1, sk1, slst, 1sc, sc2tog.",
          "raw_text": "Row 3 Turn over, ch1, sk1, slst, 1sc, sc2tog.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "round",
          "code": "part-2-round-4",
          "label": "Row 4",
          "value": "Turn over, ch1, sc inc.",
          "raw_text": "Row 4 Turn over, ch1, sc inc.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "round",
          "code": "part-2-round-5",
          "label": "Row 5",
          "value": "Turn over, ch1, [1hdc + 1dc] in the first st, 1dc + 1hdc + [ch2: return, sk1, 1sc in the first ch(BLO)] + slst in the second st. Fasten off and weave in your ends.",
          "raw_text": "Row 5 Turn over, ch1, [1hdc + 1dc] in the first st, 1dc + 1hdc + [ch2: return, sk1, 1sc in the first ch(BLO)] + slst in the second st. Fasten off and weave in your ends.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "part-2-info-1",
          "label": "Info",
          "value": "Unicorn Mane and Tail",
          "raw_text": "Unicorn Mane  and Tail",
          "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": "part-2-info-14",
          "label": "Info",
          "value": "Work back along a foundation chain using a series of stitches to create a wavy, flowing texture.",
          "raw_text": "Work back along a foundation chain using a series of stitches to create a wavy, flowing texture.",
          "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": "part-2-info-2",
          "label": "Info",
          "value": "Ch12, ch-1 pic. Return, crochet back along the chains and in BLO (from the 12th ch to 1st ch): slst, sc inc, 2slst, hdc2tog, slst, 3sc, 2slst. Fasten off and weave in the ends. Leave a long tail for attaching.",
          "raw_text": "Ch12, ch-1 pic. Return, crochet back along the chains and in BLO (from the 12th ch to 1st ch): slst, sc inc, 2slst, hdc2tog, slst, 3sc, 2slst. Fasten off and weave in the ends. Leave a long tail for attaching.",
          "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": "part-2-info-3",
          "label": "Info",
          "value": "Assembly",
          "raw_text": "Assembly",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "info",
          "code": "part-2-info-4",
          "label": "Info",
          "value": "Place the unicorn body at the center of the square with the rainbow arch at the top. Position the mane and tail piece so it flows from the head down to the hindquarters, then sew both pieces securely to the background.",
          "raw_text": "Place the unicorn body at the center of the square with the rainbow arch at the top. Position the mane and tail piece so it flows from the head down to the hindquarters, then sew both pieces securely to the background.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 12,
          "row_type": "info",
          "code": "part-2-info-5",
          "label": "Info",
          "value": "Unicorn’s Ear",
          "raw_text": "Unicorn’s Ear",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "info",
          "code": "part-2-info-6",
          "label": "Info",
          "value": "To add the ear, join the white yarn directly onto the top of the head. Ch2, ch-1 pic, ch2, slst to the st on the mane piece that corresponds to the very next st on the head. Fasten off, and weave in the ends.",
          "raw_text": "To add the ear, join the white yarn directly onto the top of the head. Ch2, ch-1 pic, ch2, slst to the st on the mane piece that corresponds to the very next st on the head. Fasten off, and weave in the ends.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 14,
          "row_type": "info",
          "code": "part-2-info-7",
          "label": "Info",
          "value": "Unicorn’s Horn",
          "raw_text": "Unicorn’s Horn",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 15,
          "row_type": "info",
          "code": "part-2-info-8",
          "label": "Info",
          "value": "Join yellow yarn to the head, right next to the ear on its left side. Ch3: return, sk 1 ch, slst, sc; finish by slst back into join st and fasten off.",
          "raw_text": "Join yellow yarn to the head, right next to the ear on its left side.  Ch3 : return,  sk 1 ch , slst,  sc ; finish by  slst  back into join st and fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 16,
          "row_type": "info",
          "code": "part-2-info-9",
          "label": "Info",
          "value": "Final Details",
          "raw_text": "Final Details",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 17,
          "row_type": "info",
          "code": "part-2-info-10",
          "label": "Info",
          "value": "Sleeping Eye: Using black yarn, stitch a small downward curve on the head to create a sleeping eye.",
          "raw_text": "Sleeping Eye:  Using black yarn, stitch a small downward curve on the head to create a sleeping eye.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 18,
          "row_type": "info",
          "code": "part-2-info-11",
          "label": "Info",
          "value": "Nose: Add a tiny black stitch at the tip of the muzzle to define the nose.",
          "raw_text": "Nose:  Add a tiny black stitch at the tip of the muzzle to define the nose.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 19,
          "row_type": "info",
          "code": "part-2-info-12",
          "label": "Info",
          "value": "Hooves: Use orange yarn to stitch hooves at the bottom of each leg.",
          "raw_text": "Hooves:  Use orange yarn to stitch hooves at the bottom of each leg.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 10,
      "card_type": "important_notes",
      "code": "important-notes",
      "title": "Important Notes",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "note-1",
          "label": "Note",
          "value": "💡 The sample uses wool and a 3.00 mm hook for a 3.15-inch square with crisp definition — if you swap to cotton or acrylic DK, make one test square first, because your finished size can shift by a quarter inch or more and that matters when you're joining dozens into a blanket",
          "raw_text": "💡 The sample uses wool and a 3.00 mm hook for a 3.15-inch square with crisp definition — if you swap to cotton or acrylic DK, make one test square first, because your finished size can shift by a quarter inch or more and that matters when you're joining dozens into a blanket",
          "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": "💡 Don't cut the white yarn during Rounds 3 and 4 — carry it loosely behind the yellow and blue sections since you return to it within the same round. Only the arch colors need cutting, which keeps your tail count (and your weaving-in) blissfully low",
          "raw_text": "💡 Don't cut the white yarn during Rounds 3 and 4 — carry it loosely behind the yellow and blue sections since you return to it within the same round. Only the arch colors need cutting, which keeps your tail count (and your weaving-in) blissfully low",
          "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": "💡 When you work the third-loop stitches in the blue section, the top loops of the row below fold forward — that's exactly right. That pushed-forward ridge is what gives the rainbow arch its raised, piped look, so don't fight it",
          "raw_text": "💡 When you work the third-loop stitches in the blue section, the top loops of the row below fold forward — that's exactly right. That pushed-forward ridge is what gives the rainbow arch its raised, piped look, so don't fight it",
          "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": "💡 Drop a stitch marker into the top of the starting ch2 at the beginning of Rounds 3 and 4. The closing slip stitch hides in that chain easily, and the marker saves you from accidentally working into it or skipping past it on the next round",
          "raw_text": "💡 Drop a stitch marker into the top of the starting ch2 at the beginning of Rounds 3 and 4. The closing slip stitch hides in that chain easily, and the marker saves you from accidentally working into it or skipping past it on the next round",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "info",
          "code": "note-5",
          "label": "Note",
          "value": "💡 The unicorn body, mane, and tail are worked separately, so make them before you weave in your square's ends — the single assembly step is much easier while you still have long tails available to sew with, and you can use the square's stitch grid to keep the placement centered under the arch",
          "raw_text": "💡 The unicorn body, mane, and tail are worked separately, so make them before you weave in your square's ends — the single assembly step is much easier while you still have long tails available to sew with, and you can use the square's stitch grid to keep the placement centered under the arch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "info",
          "code": "note-6",
          "label": "Note",
          "value": "💡 Wet block the finished square before joining or gifting: pin it to 3.15 × 3.15 inches, mist it, and let it dry flat. Blocking sharpens the ch3 corners, evens out the mixed stitch heights of Round 5, and makes the raised rainbow sit beautifully",
          "raw_text": "💡 Wet block the finished square before joining or gifting: pin it to 3.15 × 3.15 inches, mist it, and let it dry flat. Blocking sharpens the ch3 corners, evens out the mixed stitch heights of Round 5, and makes the raised rainbow sit beautifully",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 11,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "What does 'crochet into the third loop",
          "value": "Every half double crochet has a third horizontal loop sitting behind the usual top two loops. When Round 5 reaches the blue section, you insert your hook into just that back bar, which pushes the previous round's loops forward and makes the rainbow arch stand out in relief. Everywhere the pattern uses white, you work under both top loops as normal",
          "raw_text": "Every half double crochet has a third horizontal loop sitting behind the usual top two loops. When Round 5 reaches the blue section, you insert your hook into just that back bar, which pushes the previous round's loops forward and makes the rainbow arch stand out in relief. Everywhere the pattern uses white, you work under both top loops as normal",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What does 'crochet into the third loop only' mean in the blue section?",
          "answer": "Every half double crochet has a third horizontal loop sitting behind the usual top two loops. When Round 5 reaches the blue section, you insert your hook into just that back bar, which pushes the previous round's loops forward and makes the rainbow arch stand out in relief. Everywhere the pattern uses white, you work under both top loops as normal",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "How do I get clean color changes",
          "value": "Work the last stitch before the change until two loops remain on your hook, then yarn over with the new color and pull through to finish the stitch. Lay the old tail over your hook strand and crochet over it for the next several stitches so it's woven in as you go — no blurry transition stitches and far fewer ends to sew later",
          "raw_text": "Work the last stitch before the change until two loops remain on your hook, then yarn over with the new color and pull through to finish the stitch. Lay the old tail over your hook strand and crochet over it for the next several stitches so it's woven in as you go — no blurry transition stitches and far fewer ends to sew later",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How do I get clean color changes between white, yellow, and blue?",
          "answer": "Work the last stitch before the change until two loops remain on your hook, then yarn over with the new color and pull through to finish the stitch. Lay the old tail over your hook strand and crochet over it for the next several stitches so it's woven in as you go — no blurry transition stitches and far fewer ends to sew later",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "Can I use a different yarn weight than",
          "value": "Absolutely — the construction doesn't change at all. Worsted weight with a 4.00-4.5 mm hook gives you a square around 4.5 inches, while fingering weight with a 2.25 mm hook makes a tiny 2.5-inch version that's adorable as an appliqué. Just keep all five colors the same weight so the square stays flat and even",
          "raw_text": "Absolutely — the construction doesn't change at all. Worsted weight with a 4.00-4.5 mm hook gives you a square around 4.5 inches, while fingering weight with a 2.25 mm hook makes a tiny 2.5-inch version that's adorable as an appliqué. Just keep all five colors the same weight so the square stays flat and even",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I use a different yarn weight than the wool yarn in the sample?",
          "answer": "Absolutely — the construction doesn't change at all. Worsted weight with a 4.00-4.5 mm hook gives you a square around 4.5 inches, while fingering weight with a 2.25 mm hook makes a tiny 2.5-inch version that's adorable as an appliqué. Just keep all five colors the same weight so the square stays flat and even",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "How does a circle of rounds turn into a square?",
          "value": "Round 5 does the shaping by varying stitch heights: tall double crochet increases with ch3 spaces build the four corners, while the run of half doubles and singles between them flattens each side. The final round of double crochet with 2dc+ch3+2dc corners then frames it into a tidy, straight-edged square ready for joining",
          "raw_text": "Round 5 does the shaping by varying stitch heights: tall double crochet increases with ch3 spaces build the four corners, while the run of half doubles and singles between them flattens each side. The final round of double crochet with 2dc+ch3+2dc corners then frames it into a tidy, straight-edged square ready for joining",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How does a circle of rounds turn into a square?",
          "answer": "Round 5 does the shaping by varying stitch heights: tall double crochet increases with ch3 spaces build the four corners, while the run of half doubles and singles between them flattens each side. The final round of double crochet with 2dc+ch3+2dc corners then frames it into a tidy, straight-edged square ready for joining",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "How many squares would I need for a",
          "value": "roughly 3.15 inches per square, a 30 × 36 inch baby blanket needs about 108 squares in a 9 × 12 layout — or fewer if you add extra border rounds to each square. A slip-stitch or single-crochet join in the white background color keeps the unicorns and rainbows as the stars, and a whip-stitched flat seam works nicely if you prefer no ridge",
          "raw_text": "roughly 3.15 inches per square, a 30 × 36 inch baby blanket needs about 108 squares in a 9 × 12 layout — or fewer if you add extra border rounds to each square. A slip-stitch or single-crochet join in the white background color keeps the unicorns and rainbows as the stars, and a whip-stitched flat seam works nicely if you prefer no ridge",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How many squares would I need for a baby blanket, and how should I join them?",
          "answer": "roughly 3.15 inches per square, a 30 × 36 inch baby blanket needs about 108 squares in a 9 × 12 layout — or fewer if you add extra border rounds to each square. A slip-stitch or single-crochet join in the white background color keeps the unicorns and rainbows as the stars, and a whip-stitched flat seam works nicely if you prefer no ridge",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/crochet-unicorn-granny-square-free-pattern-hero.webp",
    "data/images/crochet-unicorn-granny-square-free-pattern-step-2.webp",
    "data/images/crochet-unicorn-granny-square-free-pattern-step-3.webp",
    "data/images/crochet-unicorn-granny-square-free-pattern-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/crochet-unicorn-granny-square-free-pattern-hero.webp",
      "alt": "How to Crochet a Unicorn Granny Square (Free Pattern) — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/crochet-unicorn-granny-square-free-pattern-hero.webp",
      "alt": "How to Crochet a Unicorn Granny Square (Free Pattern) — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/crochet-unicorn-granny-square-free-pattern-step-2.webp",
      "alt": "How to Crochet a Unicorn Granny Square (Free Pattern) — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/crochet-unicorn-granny-square-free-pattern-step-3.webp",
      "alt": "How to Crochet a Unicorn Granny Square (Free Pattern) — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/crochet-unicorn-granny-square-free-pattern-step-4.webp",
      "alt": "How to Crochet a Unicorn Granny Square (Free Pattern) — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 0
}