{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "dinosaur-granny-square",
  "title": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué",
  "meta_description": "Free dinosaur granny square crochet pattern with a back-and-forth appliqué and picot spine. DK yarn, 3.9-inch square, beginner-friendly steps",
  "published_at": "2026-07-27",
  "updated_at": "2026-07-27",
  "author": "Ruby",
  "thumbnail_url": "data/images/dinosaur-granny-square-hero.webp",
  "meta": {
    "title": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué",
    "pattern_name": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué",
    "difficulty": "Intermediate",
    "time_needed": "2-3 Hours",
    "rating": 4.8,
    "made_count": "1.2K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Intermediate",
      "yarn_weight": "DK",
      "tags": [
        "granny square",
        "dinosaur",
        "free pattern",
        "appliqué",
        "DK yarn",
        "back loop only",
        "picot stitch",
        "kids blanket",
        "crochet motif",
        "stash buster",
        "boy nursery",
        "3.9 inch square"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Confident Beginner",
          "value": "If you can work sc, hdc, dc and a back-loop row, you can make this dino",
          "raw_text": "If you can work sc, hdc, dc and a back-loop row, you can make this dino",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "hero-info-2",
          "label": "One-Evening Motif",
          "value": "2-3 hours from first chain to woven-in ends",
          "raw_text": "2-3 hours from first chain to woven-in ends",
          "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": "Kid-Magnet Square",
          "value": "The square that makes a blanket the favorite blanket",
          "raw_text": "The square that makes a blanket the favorite blanket",
          "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 an ordinary granny square into a tiny prehistoric scene — a long-necked dinosaur with a round body, an arched back, a perky tail, three stubby legs and a row of six spiky picot back plates marching down its spine, all worked as an appliqué and then set onto a classic five-round solid granny background. It is built for anyone who wants their blanket to have a personality: a nursery throw for a dino-obsessed toddler, a birthday gift square, or a single motif turned into a cushion front. Three colors, one small hook, endless charm",
          "raw_text": "This pattern turns an ordinary granny square into a tiny prehistoric scene — a long-necked dinosaur with a round body, an arched back, a perky tail, three stubby legs and a row of six spiky picot back plates marching down its spine, all worked as an appliqué and then set onto a classic five-round solid granny background. It is built for anyone who wants their blanket to have a personality: a nursery throw for a dino-obsessed toddler, a birthday gift square, or a single motif turned into a cushion front. Three colors, one small hook, endless charm",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "about-info-2",
          "label": "",
          "value": "The dinosaur body is made with the back-and-forth chain method over four rows, which means you chain, skip two, and work back along the chain in the back loop only — sc, sc2tog, hdc, dc and dc increases shape the neck and belly as you go. You will also work clusters like (1dc+1dc+1hdc)tog, turn the piece mid-row to build the tail, and finish with a row of ch-2 picot spikes for the spine. Nothing here is advanced; it is ordinary stitches used cleverly. Expect two to three hours including the square and assembly",
          "raw_text": "The dinosaur body is made with the back-and-forth chain method over four rows, which means you chain, skip two, and work back along the chain in the back loop only — sc, sc2tog, hdc, dc and dc increases shape the neck and belly as you go. You will also work clusters like (1dc+1dc+1hdc)tog, turn the piece mid-row to build the tail, and finish with a row of ch-2 picot spikes for the spine. Nothing here is advanced; it is ordinary stitches used cleverly. Expect two to three hours including the square and assembly",
          "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": "Worked in DK Sports weight on a 3.00mm hook, the finished granny square measures about 3.9 inches by 3.9 inches — small enough to join dozens into a blanket, big enough for the dino to read clearly from across the room. The appliqué sits slightly raised against the background, so the square has real texture under little fingers. Thirty-five of these make a generous baby blanket; four make a cushion; one on its own makes a very sweet card-topper or bag patch for someone who still roars at dinosaurs",
          "raw_text": "Worked in DK Sports weight on a 3.00mm hook, the finished granny square measures about 3.9 inches by 3.9 inches — small enough to join dozens into a blanket, big enough for the dino to read clearly from across the room. The appliqué sits slightly raised against the background, so the square has real texture under little fingers. Thirty-five of these make a generous baby blanket; four make a cushion; one on its own makes a very sweet card-topper or bag patch for someone who still roars at dinosaurs",
          "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 one at the exact moment the tail appeared. You spend the first row thinking you are just making a wobbly strip of sc and dc along a chain, and then you turn the piece, work those 9dc, and suddenly there is a creature on your hook with an arched back and a neck reaching up. That reveal never gets old for me. I also love how forgiving the back-loop-only construction is — working into the back loops of the foundation chain leaves that neat little ridge along the belly, and it hides any wobble in your tension beautifully. The picot spine is my favorite part to work: those (ch2, ch-1 pic, ch1, sl st) repeats grow into spikes that get taller as you move along, so the dinosaur ends up with a proper dramatic silhouette instead of a flat back. And because the whole appliqué is worked flat in one sitting with no stuffing, no magic ring and no counting rounds in a spiral, it is the perfect project for an evening when you want something charming without wanting to think very hard. Three colors, one small hook, one happy dinosaur",
          "raw_text": "I fell for this one at the exact moment the tail appeared. You spend the first row thinking you are just making a wobbly strip of sc and dc along a chain, and then you turn the piece, work those 9dc, and suddenly there is a creature on your hook with an arched back and a neck reaching up. That reveal never gets old for me. I also love how forgiving the back-loop-only construction is — working into the back loops of the foundation chain leaves that neat little ridge along the belly, and it hides any wobble in your tension beautifully. The picot spine is my favorite part to work: those (ch2, ch-1 pic, ch1, sl st) repeats grow into spikes that get taller as you move along, so the dinosaur ends up with a proper dramatic silhouette instead of a flat back. And because the whole appliqué is worked flat in one sitting with no stuffing, no magic ring and no counting rounds in a spiral, it is the perfect project for an evening when you want something charming without wanting to think very hard. Three colors, one small hook, one happy dinosaur",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 4,
      "card_type": "switch_things_up",
      "code": "switch-things-up",
      "title": "Switch Things Up",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "switch-1",
          "label": "",
          "value": "Color is where this square gets fun. The sample uses a soft pink for the six back plates, and the classic body combination is a mossy green dino (think Scheepjes Stone Washed Green Agate or Paintbox Simply DK Grass Green) on a cream background — but a dusty coral dinosaur on a mustard square looks wonderfully retro, and a pale grey dino with white picot spikes on a navy square reads almost like a fossil study. For a nursery set, work the same dino in five sherbet shades — peach, lemon, mint, lilac, sky — and keep every background the same oatmeal so the blanket feels intentional rather than scrappy. Want a bigger square? Add an extra granny round before the final round-5 edging; each extra round grows the finished square by roughly an inch, so a 6-round version lands near 5 inches and a 7-round version near 6 inches. To scale the dinosaur itself, add 2 ch to the starting ch15 and work 2 extra dc before the dc-inc on the first return row — that lengthens the body without disturbing the neck shaping. Yarn swaps are easy: DK cotton like Paintbox Cotton DK or Ricorumi (with a 2.5mm hook) gives crisp picot spikes and a firmer square, while a soft acrylic DK like Stylecraft Special DK on a 3.5mm hook makes a squishier, blanket-friendly motif. For a special-occasion version, work the spine picots in metallic gold thread, or make an autumn dino in rust with cream spikes",
          "raw_text": "Color is where this square gets fun. The sample uses a soft pink for the six back plates, and the classic body combination is a mossy green dino (think Scheepjes Stone Washed Green Agate or Paintbox Simply DK Grass Green) on a cream background — but a dusty coral dinosaur on a mustard square looks wonderfully retro, and a pale grey dino with white picot spikes on a navy square reads almost like a fossil study. For a nursery set, work the same dino in five sherbet shades — peach, lemon, mint, lilac, sky — and keep every background the same oatmeal so the blanket feels intentional rather than scrappy. Want a bigger square? Add an extra granny round before the final round-5 edging; each extra round grows the finished square by roughly an inch, so a 6-round version lands near 5 inches and a 7-round version near 6 inches. To scale the dinosaur itself, add 2 ch to the starting ch15 and work 2 extra dc before the dc-inc on the first return row — that lengthens the body without disturbing the neck shaping. Yarn swaps are easy: DK cotton like Paintbox Cotton DK or Ricorumi (with a 2.5mm hook) gives crisp picot spikes and a firmer square, while a soft acrylic DK like Stylecraft Special DK on a 3.5mm hook makes a squishier, blanket-friendly motif. For a special-occasion version, work the spine picots in metallic gold thread, or make an autumn dino in rust with cream spikes",
          "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": "Working into both loops of the",
          "value": "Every return row in this pattern says BLO for a reason — using only the back loop leaves the front loop free, which is what creates the clean ridge along the dinosaur's belly and gives you loops to attach the spine and legs to later. Turn the chain so the bumps face you, or lay it flat and pick the single back loop consistently. If you have already worked a row into both loops, it is worth pulling it back; the appliqué will curl and you will lose the anchor loops for the picot row",
          "raw_text": "Every return row in this pattern says BLO for a reason — using only the back loop leaves the front loop free, which is what creates the clean ridge along the dinosaur's belly and gives you loops to attach the spine and legs to later. Turn the chain so the bumps face you, or lay it flat and pick the single back loop consistently. If you have already worked a row into both loops, it is worth pulling it back; the appliqué will curl and you will lose the anchor loops for the picot row",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "mistake",
          "code": "mistake-2",
          "label": "Losing count on the skipped chains",
          "value": "Each return begins with 'Return, sk2' — those two skipped chains form the turning space, and skipping one or three throws off the whole stitch count for that row. Slide a stitch marker into the chain you intend to work first before you turn, so you can see exactly where the row starts. Count your chain twice before working back: ch15 means fifteen loops on the chain, not counting the slip knot or the loop on your hook",
          "raw_text": "Each return begins with 'Return, sk2' — those two skipped chains form the turning space, and skipping one or three throws off the whole stitch count for that row. Slide a stitch marker into the chain you intend to work first before you turn, so you can see exactly where the row starts. Count your chain twice before working back: ch15 means fifteen loops on the chain, not counting the slip knot or the loop on your 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": "mistake",
          "code": "mistake-3",
          "label": "Working the (1dc+1dc+1hdc)tog cluster",
          "value": "This is a single combined stitch, not three — you work each of the three stitches to their last two loops, leaving those loops on the hook, then yarn over and pull through all four loops at once. Doing them separately makes the back of the dinosaur bulge instead of arching. If the cluster looks loose when finished, give the working yarn a gentle tug before moving to the next stitch to snug the top closed",
          "raw_text": "This is a single combined stitch, not three — you work each of the three stitches to their last two loops, leaving those loops on the hook, then yarn over and pull through all four loops at once. Doing them separately makes the back of the dinosaur bulge instead of arching. If the cluster looks loose when finished, give the working yarn a gentle tug before moving to the next stitch to snug the top closed",
          "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": "Forgetting to turn the piece before the 9dc tail section",
          "value": "Row 3 says 'Now turn the piece you just made and work on it: 9dc' — you are rotating the whole appliqué and working along the edge you just created, not continuing in the same direction. If you skip the turn, the 9dc runs off the end and the tail never forms. Stop, lay the piece flat, and orient it so the shaped body is in front of you before starting those dc",
          "raw_text": "Row 3 says 'Now turn the piece you just made and work on it: 9dc' — you are rotating the whole appliqué and working along the edge you just created, not continuing in the same direction. If you skip the turn, the 9dc runs off the end and the tail never forms. Stop, lay the piece flat, and orient it so the shaped body is in front of you before starting those dc",
          "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": "Making the ch-1 picots too tight, so",
          "value": "Each picot is a ch-1 worked and then closed back into itself, and if you pull the closing slip stitch hard the spike flattens into the row. Keep a relaxed tension through the (ch2, ch-1 pic, ch1, sl st) repeats and let each picot stand proud. Note that the later repeats add a 1dc before the picot — those are meant to be taller, so the spine graduates from small spikes near the tail to bigger plates along the back",
          "raw_text": "Each picot is a ch-1 worked and then closed back into itself, and if you pull the closing slip stitch hard the spike flattens into the row. Keep a relaxed tension through the (ch2, ch-1 pic, ch1, sl st) repeats and let each picot stand proud. Note that the later repeats add a 1dc before the picot — those are meant to be taller, so the spine graduates from small spikes near the tail to bigger plates along the back",
          "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": "Sewing the appliqué to the square",
          "value": "Use the darning needle and a matching-color yarn, and whip stitch through the outer edge loops of the appliqué only, catching just the top of the background stitch beneath. Pin or clip the dino in place first and check the position from a distance — centered but tilted very slightly upward reads as more lively than dead level. Tight sewing puckers the granny square and pulls it out of its 3.9-inch shape",
          "raw_text": "Use the darning needle and a matching-color yarn, and whip stitch through the outer edge loops of the appliqué only, catching just the top of the background stitch beneath. Pin or clip the dino in place first and check the position from a distance — centered but tilted very slightly upward reads as more lively than dead level. Tight sewing puckers the granny square and pulls it out of its 3.9-inch shape",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "mistake",
          "code": "mistake-7",
          "label": "Fastening off without securing the",
          "value": "The pattern fastens off at the end of Row 4 and again at the end of the picot spine, which means several short tails on the wrong side. Leave at least 4 inches on each, weave them along the back of the dinosaur body rather than across the open square, and split the yarn ply with your needle on the last inch so nothing works loose when the blanket gets washed",
          "raw_text": "The pattern fastens off at the end of Row 4 and again at the end of the picot spine, which means several short tails on the wrong side. Leave at least 4 inches on each, weave them along the back of the dinosaur body rather than across the open square, and split the yarn ply with your needle on the last inch so nothing works loose when the blanket gets washed",
          "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 —3 colors; the sample is made with DK Sports. The finished granny square is about 3.9 inches by 3.9 inches.",
              "raw_text": "Yarn of your choice —3 colors; the sample is made with DK Sports. The finished granny square is about 3.9 inches by 3.9 inches."
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "Crochet hook- we are using a 3.00mm hook",
              "raw_text": "Crochet hook- we are using a 3.00mm hook"
            },
            {
              "order": 3,
              "row_type": "item",
              "code": "mat-1-3",
              "label": "",
              "value": "Darning Needle",
              "raw_text": "Darning Needle"
            },
            {
              "order": 4,
              "row_type": "item",
              "code": "mat-1-4",
              "label": "",
              "value": "Scissors",
              "raw_text": "Scissors"
            }
          ]
        }
      ],
      "rows": []
    },
    {
      "order": 7,
      "card_type": "abbreviations",
      "code": "abbreviations",
      "title": "Abbreviations",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "abbrev",
          "code": "abbrev-ch",
          "label": "ch",
          "value": "chain stitch",
          "raw_text": "ch = chain stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain stitch"
        },
        {
          "order": 2,
          "row_type": "abbrev",
          "code": "abbrev-ch-sp",
          "label": "ch-sp",
          "value": "chain space",
          "raw_text": "ch-sp = chain space",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch-sp",
          "meaning": "chain space"
        },
        {
          "order": 3,
          "row_type": "abbrev",
          "code": "abbrev-dc",
          "label": "dc",
          "value": "double crochet",
          "raw_text": "dc = double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "dc",
          "meaning": "double crochet"
        },
        {
          "order": 4,
          "row_type": "abbrev",
          "code": "abbrev-sc",
          "label": "sc",
          "value": "single crochet",
          "raw_text": "sc = single crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc",
          "meaning": "single crochet"
        },
        {
          "order": 5,
          "row_type": "abbrev",
          "code": "abbrev-tr",
          "label": "tr",
          "value": "treble crochet",
          "raw_text": "tr = treble crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "tr",
          "meaning": "treble crochet"
        },
        {
          "order": 6,
          "row_type": "abbrev",
          "code": "abbrev-hdc",
          "label": "hdc",
          "value": "half double crochet",
          "raw_text": "hdc = half double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "hdc",
          "meaning": "half double crochet"
        },
        {
          "order": 7,
          "row_type": "abbrev",
          "code": "abbrev-inc",
          "label": "inc",
          "value": "increase",
          "raw_text": "inc = increase",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "inc",
          "meaning": "increase"
        },
        {
          "order": 8,
          "row_type": "abbrev",
          "code": "abbrev-rep",
          "label": "rep",
          "value": "repeat",
          "raw_text": "rep = repeat",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "rep",
          "meaning": "repeat"
        },
        {
          "order": 9,
          "row_type": "abbrev",
          "code": "abbrev-st",
          "label": "st",
          "value": "stitch",
          "raw_text": "st = stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "st",
          "meaning": "stitch"
        },
        {
          "order": 10,
          "row_type": "abbrev",
          "code": "abbrev-slst-/-sl-st",
          "label": "slst / sl st",
          "value": "slip stitch for joining different rounds",
          "raw_text": "slst / sl st = slip stitch for joining different rounds",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "slst / sl st",
          "meaning": "slip stitch for joining different rounds"
        },
        {
          "order": 11,
          "row_type": "abbrev",
          "code": "abbrev-sk",
          "label": "sk",
          "value": "skip",
          "raw_text": "sk = skip",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sk",
          "meaning": "skip"
        },
        {
          "order": 12,
          "row_type": "abbrev",
          "code": "abbrev-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": 13,
          "row_type": "abbrev",
          "code": "abbrev-tlo",
          "label": "TLO",
          "value": "third loop only",
          "raw_text": "TLO = third loop only",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "TLO",
          "meaning": "third loop only"
        },
        {
          "order": 14,
          "row_type": "abbrev",
          "code": "abbrev-pic",
          "label": "pic",
          "value": "picot stitch",
          "raw_text": "pic = picot stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "pic",
          "meaning": "picot stitch"
        },
        {
          "order": 15,
          "row_type": "abbrev",
          "code": "abbrev-sc2tog",
          "label": "sc2tog",
          "value": "single crochet 2 stitches together",
          "raw_text": "sc2tog = single crochet 2 stitches together",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc2tog",
          "meaning": "single crochet 2 stitches together"
        },
        {
          "order": 16,
          "row_type": "abbrev",
          "code": "abbrev-dec",
          "label": "dec",
          "value": "decrease",
          "raw_text": "dec = decrease",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "dec",
          "meaning": "decrease"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "Dinosaur Body",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "main-pattern-info-3",
          "label": "How it's made",
          "value": "First, we'll crochet the dinosaur appliqué using the back-and-forth method over 4 rows. As you work through each row, you'll gradually shape the dinosaur's basic form—the arched back, the perky tail, and the long, curved neck.",
          "raw_text": "First, we'll crochet the dinosaur appliqué using the back-and-forth method over 4 rows. As you work through each row, you'll gradually shape the dinosaur's basic form—the arched back, the perky tail, and the long, curved neck.",
          "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-4",
          "label": "Row 1",
          "value": "Row 1 is the foundation of the body — a simple starting chain that every return row is worked back along.",
          "raw_text": "Row 1 is the foundation of the body — a simple starting chain that every return row is worked back along.",
          "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": "Row 1",
          "value": "Knot, ch15.",
          "raw_text": "Row 1 Knot, ch15.",
          "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": "Row 2",
          "value": "Return, sk2,  BLO  for next 13 ch(from 13th ch): 1sc, sc2tog, 1sc, 1hdc, 7dc, dc-inc, ch13.",
          "raw_text": "Row 2 Return, sk2,  BLO  for next 13 ch(from 13th ch): 1sc, sc2tog, 1sc, 1hdc, 7dc, dc-inc, ch13.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "info",
          "code": "main-pattern-info-1",
          "label": "Row 3",
          "value": "Row 3 shapes the neck. Step by step: return and skip 2, work back in BLO from the 11th chain, then turn the piece you have just made and work 9dc along it — that turn is what creates the tail.",
          "raw_text": "Row 3 shapes the neck. Step by step: return and skip 2, work back in BLO from the 11th chain, then turn the piece you have just made and work 9dc along it — that turn is what creates the tail.",
          "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": "main-pattern-round-3",
          "label": "Row 3",
          "value": "Return , sk2.  BLO for the next 11 ch (from 11th ch): 1hdc, (1dc+1dc+1hdc)tog, 1hdc, 1sc, sc2tog, 1sc, (1sc+1hdc)tog. Now,  turn  the piece you just made and work on it: 9dc.",
          "raw_text": "Row 3 Return , sk2.  BLO for the next 11 ch (from 11th ch): 1hdc, (1dc+1dc+1hdc)tog, 1hdc, 1sc, sc2tog, 1sc, (1sc+1hdc)tog. Now,  turn  the piece you just made and work on it: 9dc.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "main-pattern-info-5",
          "label": "Row 4",
          "value": "Row 4 shapes the back. You turn the piece over, work the short shaping row, fasten off, and turn it over again ready for the back plates.",
          "raw_text": "Row 4 shapes the back. You turn the piece over, work the short shaping row, fasten off, and turn it over again ready for the back plates.",
          "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-4",
          "label": "Row 4",
          "value": "Turn Over . ch1, sk this dc, 1hdc, 4dc, 1hdc, ch1, sl st to next st, fasten off.  Turn over .",
          "raw_text": "Row 4 Turn Over . ch1, sk this dc, 1hdc, 4dc, 1hdc, ch1, sl st to next st, fasten off.  Turn over .",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "info",
          "code": "main-pattern-info-6",
          "label": "Row 5",
          "value": "Row 5 makes the back plates of the dinosaur — six picot plates worked along the back in a third color (the sample uses a lovely pink). Step by step: work in BLO, add the new yarn to the rightmost dc, then work the six bracketed repeats in order; the last three add a 1dc before the picot so the plates grow taller along the back.",
          "raw_text": "Row 5 makes the back plates of the dinosaur — six picot plates worked along the back in a third color (the sample uses a lovely pink). Step by step: work in BLO, add the new yarn to the rightmost dc, then work the six bracketed repeats in order; the last three add a 1dc before the picot so the plates grow taller along the back.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "round",
          "code": "main-pattern-round-5",
          "label": "Row 5",
          "value": "BLO.  Add new yarn to the rightmost dc.(ch2, ch-1 pic, ch1, sl st). (sl st, ch2, ch-1 pic, ch1, sl st). (sl st, ch2, ch-1 pic, ch2, sl st). (sl st , ch2, 1dc, ch-1 pic, ch2, sl st). (sl st , ch2, 1dc, ch-1 pic, ch2, sl st). (sl st, ch2, 1dc, ch-1 pic, 1dc, ch2),  slst to the lower dc(FL) , fasten off.",
          "raw_text": "Row 5 BLO.  Add new yarn to the rightmost dc.(ch2, ch-1 pic, ch1, sl st). (sl st, ch2, ch-1 pic, ch1, sl st). (sl st, ch2, ch-1 pic, ch2, sl st). (sl st , ch2, 1dc, ch-1 pic, ch2, sl st). (sl st , ch2, 1dc, ch-1 pic, ch2, sl st). (sl st, ch2, 1dc, ch-1 pic, 1dc, ch2),  slst to the lower dc(FL) , fasten off.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "card_type": "part",
      "code": "part-2",
      "title": "Base Piece & Assembly",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "part-2-info-5",
          "label": "Base Piece",
          "value": "Create a Solid Granny Square as a base piece. Like many of our animal granny squares, this dinosaur is attached to a solid granny square, which means you can easily combine it with other granny squares made the same way.",
          "raw_text": "Create a Solid Granny Square as a base piece. Like many of our animal granny squares, this dinosaur is attached to a solid granny square, which means you can easily combine it with other granny squares made the same way.",
          "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": "Round 1",
          "value": "Magic ring, work in this ring. ch3(count as 1dc), 3dc, ch3. *4dc, ch3*rep 2 times. 4dc, ch1, 1hdc connects back to the original ch3.",
          "raw_text": "Round 1 Magic ring, work in this ring. ch3(count as 1dc), 3dc, ch3. *4dc, ch3*rep 2 times. 4dc, ch1, 1hdc connects back to the original ch3.",
          "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-4",
          "label": "Round 2-4",
          "value": "For Each Round : ch3 to start(count as 1dc), (2dc+ch3+2dc) in each corner sp, dc in remaining st, sl st to the top of the first ch3.",
          "raw_text": "Round 2-4 For Each Round : ch3 to start(count as 1dc), (2dc+ch3+2dc) in each corner sp, dc in remaining st, sl st to the top of the first ch3.",
          "round_start": 2,
          "round_end": 4,
          "is_range": true,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "part-2-round-5",
          "label": "Round 5",
          "value": "Ch3 to start(count as 1dc), 5dc in each corner sp, dc in remaining st, sl st to the true dc after the first ch3, fasten off.",
          "raw_text": "Round 5 Ch3 to start(count as 1dc), 5dc in each corner sp, dc in remaining st, sl st to the true dc after the first ch3, fasten off.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "info",
          "code": "part-2-info-1",
          "label": "Attach the Dinosaur",
          "value": "Attach the Dinosaur to the Base Piece: sew the Dinosaur Piece to the center of the Base Piece.",
          "raw_text": "Attach the Dinosaur to the Base Piece: sew the Dinosaur Piece to the center of the Base Piece.",
          "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": "part-2-info-2",
          "label": "Crochet the Feet",
          "value": "Rotate the assembled piece 180 degrees anti-clockwise. Step by step: position 3 feet strategically at the bottom of the dinosaur's body — left side, right side, and an additional foot near the right. Three feet create a more realistic dinosaur stance than two or four legs. Each foot is made with a 3-dc-popcorn stitch, and secure each tightly to the base piece.",
          "raw_text": "Rotate the assembled piece 180 degrees anti-clockwise. Step by step: position 3 feet strategically at the bottom of the dinosaur's body — left side, right side, and an additional foot near the right. Three feet create a more realistic dinosaur stance than two or four legs. Each foot is made with a 3-dc-popcorn stitch, and secure each tightly to the base piece.",
          "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": "part-2-info-4",
          "label": "Facial Details",
          "value": "Embroider 3 dots on the head part to create realistic facial features and expression for your dinosaur.",
          "raw_text": "Embroider 3 dots on the head part to create realistic facial features and expression for your dinosaur.",
          "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 is worked in DK Sports weight on a 3.00mm hook and finishes at about 3.9 inches by 3.9 inches — check your square against that size before making dozens. Stick to the 3.00mm hook even if it feels tight; the dense fabric is what keeps the appliqué flat and stops the picot spine from flopping. If your stitches are a struggle, drop to a 3.25mm rather than jumping to 4mm, or the finished square will exceed 3.9 inches and won't match the rest of your blanket",
          "raw_text": "💡 The sample is worked in DK Sports weight on a 3.00mm hook and finishes at about 3.9 inches by 3.9 inches — check your square against that size before making dozens. Stick to the 3.00mm hook even if it feels tight; the dense fabric is what keeps the appliqué flat and stops the picot spine from flopping. If your stitches are a struggle, drop to a 3.25mm rather than jumping to 4mm, or the finished square will exceed 3.9 inches and won't match the rest of your 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": "💡 Place a stitch marker in the 13th chain and the 11th chain before you start each return row. The pattern counts backward from those specific chains, and once the row is underway it is genuinely hard to recount without unravelling",
          "raw_text": "💡 Place a stitch marker in the 13th chain and the 11th chain before you start each return row. The pattern counts backward from those specific chains, and once the row is underway it is genuinely hard to recount without unravelling",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "note-3",
          "label": "Note",
          "value": "💡 The pattern uses 3 colors: one for the dinosaur body, one for the granny background, and a third for the back plates (the sample uses a lovely pink). Choose them with contrast in mind — the dinosaur should be several shades away from the background, and the spine picots pop most when they are a third, brighter shade. A green dino on a green square disappears no matter how well you crochet it",
          "raw_text": "💡 The pattern uses 3 colors: one for the dinosaur body, one for the granny background, and a third for the back plates (the sample uses a lovely pink). Choose them with contrast in mind — the dinosaur should be several shades away from the background, and the spine picots pop most when they are a third, brighter shade. A green dino on a green square disappears no matter how well you crochet 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": "💡 When you join new yarn to the rightmost dc for the BLO picot row, start with a standing stitch or a very small slip knot — a bulky join at the base of the spine shows through on the finished square and is awkward to hide later",
          "raw_text": "💡 When you join new yarn to the rightmost dc for the BLO picot row, start with a standing stitch or a very small slip knot — a bulky join at the base of the spine shows through on the finished square and is awkward to hide later",
          "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": "💡 Block the appliqué before sewing it down. A light steam or spray block with rustproof pins takes about twenty minutes and turns a slightly curled dino into a crisp silhouette that sits flush on the granny background",
          "raw_text": "💡 Block the appliqué before sewing it down. A light steam or spray block with rustproof pins takes about twenty minutes and turns a slightly curled dino into a crisp silhouette that sits flush on the granny background",
          "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": "💡 If you're making a full blanket, batch the work: crochet all your dinosaur appliqués first while the row rhythm is in your hands, then all the granny squares, then sew. It's much faster than completing one square at a time, and your dinos come out far more consistent",
          "raw_text": "💡 If you're making a full blanket, batch the work: crochet all your dinosaur appliqués first while the row rhythm is in your hands, then all the granny squares, then sew. It's much faster than completing one square at a time, and your dinos come out far more consistent",
          "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": "note-7",
          "label": "Note",
          "value": "💡 Keep the two working colors on opposite sides of your lap and give the appliqué yarn a half-turn counterclockwise every few rows — the back-and-forth turning in this pattern twists the strand more than round-based projects do, and untwisting as you go keeps your dc even",
          "raw_text": "💡 Keep the two working colors on opposite sides of your lap and give the appliqué yarn a half-turn counterclockwise every few rows — the back-and-forth turning in this pattern twists the strand more than round-based projects do, and untwisting as you go keeps your dc even",
          "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": "Is the dinosaur crocheted directly into",
          "value": "It's worked completely separately as a flat appliqué using the back-and-forth chain method, then sewn onto the finished granny square with a darning needle. This is much easier than tapestry crochet or intarsia, and it means you can reposition the dino until you love the placement",
          "raw_text": "It's worked completely separately as a flat appliqué using the back-and-forth chain method, then sewn onto the finished granny square with a darning needle. This is much easier than tapestry crochet or intarsia, and it means you can reposition the dino until you love the placement",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Is the dinosaur crocheted directly into the granny square or separately?",
          "answer": "It's worked completely separately as a flat appliqué using the back-and-forth chain method, then sewn onto the finished granny square with a darning needle. This is much easier than tapestry crochet or intarsia, and it means you can reposition the dino until you love the placement",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "What does BLO mean and why does this pattern use it so much?",
          "value": "BLO stands for back loop only — you insert your hook under just the back loop of the chain or stitch instead of both loops. Here it creates the neat ridge along the dinosaur's belly and back, and leaves the front loops free so you have somewhere to anchor the picot spine later",
          "raw_text": "BLO stands for back loop only — you insert your hook under just the back loop of the chain or stitch instead of both loops. Here it creates the neat ridge along the dinosaur's belly and back, and leaves the front loops free so you have somewhere to anchor the picot spine later",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What does BLO mean and why does this pattern use it so much?",
          "answer": "BLO stands for back loop only — you insert your hook under just the back loop of the chain or stitch instead of both loops. Here it creates the neat ridge along the dinosaur's belly and back, and leaves the front loops free so you have somewhere to anchor the picot spine later",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "Can I use worsted weight yarn instead of DK Sports?",
          "value": "Yes, but your square will finish closer to 5 inches instead of 3.9 inches, so scale every square in the project the same way. Move up to a 4.00mm hook with worsted and expect a chunkier dinosaur with slightly less picot definition along the spine",
          "raw_text": "Yes, but your square will finish closer to 5 inches instead of 3.9 inches, so scale every square in the project the same way. Move up to a 4.00mm hook with worsted and expect a chunkier dinosaur with slightly less picot definition along the spine",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I use worsted weight yarn instead of DK Sports?",
          "answer": "Yes, but your square will finish closer to 5 inches instead of 3.9 inches, so scale every square in the project the same way. Move up to a 4.00mm hook with worsted and expect a chunkier dinosaur with slightly less picot definition along the spine",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "How many squares do I need for a baby blanket?",
          "value": "about 3.9 inches per square, a 6 x 8 layout gives you 48 squares for roughly a 24 x 32 inch blanket once joined and bordered. Many makers alternate dinosaur squares with plain granny squares so the dinos have breathing room and the blanket comes together faster",
          "raw_text": "about 3.9 inches per square, a 6 x 8 layout gives you 48 squares for roughly a 24 x 32 inch blanket once joined and bordered. Many makers alternate dinosaur squares with plain granny squares so the dinos have breathing room and the blanket comes together faster",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How many squares do I need for a baby blanket?",
          "answer": "about 3.9 inches per square, a 6 x 8 layout gives you 48 squares for roughly a 24 x 32 inch blanket once joined and bordered. Many makers alternate dinosaur squares with plain granny squares so the dinos have breathing room and the blanket comes together faster",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "My dinosaur's neck looks droopy — what went wrong?",
          "value": "The neck shape comes from the sc, sc2tog, 1sc sequence followed by the hdc-to-dc progression, so a droopy neck usually means a missed sc2tog or extra-loose dc. Count that section against the pattern, and if the stitches are right, a firm steam block will lift the neck into its proper curve",
          "raw_text": "The neck shape comes from the sc, sc2tog, 1sc sequence followed by the hdc-to-dc progression, so a droopy neck usually means a missed sc2tog or extra-loose dc. Count that section against the pattern, and if the stitches are right, a firm steam block will lift the neck into its proper curve",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "My dinosaur's neck looks droopy — what went wrong?",
          "answer": "The neck shape comes from the sc, sc2tog, 1sc sequence followed by the hdc-to-dc progression, so a droopy neck usually means a missed sc2tog or extra-loose dc. Count that section against the pattern, and if the stitches are right, a firm steam block will lift the neck into its proper curve",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "faq",
          "code": "faq-6",
          "label": "Do I have to add the picot spine, or can I skip it?",
          "value": "You can absolutely skip it and finish the back plain for a smoother, more modern look — the dinosaur still reads clearly. That said, the six graduated picot back plates are what give the silhouette its character, and they only take about ten minutes to work across the back",
          "raw_text": "You can absolutely skip it and finish the back plain for a smoother, more modern look — the dinosaur still reads clearly. That said, the six graduated picot back plates are what give the silhouette its character, and they only take about ten minutes to work across the back",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Do I have to add the picot spine, or can I skip it?",
          "answer": "You can absolutely skip it and finish the back plain for a smoother, more modern look — the dinosaur still reads clearly. That said, the six graduated picot back plates are what give the silhouette its character, and they only take about ten minutes to work across the back",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "faq",
          "code": "faq-7",
          "label": "Why does this dinosaur have three legs instead of four?",
          "value": "There are three stubby feet because the fourth is hidden behind the others — position one on the left side, one on the right, and an extra one near the right. Three popcorn feet create a more realistic dinosaur stance on a flat square than two or four",
          "raw_text": "There are three stubby feet because the fourth is hidden behind the others — position one on the left side, one on the right, and an extra one near the right. Three popcorn feet create a more realistic dinosaur stance on a flat square than two or four",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Why does this dinosaur have three legs instead of four?",
          "answer": "There are three stubby feet because the fourth is hidden behind the others — position one on the left side, one on the right, and an extra one near the right. Three popcorn feet create a more realistic dinosaur stance on a flat square than two or four",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/dinosaur-granny-square-hero.webp",
    "data/images/dinosaur-granny-square-step-2.webp",
    "data/images/dinosaur-granny-square-step-3.webp",
    "data/images/dinosaur-granny-square-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/dinosaur-granny-square-hero.webp",
      "alt": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/dinosaur-granny-square-hero.webp",
      "alt": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/dinosaur-granny-square-step-2.webp",
      "alt": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/dinosaur-granny-square-step-3.webp",
      "alt": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/dinosaur-granny-square-step-4.webp",
      "alt": "Dinosaur Granny Square — Free Crochet Pattern with Appliqué — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 0
}