{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "octopus-granny-square",
  "title": "Octopus Granny Square – Free Crochet Pattern",
  "meta_description": "Crochet an adorable octopus granny square with this free pattern — simple sc increases, 3 colors, and a 4.3-inch finished square perfect for blankets",
  "published_at": "2026-07-29",
  "updated_at": "2026-07-29",
  "author": "Ruby",
  "thumbnail_url": "data/images/octopus-granny-square-hero.webp",
  "meta": {
    "title": "Octopus Granny Square – Free Crochet Pattern",
    "pattern_name": "Octopus Granny Square – Free Crochet Pattern",
    "difficulty": "Easy",
    "time_needed": "2-3 Hours",
    "rating": 4.7,
    "made_count": "1.1K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Advanced Beginner",
      "yarn_weight": "DK",
      "tags": [
        "granny square",
        "octopus crochet",
        "free crochet pattern",
        "ocean crochet",
        "animal granny square",
        "single crochet",
        "sea creature",
        "blanket square",
        "dk yarn",
        "beginner friendly",
        "crochet motif",
        "applique crochet"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Octopus Granny Square – Free Crochet Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Advanced Beginner",
          "value": "Simple sc shaping for the body, with easy puff, hdc, dc and tr details for the tentacles and square",
          "raw_text": "Simple sc shaping for the body, with easy puff, hdc, dc and tr details for the tentacles and square",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "hero-info-2",
          "label": "One-Evening Make",
          "value": "Around 2-3 hours of relaxing stitching from first chain to final seam",
          "raw_text": "Around 2-3 hours of relaxing stitching from first chain to final seam",
          "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": "Ocean-Lover Gift",
          "value": "A 4.3-inch square with serious under-the-sea charm",
          "raw_text": "A 4.3-inch square with serious under-the-sea charm",
          "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": "There's something instantly charming about a granny square with a little friend hiding inside it, and this free octopus granny square pattern delivers exactly that. Worked in three colors with a 3.00mm hook, the design is built from four parts — a round octopus body (head) worked back and forth in eight rows, four playful tentacles finished with puff stitches and a picot, a solid granny square background, and a pair of little crocheted eyes. It's perfect for crocheters building an ocean-themed blanket, decorating a nursery, or anyone who loves animal squares with real personality",
          "raw_text": "There's something instantly charming about a granny square with a little friend hiding inside it, and this free octopus granny square pattern delivers exactly that. Worked in three colors with a 3.00mm hook, the design is built from four parts — a round octopus body (head) worked back and forth in eight rows, four playful tentacles finished with puff stitches and a picot, a solid granny square background, and a pair of little crocheted eyes. It's perfect for crocheters building an ocean-themed blanket, decorating a nursery, or anyone who loves animal squares with real personality",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "about-info-2",
          "label": "",
          "value": "Skill-wise, this pattern sits comfortably in advanced-beginner territory. The body is shaped with nothing but chains, single crochet, and simple increases and decreases, while the tentacles add easy slip-stitch chains, small puff stitches and a picot, and the square background uses familiar hdc, dc and tr rounds. The clever part is the construction: the body grows from a five-chain start, widens with single crochet increases, cruises through steady 8-stitch rows, then tapers back down with matching decreases. If you can keep an even tension and count to eight, you can absolutely make this. Expect around two to three cozy hours from first chain to final seam",
          "raw_text": "Skill-wise, this pattern sits comfortably in advanced-beginner territory. The body is shaped with nothing but chains, single crochet, and simple increases and decreases, while the tentacles add easy slip-stitch chains, small puff stitches and a picot, and the square background uses familiar hdc, dc and tr rounds. The clever part is the construction: the body grows from a five-chain start, widens with single crochet increases, cruises through steady 8-stitch rows, then tapers back down with matching decreases. If you can keep an even tension and count to eight, you can absolutely make this. Expect around two to three cozy hours from first chain to final seam",
          "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 approximately 4.3 x 4.3 inches, a lovely standard size for joining into blankets, cushion covers, or wall hangings. Worked with a 3.00mm hook, the fabric comes out dense and structured, so the octopus detail stays crisp instead of sinking into the background. One square makes a sweet keepsake on its own; a whole set becomes an unforgettable baby blanket. Either way, it's the kind of handmade gift that ocean lovers genuinely treasure",
          "raw_text": "The finished square measures approximately 4.3 x 4.3 inches, a lovely standard size for joining into blankets, cushion covers, or wall hangings. Worked with a 3.00mm hook, the fabric comes out dense and structured, so the octopus detail stays crisp instead of sinking into the background. One square makes a sweet keepsake on its own; a whole set becomes an unforgettable baby blanket. Either way, it's the kind of handmade gift that ocean lovers genuinely treasure",
          "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": "about-info-4",
          "label": "",
          "value": "You'll find the octopus in the center of the granny square has a round head with two cute little black eyes — and the most interesting part is the playful legs. All four tentacles are attached on the granny square background, so you can change the position of the tentacles to create different emotions. How about a blanket of octopuses with different postures? That would be super interesting",
          "raw_text": "You'll find the octopus in the center of the granny square has a round head with two cute little black eyes — and the most interesting part is the playful legs. All four tentacles are attached on the granny square background, so you can change the position of the tentacles to create different emotions. How about a blanket of octopuses with different postures? That would be super interesting",
          "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 have a soft spot for granny squares that sneak a little personality into a blanket, and this octopus square is exactly that. What hooked me — pun fully intended — is how clever the construction is: you start with just a chain of five, skip that fifth chain, and suddenly you're shaping the body with tidy single crochet increases. The middle rows are pure relaxation: turn, chain, and work eight single crochets across, again and again, the kind of rhythm you can keep going while chatting or unwinding in the evening. Then the decrease rows mirror everything back down, so the piece stays perfectly symmetrical without any fussy math. Because the pattern is built from four separate parts, there's a lovely moment at the end where you thread your darning needle, sew everything together, and watch a flat stack of shapes become an actual octopus. And since the finished square is only 4.3 inches, it's a genuine one-evening make that happily eats up scraps from three different colors in your stash",
          "raw_text": "I have a soft spot for granny squares that sneak a little personality into a blanket, and this octopus square is exactly that. What hooked me — pun fully intended — is how clever the construction is: you start with just a chain of five, skip that fifth chain, and suddenly you're shaping the body with tidy single crochet increases. The middle rows are pure relaxation: turn, chain, and work eight single crochets across, again and again, the kind of rhythm you can keep going while chatting or unwinding in the evening. Then the decrease rows mirror everything back down, so the piece stays perfectly symmetrical without any fussy math. Because the pattern is built from four separate parts, there's a lovely moment at the end where you thread your darning needle, sew everything together, and watch a flat stack of shapes become an actual octopus. And since the finished square is only 4.3 inches, it's a genuine one-evening make that happily eats up scraps from three different colors in your stash",
          "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": "The three-color setup makes this square endlessly customizable. For a classic under-the-sea look, try a coral-pink octopus floating on an aqua background with a sandy cream accent — Scheepjes Catona is brilliant here because its enormous shade range nails those beachy tones. For a modern nursery, flip to a lavender octopus on soft mint, or go bold with a mustard octopus on deep navy for serious contrast. Because each square only sips yarn, this is also a dream stash-buster: raid your DK scraps and make every square in the blanket a different color story. Size-wise, you have two easy levers. The quickest is a yarn swap: work the same pattern in worsted weight with a 4.00mm hook — Stylecraft Special Aran or Paintbox Simply Aran both work beautifully — and the square grows to roughly 5.5 inches without changing a single stitch. If you'd rather scale the pattern itself, add one extra increase row at the start of the body so you're working 10 single crochets across instead of 8, add a matching extra decrease row at the end, and work an extra round on the main motif so the background keeps up. For themed sets, crochet nine squares in a rainbow gradient for a striking sampler, keep the octopus in one signature color across every square for a coordinated blanket, or work the whole thing in moody teals and charcoals for a grown-up deep-sea throw. Because the tentacles are sewn on, you can also give every octopus in a set a different posture — curl them, wave them, or let them trail — so each square shows its own emotion. A tiny embroidered smile, added with the same darning needle you use for assembly, finishes any version off perfectly",
          "raw_text": "The three-color setup makes this square endlessly customizable. For a classic under-the-sea look, try a coral-pink octopus floating on an aqua background with a sandy cream accent — Scheepjes Catona is brilliant here because its enormous shade range nails those beachy tones. For a modern nursery, flip to a lavender octopus on soft mint, or go bold with a mustard octopus on deep navy for serious contrast. Because each square only sips yarn, this is also a dream stash-buster: raid your DK scraps and make every square in the blanket a different color story. Size-wise, you have two easy levers. The quickest is a yarn swap: work the same pattern in worsted weight with a 4.00mm hook — Stylecraft Special Aran or Paintbox Simply Aran both work beautifully — and the square grows to roughly 5.5 inches without changing a single stitch. If you'd rather scale the pattern itself, add one extra increase row at the start of the body so you're working 10 single crochets across instead of 8, add a matching extra decrease row at the end, and work an extra round on the main motif so the background keeps up. For themed sets, crochet nine squares in a rainbow gradient for a striking sampler, keep the octopus in one signature color across every square for a coordinated blanket, or work the whole thing in moody teals and charcoals for a grown-up deep-sea throw. Because the tentacles are sewn on, you can also give every octopus in a set a different posture — curl them, wave them, or let them trail — so each square shows its own emotion. A tiny embroidered smile, added with the same darning needle you use for assembly, finishes any version off perfectly",
          "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 the fifth chain at the",
          "value": "The pattern opens with ch 5, then skips the 5th chain and works a single crochet increase into the 4th chain from the hook. That skipped chain is doing the job of a turning chain. Count carefully back from your hook before placing the first stitch — starting one chain off throws the stitch count for every row that follows",
          "raw_text": "The pattern opens with ch 5, then skips the 5th chain and works a single crochet increase into the 4th chain from the hook. That skipped chain is doing the job of a turning chain. Count carefully back from your hook before placing the first stitch — starting one chain off throws the stitch count for every row that follows",
          "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 the 8-stitch count on the straight body rows",
          "value": "The middle section is simply 8 single crochets per row, but it's easy to accidentally work into the turning chain and creep up to 9, or miss the last stitch and shrink to 7. Count to eight out loud on every row before turning, and if your edges start slanting, recount immediately — the wobble always comes from a miscounted row",
          "raw_text": "The middle section is simply 8 single crochets per row, but it's easy to accidentally work into the turning chain and creep up to 9, or miss the last stitch and shrink to 7. Count to eight out loud on every row before turning, and if your edges start slanting, recount immediately — the wobble always comes from a miscounted row",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "mistake",
          "code": "mistake-3",
          "label": "Skipping the first stitch after the standing chain",
          "value": "This pattern uses the chain as a standing stitch, then works the single crochet increase into that very same first stitch. If you treat the chain like a normal turning chain and skip ahead, you lose your increase and the shaping flattens out. Chain, then go right back into the first stitch of the row",
          "raw_text": "This pattern uses the chain as a standing stitch, then works the single crochet increase into that very same first stitch. If you treat the chain like a normal turning chain and skip ahead, you lose your increase and the shaping flattens out. Chain, then go right back into the first stitch of the row",
          "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": "Loose, gappy single crochet decreases on the tapering rows",
          "value": "The sc decreases at both ends of the closing rows can leave little holes if worked loosely. Pull the first loop of each decrease snug before completing the stitch, and keep your tension consistent with the increase rows so the top half of the shape mirrors the bottom half cleanly",
          "raw_text": "The sc decreases at both ends of the closing rows can leave little holes if worked loosely. Pull the first loop of each decrease snug before completing the stitch, and keep your tension consistent with the increase rows so the top half of the shape mirrors the bottom half cleanly",
          "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": "Pieces that don't fit together at assembly time",
          "value": "four separate parts — the eight-row body, the tentacle piece, the four-round square, and the eyes — tension drift between pieces is the top cause of a lumpy finished square. Use the same 3.00mm hook throughout, crochet all parts in one or two sittings if you can, and lay everything against the square before sewing to check proportions",
          "raw_text": "four separate parts — the eight-row body, the tentacle piece, the four-round square, and the eyes — tension drift between pieces is the top cause of a lumpy finished square. Use the same 3.00mm hook throughout, crochet all parts in one or two sittings if you can, and lay everything against the square before sewing to check proportions",
          "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 parts on before dealing with your yarn tails",
          "value": "Three colors means plenty of ends. Weave in every tail except your designated sewing tails before assembly — trapped ends create bumps under the octopus. Leave one long tail on each small piece and use that with your darning needle for a seamless-looking attachment",
          "raw_text": "Three colors means plenty of ends. Weave in every tail except your designated sewing tails before assembly — trapped ends create bumps under the octopus. Leave one long tail on each small piece and use that with your darning needle for a seamless-looking attachment",
          "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",
              "raw_text": "Yarn of your choice- 3 colors"
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "A crochet hook, we are using a 3.00mm hook",
              "raw_text": "A 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 (US Terms)",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "abbrev",
          "code": "abbrev-ch",
          "label": "ch",
          "value": "chain stitch",
          "raw_text": "ch = chain stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain stitch"
        },
        {
          "order": 2,
          "row_type": "abbrev",
          "code": "abbrev-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-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": 4,
          "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": 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-sl-st",
          "label": "Sl St",
          "value": "slip stitch for joining for different round.",
          "raw_text": "Sl St = slip stitch for joining for different round.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "Sl St",
          "meaning": "slip stitch for joining for different round."
        },
        {
          "order": 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-sp",
          "label": "sp",
          "value": "space",
          "raw_text": "sp = space",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sp",
          "meaning": "space"
        },
        {
          "order": 9,
          "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": 10,
          "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": 11,
          "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": 12,
          "row_type": "abbrev",
          "code": "abbrev-pic",
          "label": "pic",
          "value": "picot",
          "raw_text": "pic = picot",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "pic",
          "meaning": "picot"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "The Octopus Body (Head)",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "main-pattern-intro-1",
          "label": "",
          "value": "Four parts are included in this pattern – the octopus body (head), the tentacles, the basic solid square and the eyes. In Part One, we'll create that cute round body (head) by mixing increases and decreases while flipping our work back and forth. This clever back-and-forth technique is what gives our octopus that perfectly rounded dome shape. To finish it off, we'll work a round of single crochet for a nice, clean edge.",
          "raw_text": "Four parts are included in this pattern – the octopus body (head), the tentacles, the basic solid square and the eyes. In Part One, we'll create that cute round body (head) by mixing increases and decreases while flipping our work back and forth. This clever back-and-forth technique is what gives our octopus that perfectly rounded dome shape. To finish it off, we'll work a round of single crochet for a nice, clean edge.",
          "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": "main-pattern-round-1",
          "label": "Row 1",
          "value": "Start with a knot, ch5, sk the 5th ch, sc inc in the 4th ch, 2sc, sc inc.",
          "raw_text": "Row 1 Start with a knot, ch5,  sk  the 5th ch, sc inc in the 4th ch, 2sc, sc inc.",
          "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": "main-pattern-round-2",
          "label": "Row 2",
          "value": "Turn over. ch + sc inc, 4sc, sc inc.",
          "raw_text": "Row 2 Turn over. ch + sc inc, 4sc, sc inc.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "instruction",
          "code": "main-pattern-round-2-steps",
          "label": "Steps",
          "value": "Turn over, ch as a standing st. Then sc inc in this st, 4sc, sc inc.",
          "raw_text": "ch as a standing st. sc inc in this st, 4sc, sc inc.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "round",
          "code": "main-pattern-round-3-5",
          "label": "Rows 3-5",
          "value": "For each round, turn over first, ch to start, sc in each st (8sc in total for one round).",
          "raw_text": "Row 3-5 For each round , Turn over first, ch to start, sc in each st(8sc in total for one round).",
          "round_start": 3,
          "round_end": 5,
          "is_range": true,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "round",
          "code": "main-pattern-round-6",
          "label": "Row 6",
          "value": "Turn over, ch + sc dec, 4sc, sc dec.",
          "raw_text": "Row 6 Turn over, ch + sc dec, 4sc, sc dec.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "instruction",
          "code": "main-pattern-round-6-steps",
          "label": "Steps",
          "value": "Flip the workpiece, ch as a standing st. Then sc dec over this and next st, 4sc, sc dec.",
          "raw_text": "Flip the workpiece, ch as a standing st. sc dec over this and next st, 4sc, sc dec.",
          "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-7",
          "label": "Row 7",
          "value": "Turn over, ch + sc dec, 2sc, sc dec.",
          "raw_text": "Row 7 Turn over, ch + sc dec, 2sc, sc dec.",
          "round_start": 7,
          "round_end": 7,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "instruction",
          "code": "main-pattern-round-7-steps",
          "label": "Steps",
          "value": "Turn over, ch as a standing st. Then sc dec over this and next st, 2sc, sc dec.",
          "raw_text": "Turn over, ch as a standing st. sc dec over this and next st, 2sc, sc dec.",
          "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-8",
          "label": "Row 8",
          "value": "Turn over, ch + sc inc, 2sc, sc inc, make 16 sc along the edge for a neat look, sl st to the top of the first sc.",
          "raw_text": "Row 8 Turn over, ch + sc inc, 2sc, sc inc, make 16 sc along the edge for a neat look, sl st to the top of the first sc.",
          "round_start": 8,
          "round_end": 8,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "instruction",
          "code": "main-pattern-round-8-steps",
          "label": "Steps",
          "value": "Turn over, ch as a standing st. Then sc inc in this st, 2sc, sc inc, make 16 sc along the edge for a neat look, sl st to the top of the first sc.",
          "raw_text": "Turn over, ch as a standing st. sc inc in this st, 2sc, sc inc, make 16 sc along the edge for a neat look, sl st to the top of the first sc.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "card_type": "part",
      "code": "part-2",
      "title": "The Octopus Tentacles",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "part-2-intro-1",
          "label": "",
          "value": "In this part we create the tentacles: make chains of different lengths, then switch colors and slip stitch around each chain to make them nice and chunky. Once completed, arrange those tentacles however you like and sew them in place — make them swirl and curve like they're floating in the ocean. Beyond the tentacles, we've designed 4 puff stitches and a picot to capture a real octopus's appearance. These details boost the cuteness factor while pulling the whole design together.",
          "raw_text": "Creating tentacles in the Second Part. Make chains of different lengths, then switch colors and slip stitch around each chain to make them nice and chunky. Once completed, arrange those tentacles however you like and sew them in place! Beyond the tentacles, we've designed 4 puff stitches and a picot to capture a real octopus's appearance. These details boost the cuteness factor while pulling the whole design together.",
          "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": "ch13. sk the 13th ch, sl st in each of the remaining 12ch back to the beginning. *work 2-hdc-puff in the next st (from Round 7 of the Head part) to encase Round 8* repeat 4 times. sl st to the next sc, ch13 in this st, sk the 13th ch, sl st in each of the remaining 12ch back to the beginning, fasten off.",
          "raw_text": "Round 1 ch13. sk the 13th ch, sl st in each of the remaining 12ch back to the beginning. *work 2-hdc-puff in the next st ( from Round 7 of the Head part ) to encase Round 8* repeat 4 times .  sl st to the next sc, ch13 in this st, sk the 13th ch, sl st in each of the remaining 12ch back to the beginning, fasten off.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "instruction",
          "code": "part-2-info-1",
          "label": "Steps",
          "value": "ch13. Then sk the 13th ch, sl st in each of the remaining 12ch back to the beginning, then sl st to the next st. Next, *work 2-hdc-puff in the next st (from Round 7 of the Head part) to encase Round 8* repeat 4 times, sl st to the next sc, ch13, sk the 13th ch, sl st in each of the remaining 12ch back to the beginning, then sl st to the next st, fasten off.",
          "raw_text": "ch13. sk the 13th ch, sl st in each of the remaining 12ch back to the beginning, then sl st to the next st. *work 2-hdc-puff in the next st ( from Round 7 of the Head part ) to encase Round 8* repeat 4 times, sl st to the next sc, ch13, sk the 13th ch, sl st in each of the remaining 12ch back to the beginning, then sl st to the next st, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "part-2-round-2",
          "label": "Round 2",
          "value": "Join new yarn in the right-most puff. *ch30, sk the 30th ch, sl st in each of the remaining 29ch back to beginning*, sl st to the same puff; sl st to the 2nd puff, work ch-2 pic and slst to the same puff; sl st to the next puff, rep from * to *, sl st to next st, fasten off.",
          "raw_text": "Round 2 Join new yarn in the right-most puff. * ch30, sk the 30th ch, sl st in each of the remaining 29ch back to beginning *, sl st to the same puff; sl st to the 2nd puff, work ch-2 pic and slst to the same puff; sl st to the next puff,  rep from* to * , sl st to next st, fasten off.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "instruction",
          "code": "part-2-info-2",
          "label": "Steps",
          "value": "Join new yarn in the first puff of the right side. Then *ch30, sk the 30th ch, sl st in each of the remaining 29ch back to beginning*, sl st to the same puff; sl st to the next 2nd puff, work ch-2 pic and slst to the same puff; sl st to the next puff, rep from * to *, sl st to the next st, fasten off.",
          "raw_text": "Join new yarn in the first puff of right side. * ch30, sk the 30th ch, sl st in each of the remaining 29ch back to beginning *, sl st to the same puff; sl st to the next 2nd puff, work ch-2 pic and slst to the same puff; sl st to the next puff, rep from * to *, sl st to the next st, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "round",
          "code": "part-2-round-3",
          "label": "Round 3",
          "value": "Flip. Insert hook where rightmost tentacle meets body, join new yarn through the outer loop of this tentacle at this junction. Only sl st in the outer loop along this tentacle. sl st in outer loops along remaining tentacles and in back loops around the octopus's lower body, fasten off.",
          "raw_text": "Round 3 Flip . Insert hook where rightmost tentacle meets body, join new yarn through the  outer loop  of this tentacle at this junction.  Only sl st in the outer loop  along this tentacle .  sl st in  outer loops  along remaining tentacles and in  back loops around the octopus's lower body , fasten off.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "instruction",
          "code": "part-2-round-3-steps",
          "label": "Steps",
          "value": "Turn over. Insert hook where the rightmost tentacle meets the body, join new yarn through the outer loop of this tentacle at this junction. Now make sl st — only sl st in the outer loop along this tentacle. Then sl st in outer loops along the remaining tentacles and in back loops around the octopus's lower body, fasten off.",
          "raw_text": "Turn over. Insert hook where rightmost tentacle meets body, join new yarn through the outer loop of this tentacle at this junction. Now we are going to make sl st, only sl st in the outer loop along this tentacle. sl st in outer loops along remaining tentacles and in back loops around the octopus's lower body, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 10,
      "card_type": "part",
      "code": "part-3",
      "title": "The Square & The Eyes",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "part-3-intro-1",
          "label": "",
          "value": "This part completes the square with a cream-colored granny base. This background choice is strategic: contrasting beautifully with the octopus body while harmonizing with the white tentacle trim. Your octopus looks like it's genuinely swimming across the square.",
          "raw_text": "Part Three completes the square with a cream-colored granny base. This background choice is strategic: contrasting beautifully with the octopus body while harmonizing with the white tentacle trim. Your octopus looks like it's genuinely swimming across the square.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "part-3-round-1",
          "label": "Round 1",
          "value": "BLO for this round. Join new yarn in the st to the left of the top 4 sts, ch2, dc in next st, ch3, 2hdc, 2dc, dc+tr, tr inc, ch3, tr inc, 4dc, tr inc, ch3, tr inc, tr+dc, 2dc, 2hdc, ch3, dc, ch2, sl st to the next st.",
          "raw_text": "Round 1 BLO for this round.  Join new yarn in the st to the left of the top 4 sts, ch2, dc in next st, ch3, 2hdc, 2dc, dc+tr, tr inc, ch3, tr inc, 4dc, tr inc, ch3, tr inc, tr+dc, 2dc, 2hdc, ch3, dc, ch2, sl st to the next st.",
          "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-3-round-2",
          "label": "Round 2",
          "value": "ch as a standing st, 4sc, 2sc in the next ch-sp, 2sc+ch3+2dc in the next ch-sp, 8dc, 2dc+ch3+2tr in the next ch-sp, 8tr, 2tr+ch3+2dc in the next ch-sp, 8dc, 2dc+ch3+2sc in the next ch-sp, 2sc in the next ch-sp, sl st to the top of the first sc.",
          "raw_text": "Round 2 ch as a standing st, 4sc, 2sc in the next ch-sp, 2sc+ch3+2dc in the next ch-sp, 8dc, 2dc+ch3+2tr in the next ch-sp, 8tr, 2tr+ch3+2dc in the next ch-sp, 8dc, 2dc+ch3+2sc in the next ch-sp, 2sc in the next ch-sp, sl st to the top of the first sc.",
          "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-3-round-3",
          "label": "Round 3",
          "value": "ch as a standing st+sc, 7sc, 2sc+ch3+2sc in the next ch-sp, 12sc, 2sc+ch3+2hdc in the next ch-sp, 12hdc, 2hdc+ch3+2sc in the next ch-sp, 12sc, 2sc+ch3+2sc in the next ch-sp, 4sc, sl st to the top of the first sc.",
          "raw_text": "Round 3 ch as a standing st+sc, 7sc, 2sc+ch3+2sc in the next ch-sp, 12sc, 2sc+ch3+2hdc in the next ch-sp, 12hdc, 2hdc+ch3+2sc in the next ch-sp, 12sc, 2sc+ch3+2sc in the next ch-sp, 4sc, sl st to the top of the first sc.",
          "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-3-round-4",
          "label": "Round 4",
          "value": "ch3 (count as dc) to start, dc in the remaining sts, while 2dc+ch3+2dc in each corner sp. Finally sl st to the top of the first ch3, fasten off.",
          "raw_text": "Round 4 ch3(count as dc) to start, dc in the remaining sts, while 2dc+ch3+2dc in each corner sp. Finally sl st to the top of the first ch3, fasten off.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "info",
          "code": "part-3-info-1",
          "label": "Assembly",
          "value": "Position the four tentacles with gentle curves to create a natural swimming effect, then sew each one firmly to the granny square.",
          "raw_text": "Position  the four tentacles with gentle curves to create a natural swimming effect, then  sew  each one firmly to the granny square.",
          "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-3-info-2",
          "label": "The Eyes",
          "value": "In the final part, once you attach two big eyes created with 6 single crochets to our octopus, you'll find it instantly transforms from a cute craft to a character.",
          "raw_text": "In the Final Part, once you attach two big eyes created with 6 single crochets to our octopus, you'll find it instantly transforms from a cute craft to a character.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "subhead",
          "code": "part-3-info-3",
          "label": "",
          "value": "Eyes (make 2)",
          "raw_text": "Start with a magic ring, ch as a standing st, 6sc in this loop, pull the tail tightly, sl st to the top of the first sc, leave the yarn to attach.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "instruction",
          "code": "part-3-info-3",
          "label": "Steps",
          "value": "Start with a magic ring, ch as a standing st, 6sc in this loop, pull the tail tightly, sl st to the top of the first sc, leave the yarn to attach.",
          "raw_text": "Start with a magic ring, ch as a standing st, 6sc in this loop, pull the tail tightly, sl st to the top of the first sc, leave the yarn to attach.",
          "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-3-info-4",
          "label": "",
          "value": "Attach the two eyes to complete your octopus.",
          "raw_text": "Attach  the two eyes to complete your octopus.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 11,
      "card_type": "important_notes",
      "code": "important-notes",
      "title": "Important Notes",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "note-gauge",
          "label": "Gauge",
          "value": "💡 Gauge: the completed granny square measures approximately 4.3 x 4.3 inches",
          "raw_text": "The completed granny square measures approximately 4.3×4.3 inches",
          "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-1",
          "label": "Note",
          "value": "💡 The 3.00mm hook is chosen to create a firm, structured fabric with DK-weight yarn. If your square feels floppy or the stitches look open, go down to a 2.75mm or 2.5mm hook — a granny square with an appliqued friend needs body to hold its shape",
          "raw_text": "💡 The 3.00mm hook is chosen to create a firm, structured fabric with DK-weight yarn. If your square feels floppy or the stitches look open, go down to a 2.75mm or 2.5mm hook — a granny square with an appliqued friend needs body to hold its shape",
          "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-2",
          "label": "Note",
          "value": "💡 When you fasten off the tentacle piece and each eye, leave tails of at least 12 inches. Those become your sewing yarn, which means fewer ends to weave in and an attachment that perfectly matches the piece it's holding",
          "raw_text": "💡 When you fasten off the tentacle piece and each eye, leave tails of at least 12 inches. Those become your sewing yarn, which means fewer ends to weave in and an attachment that perfectly matches the piece it's holding",
          "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-3",
          "label": "Note",
          "value": "💡 Drop a stitch marker into the first single crochet of each row in the body section. Turned rows with standing chains can make the row-start hard to read, and the marker instantly settles any argument about where the row begins",
          "raw_text": "💡 Drop a stitch marker into the first single crochet of each row in the body section. Turned rows with standing chains can make the row-start hard to read, and the marker instantly settles any argument about where the row begins",
          "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-4",
          "label": "Note",
          "value": "💡 Pause after the increase rows and confirm you have 8 single crochets across before starting the straight section — every following row depends on that count being right",
          "raw_text": "💡 Pause after the increase rows and confirm you have 8 single crochets across before starting the straight section — every following row depends on that count being right",
          "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-5",
          "label": "Note",
          "value": "💡 Block your finished square to 4.3 x 4.3 inches before joining it to others. A quick steam or wet block sharpens the corners, flattens the single crochet fabric, and makes seaming a whole blanket dramatically easier",
          "raw_text": "💡 Block your finished square to 4.3 x 4.3 inches before joining it to others. A quick steam or wet block sharpens the corners, flattens the single crochet fabric, and makes seaming a whole blanket dramatically easier",
          "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-6",
          "label": "Note",
          "value": "💡 Pin all the pieces in place on the square and look at the whole layout before threading your darning needle. It's much easier to nudge a pinned piece a few stitches over than to unpick a sewn one",
          "raw_text": "💡 Pin all the pieces in place on the square and look at the whole layout before threading your darning needle. It's much easier to nudge a pinned piece a few stitches over than to unpick a sewn one",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 12,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "What size is the finished octopus granny square?",
          "value": "Worked with a 3.00mm hook as written, the completed granny square measures approximately 4.3 x 4.3 inches. Swapping to worsted yarn and a 4.00mm hook brings it up to roughly 5.5 inches if you want bigger blanket squares",
          "raw_text": "Worked with a 3.00mm hook as written, the completed granny square measures approximately 4.3 x 4.3 inches. Swapping to worsted yarn and a 4.00mm hook brings it up to roughly 5.5 inches if you want bigger blanket squares",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What size is the finished octopus granny square?",
          "answer": "Worked with a 3.00mm hook as written, the completed granny square measures approximately 4.3 x 4.3 inches. Swapping to worsted yarn and a 4.00mm hook brings it up to roughly 5.5 inches if you want bigger blanket squares",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Is this pattern suitable for beginners?",
          "value": "Yes — it's a great step-up project for advanced beginners. The body uses only chains, single crochet, and basic increases and decreases, while the tentacles and square add simple puff stitches, a picot, and taller stitches like hdc, dc and tr. The trickiest moments are the ch-5 start and sewing the pieces together neatly",
          "raw_text": "Yes — it's a great step-up project for advanced beginners. The body uses only chains, single crochet, and basic increases and decreases, while the tentacles and square add simple puff stitches, a picot, and taller stitches like hdc, dc and tr. The trickiest moments are the ch-5 start and sewing the pieces together neatly",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Is this pattern suitable for beginners?",
          "answer": "Yes — it's a great step-up project for advanced beginners. The body uses only chains, single crochet, and basic increases and decreases, while the tentacles and square add simple puff stitches, a picot, and taller stitches like hdc, dc and tr. The trickiest moments are the ch-5 start and sewing the pieces together neatly",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "How much yarn do I need for one square?",
          "value": "Very little — this is a true scrap-buster. Small amounts of three colors, around 15-20 grams total, will comfortably cover the body, tentacles, square, and eyes, so leftover balls from other projects are ideal",
          "raw_text": "Very little — this is a true scrap-buster. Small amounts of three colors, around 15-20 grams total, will comfortably cover the body, tentacles, square, and eyes, so leftover balls from other projects are ideal",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How much yarn do I need for one square?",
          "answer": "Very little — this is a true scrap-buster. Small amounts of three colors, around 15-20 grams total, will comfortably cover the body, tentacles, square, and eyes, so leftover balls from other projects are ideal",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "How do I join these squares into a blanket?",
          "value": "A simple whip stitch through the back loops with your darning needle gives a flat, nearly invisible seam. If you prefer a defined ridge between squares, a single crochet join in the background color looks lovely and adds structure",
          "raw_text": "A simple whip stitch through the back loops with your darning needle gives a flat, nearly invisible seam. If you prefer a defined ridge between squares, a single crochet join in the background color looks lovely and adds structure",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How do I join these squares into a blanket?",
          "answer": "A simple whip stitch through the back loops with your darning needle gives a flat, nearly invisible seam. If you prefer a defined ridge between squares, a single crochet join in the background color looks lovely and adds structure",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "What does 'ch as a standing st' mean in this pattern?",
          "value": "It means the chain at the start of the row stands upright in place of a taller turning chain, and you then work your first single crochet increase directly into that same first stitch rather than skipping it. This keeps the edges straight while preserving the stitch count",
          "raw_text": "It means the chain at the start of the row stands upright in place of a taller turning chain, and you then work your first single crochet increase directly into that same first stitch rather than skipping it. This keeps the edges straight while preserving the stitch count",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What does 'ch as a standing st' mean in this pattern?",
          "answer": "It means the chain at the start of the row stands upright in place of a taller turning chain, and you then work your first single crochet increase directly into that same first stitch rather than skipping it. This keeps the edges straight while preserving the stitch count",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/octopus-granny-square-hero.webp",
    "data/images/octopus-granny-square-step-2.webp",
    "data/images/octopus-granny-square-step-3.webp",
    "data/images/octopus-granny-square-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/octopus-granny-square-hero.webp",
      "alt": "Octopus Granny Square – Free Crochet Pattern — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/octopus-granny-square-hero.webp",
      "alt": "Octopus Granny Square – Free Crochet Pattern — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/octopus-granny-square-step-2.webp",
      "alt": "Octopus Granny Square – Free Crochet Pattern — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/octopus-granny-square-step-3.webp",
      "alt": "Octopus Granny Square – Free Crochet Pattern — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/octopus-granny-square-step-4.webp",
      "alt": "Octopus Granny Square – Free Crochet Pattern — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 0
}