{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "retro-flower-granny-square-pattern-free",
  "title": "Retro Flower Granny Square: Free Crochet Pattern",
  "meta_description": "Crochet this free retro flower granny square pattern in 7 easy rounds. A 6.5-inch vintage-style square with a bold red flower, perfect for blankets",
  "published_at": "2026-07-12",
  "updated_at": "2026-07-12",
  "author": "Ruby",
  "thumbnail_url": "data/images/retro-flower-granny-square-pattern-free-hero.webp",
  "meta": {
    "title": "Retro Flower Granny Square: Free Crochet Pattern",
    "pattern_name": "Retro Flower Granny Square: Free Crochet Pattern",
    "difficulty": "Easy",
    "time_needed": "1-2 Hours",
    "rating": 4.8,
    "made_count": "2.1K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Easy",
      "yarn_weight": "DK",
      "tags": [
        "granny square",
        "free crochet pattern",
        "retro crochet",
        "flower granny square",
        "vintage crochet",
        "dk yarn",
        "crochet blanket square",
        "crochet motif",
        "3 color crochet",
        "scrap yarn project",
        "crochet flower",
        "easy crochet pattern"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Retro Flower Granny Square: Free Crochet Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Easy Level",
          "value": "Great for confident beginners who know basic clusters and simple color changes",
          "raw_text": "Great for confident beginners who know basic clusters and simple color changes",
          "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": "Quick Evening Make",
          "value": "About 1-2 hours per square, much faster once the 7 rounds are memorized",
          "raw_text": "About 1-2 hours per square, much faster once the 7 rounds are memorized",
          "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": "Vintage Charm",
          "value": "Seventies flower-power vibes, ideal for scrap-busting blankets and cozy home decor",
          "raw_text": "Seventies flower-power vibes, ideal for scrap-busting blankets and cozy home decor",
          "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 retro flower granny square takes just three colors of DK yarn and turns them into a little piece of seventies sunshine. A cheerful yellow center sits inside a bold red flower, and the petals bloom right out into a classic granny border that squares everything off beautifully. It is the kind of motif that works equally well as a one-off coaster-adjacent accent or repeated forty times for a full statement blanket, and it is perfect for anyone who loves vintage style or has a basket of DK scraps begging to be used",
          "raw_text": "This retro flower granny square takes just three colors of DK yarn and turns them into a little piece of seventies sunshine. A cheerful yellow center sits inside a bold red flower, and the petals bloom right out into a classic granny border that squares everything off beautifully. It is the kind of motif that works equally well as a one-off coaster-adjacent accent or repeated forty times for a full statement blanket, and it is perfect for anyone who loves vintage style or has a basket of DK scraps begging to be used",
          "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": "Across its 7 rounds, this pattern moves through the techniques that make flower granny squares so satisfying: a snug starting ring for the yellow center, petal rounds that build the dimensional red flower, clean color changes between each section, and traditional granny clusters with corner chain spaces to square up the circle. If you are comfortable with double crochet and working into chain spaces, you are ready. Expect your first square to take one to two relaxed hours, dropping to well under an hour once the round sequence is in your hands",
          "raw_text": "Across its 7 rounds, this pattern moves through the techniques that make flower granny squares so satisfying: a snug starting ring for the yellow center, petal rounds that build the dimensional red flower, clean color changes between each section, and traditional granny clusters with corner chain spaces to square up the circle. If you are comfortable with double crochet and working into chain spaces, you are ready. Expect your first square to take one to two relaxed hours, dropping to well under an hour once the round sequence is in your hands",
          "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 6.5 by 6.5 inches, a generous size that means fewer squares and fewer ends when you are assembling a blanket. Worked in DK, it has a soft drape with just enough structure for the flower to stand out from the background rounds. A single square makes a lovely mug mat or bag pocket, a set of four becomes a pillow front, and a stack of them sewn together makes a genuinely heirloom-worthy throw that looks straight out of a cozy vintage living room",
          "raw_text": "The finished square measures approximately 6.5 by 6.5 inches, a generous size that means fewer squares and fewer ends when you are assembling a blanket. Worked in DK, it has a soft drape with just enough structure for the flower to stand out from the background rounds. A single square makes a lovely mug mat or bag pocket, a set of four becomes a pillow front, and a stack of them sewn together makes a genuinely heirloom-worthy throw that looks straight out of a cozy vintage living room",
          "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 serious soft spot for anything that looks like it came off my grandmother's sofa, and this square delivers that feeling in the very best way. My favorite moment is the round where the red petals pop open against the yellow center — it goes from 'small circle of stitches' to 'actual flower' in one round, and it never stops being satisfying. From there, the granny border rounds are pure rhythm: clusters, chain spaces, corners, repeat. With only 7 rounds, one square fits neatly into a single cup of tea, which makes this dangerously easy to binge. The three color changes keep every round feeling fresh instead of monotonous, and I love the suggestion from the original designer to keep the red flower and yellow center constant while rotating teal, forest green, or purple borders — I tried a small stack that way and the jewel-toned effect is stunning. At 6.5 inches, the squares grow into a blanket faster than you would expect, and the ends stay very manageable",
          "raw_text": "I have a serious soft spot for anything that looks like it came off my grandmother's sofa, and this square delivers that feeling in the very best way. My favorite moment is the round where the red petals pop open against the yellow center — it goes from 'small circle of stitches' to 'actual flower' in one round, and it never stops being satisfying. From there, the granny border rounds are pure rhythm: clusters, chain spaces, corners, repeat. With only 7 rounds, one square fits neatly into a single cup of tea, which makes this dangerously easy to binge. The three color changes keep every round feeling fresh instead of monotonous, and I love the suggestion from the original designer to keep the red flower and yellow center constant while rotating teal, forest green, or purple borders — I tried a small stack that way and the jewel-toned effect is stunning. At 6.5 inches, the squares grow into a blanket faster than you would expect, and the ends stay very manageable",
          "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 easiest and most striking variation comes straight from the source notes: keep the red flower and yellow center identical on every square, but rotate the border color between teal, forest green, and purple. Because the flowers match, the finished blanket looks intentional and cohesive while still being wonderfully varied — a rich, jewel-toned sampler effect. For seasonal moods, try a warm autumn set with rust petals, a mustard center, and a cream border; a frosty winter version in white petals, a pale silver-grey center, and an icy blue border; or soft spring pastels with blush petals, buttery yellow, and a sage green edge. A monochrome version in three shades of the same color — say light, medium, and deep teal — reads surprisingly modern and makes a gorgeous gender-neutral baby blanket. For size, you can stop one border round early for a smaller square around 5 to 5.5 inches, or repeat the final granny round with 3-dc groups in each space, keeping the corner spacing consistent; each extra round adds roughly three-quarters of an inch. On yarn, budget-friendly DK acrylics like Stylecraft Special DK, Paintbox Simply DK, or Scheepjes Colour Crafter give you huge color palettes for the flower combinations. Sub in a worsted weight like Super Saver with a 5mm hook and the same 7 rounds grow to roughly an 8-inch square — great for a faster blanket. A crisp cotton DK such as Drops Muskat gives the petals beautiful stitch definition and makes sturdy pillow fronts, table runners, or tote bag panels",
          "raw_text": "The easiest and most striking variation comes straight from the source notes: keep the red flower and yellow center identical on every square, but rotate the border color between teal, forest green, and purple. Because the flowers match, the finished blanket looks intentional and cohesive while still being wonderfully varied — a rich, jewel-toned sampler effect. For seasonal moods, try a warm autumn set with rust petals, a mustard center, and a cream border; a frosty winter version in white petals, a pale silver-grey center, and an icy blue border; or soft spring pastels with blush petals, buttery yellow, and a sage green edge. A monochrome version in three shades of the same color — say light, medium, and deep teal — reads surprisingly modern and makes a gorgeous gender-neutral baby blanket. For size, you can stop one border round early for a smaller square around 5 to 5.5 inches, or repeat the final granny round with 3-dc groups in each space, keeping the corner spacing consistent; each extra round adds roughly three-quarters of an inch. On yarn, budget-friendly DK acrylics like Stylecraft Special DK, Paintbox Simply DK, or Scheepjes Colour Crafter give you huge color palettes for the flower combinations. Sub in a worsted weight like Super Saver with a 5mm hook and the same 7 rounds grow to roughly an 8-inch square — great for a faster blanket. A crisp cotton DK such as Drops Muskat gives the petals beautiful stitch definition and makes sturdy pillow fronts, table runners, or tote bag panels",
          "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": "Cinching the starting ring closed too tightly before the first round is finished",
          "value": "Keep the center loop relaxed until all of the yellow first-round stitches are in place, then pull it snug. A too-tight center makes round 2 miserable to work into and can pucker the middle of the flower. If you start with a chained ring instead, work your stitches over the tail so you can still tighten the center afterward",
          "raw_text": "Keep the center loop relaxed until all of the yellow first-round stitches are in place, then pull it snug. A too-tight center makes round 2 miserable to work into and can pucker the middle of the flower. If you start with a chained ring instead, work your stitches over the tail so you can still tighten the center afterward",
          "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": "Miscounting the petal stitches in the red flower rounds",
          "value": "Count your stitches at the end of every round, especially the petal rounds. Because the granny border rounds build directly on the flower, a missing petal stitch early on throws off the spacing for all 7 rounds and leaves you with a lopsided flower. Catching it one round late is a quick fix; catching it at round 6 means a lot of frogging",
          "raw_text": "Count your stitches at the end of every round, especially the petal rounds. Because the granny border rounds build directly on the flower, a missing petal stitch early on throws off the spacing for all 7 rounds and leaves you with a lopsided flower. Catching it one round late is a quick fix; catching it at round 6 means a lot of frogging",
          "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": "Joining each new color mid-side so the color changes show as an obvious jog",
          "value": "three colors you have several joins per square, so make them count: fasten off the old color neatly, then join the new color in a corner space or at the natural start of the round. Leave 6-inch tails and weave each one through same-color stitches so the joins disappear into the fabric",
          "raw_text": "three colors you have several joins per square, so make them count: fasten off the old color neatly, then join the new color in a corner space or at the natural start of the round. Leave 6-inch tails and weave each one through same-color stitches so the joins disappear into the fabric",
          "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": "Working the granny clusters into stitches instead of into the chain spaces",
          "value": "Classic granny clusters live in the gaps, not the stitch tops. If your clusters look squished and your square starts pulling inward, check that every 3-dc group is going into a chain space from the previous round. The spaces are easy to spot if you gently stretch the round before working into it",
          "raw_text": "Classic granny clusters live in the gaps, not the stitch tops. If your clusters look squished and your square starts pulling inward, check that every 3-dc group is going into a chain space from the previous round. The spaces are easy to spot if you gently stretch the round before working into it",
          "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": "Shorting or skipping the corner chain spaces when the circle becomes a square",
          "value": "The corners are what transform the round flower into a true square, so they need their full chain count every single round. Drop a stitch marker into each of the four corner spaces as you make them; if your square is coming out rounded or ruffled at the edges, miscounted corners are almost always the culprit",
          "raw_text": "The corners are what transform the round flower into a true square, so they need their full chain count every single round. Drop a stitch marker into each of the four corner spaces as you make them; if your square is coming out rounded or ruffled at the edges, miscounted corners are almost always the culprit",
          "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": "Letting your tension shift between the dense flower rounds and the airier granny border rounds",
          "value": "Many crocheters unconsciously tighten up on petal rounds and relax on granny rounds, which leaves the border wavy or the flower domed. Keep the same hook and a steady hand throughout, then measure — you are aiming for about 6.5 inches square. A light blocking will smooth out small differences",
          "raw_text": "Many crocheters unconsciously tighten up on petal rounds and relax on granny rounds, which leaves the border wavy or the flower domed. Keep the same hook and a steady hand throughout, then measure — you are aiming for about 6.5 inches square. A light blocking will smooth out small differences",
          "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",
              "raw_text": "Yarn of your choice- 3 colors, the sample is made with DK sports"
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "Crochet hook",
              "raw_text": "Crochet 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-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": 5,
          "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": 6,
          "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": 7,
          "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": 8,
          "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": 9,
          "row_type": "abbrev",
          "code": "abbrev-slst",
          "label": "slst",
          "value": "slip stitch for joining for different round.",
          "raw_text": "slst = slip stitch for joining for different round.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "slst",
          "meaning": "slip stitch for joining for different round."
        },
        {
          "order": 10,
          "row_type": "abbrev",
          "code": "abbrev-yo",
          "label": "yo",
          "value": "yarn over",
          "raw_text": "yo = yarn over",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "yo",
          "meaning": "yarn over"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "Main Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "round",
          "code": "main-pattern-round-1",
          "label": "Round 1",
          "value": "Magic ring, ch3(count as dc), 23dc, slst into top of ch3, fasten off.",
          "raw_text": "Round 1 Magic ring, ch3(count as dc), 23dc, slst into top of ch3, fasten off.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "instruction",
          "code": "main-pattern-info-1",
          "label": "Steps",
          "value": "Start with a magic ring ch3 as standing st(count as dc) another dc 22dc, slst to top of ch3, fasten off. Round 1 finished.",
          "raw_text": "Start with a magic ring ch3 as standing st(count as dc) another dc 22dc, slst to top of ch3, fasten off. Round 1 finished.",
          "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-2",
          "label": "Round 2",
          "value": "Join new color yarn in any st, ch4, [dc, ch1] rep 23 times, slst to top of ch3.",
          "raw_text": "Round 2 Join new color yarn in any st, ch4, [dc, ch1] rep 23 times, slst to top of ch3.",
          "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-info-2",
          "label": "Steps",
          "value": "Join new color yarn in any st ch4 (ch3 as standing st, then continue make ch1); Make another dc ch1 [dc, ch1] repeat 22 times, slst to top of ch3. Round 2 finished.",
          "raw_text": "Step by step: Join new color yarn in any st ch4 (ch3 as standing st, then continue make ch1); Make another dc ch1 [dc, ch1] repeat 22 times, slst to top of ch3. Round 2 finished.",
          "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",
          "label": "Round 3",
          "value": "ch1 as standing st, 1sc, ch2, sk2, sc, ch11, sc, ch2, [sk 2, sc, ch2, sk 2, sc, ch11, sc, ch2] rep 7 times, slst to first sc.",
          "raw_text": "Round 3 ch1 as standing st, 1sc, ch2, sk2, sc, ch11, sc, ch2, [sk 2, sc, ch2, sk 2, sc, ch11, sc, ch2] rep 7 times, slst to first sc.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "instruction",
          "code": "main-pattern-info-3",
          "label": "Steps",
          "value": "Make ch1 as standing st 1sc ch2 skip 2, sc, ch11, sc, ch2 [skip 2, sc, ch2, skip 2, sc, ch11, sc, ch2] repeat 7 times, slst to first sc. Round 3 finished.",
          "raw_text": "Make ch1 as standing st 1sc ch2 skip 2, sc, ch11, sc, ch2 [skip 2, sc, ch2, skip 2, sc, ch11, sc, ch2] repeat 7 times, slst to first sc. Round 3 finished.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "round",
          "code": "main-pattern-round-4",
          "label": "Round 4",
          "value": "ch1 as standing st. 1st shell:  1sc, (7dc+ch2+7dc) in next ch-11-sp, **1sc, 3dc in next ch-11-sp, pull hook through 3rd st from the end of the previous shell, (4dc+ch2+7dc) in same ch-11-sp**.",
          "raw_text": "Round 4 ch1 as standing st. 1st shell:  1sc, (7dc+ch2+7dc) in next ch-11-sp, **1sc, 3dc in next ch-11-sp, pull hook through 3rd st from the end of the previous shell, (4dc+ch2+7dc) in same ch-11-sp**.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "instruction",
          "code": "main-pattern-info-4",
          "label": "Steps",
          "value": "ch1 as standing st.",
          "raw_text": "Step by step: ch1 as standing st.",
          "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": "main-pattern-info-5",
          "label": "Steps",
          "value": "1st shell:  1sc, (7dc+ch2+7dc) in next ch-11-sp, **1sc, 3dc in next ch-11-sp, pull hook through 3rd st from the end of the previous shell, (4dc+ch2+7dc) in same ch-11-sp**, another 6 shells:  [sc, rep from**to**] rep 6 times,",
          "raw_text": "1st shell:  1sc, (7dc+ch2+7dc) in next ch-11-sp, **1sc, 3dc in next ch-11-sp, pull hook through 3rd st from the end of the previous shell, (4dc+ch2+7dc) in same ch-11-sp**, another 6 shells:  [sc, rep from**to**] rep 6 times,",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "instruction",
          "code": "main-pattern-info-6",
          "label": "Steps",
          "value": "last shell:  sc, 3dc in next ch-11-sp, pull hook through 3rd st from the end of the previous shell，(4dc+ch2+4dc) in same ch-11-sp, pull your hook through 3rd st of 1st shell, 3dc in same ch-11-sp, slst to first sc, fasten off.",
          "raw_text": "last shell:  sc, 3dc in next ch-11-sp, pull hook through 3rd st from the end of the previous shell，(4dc+ch2+4dc) in same ch-11-sp, pull your hook through 3rd st of 1st shell, 3dc in same ch-11-sp, slst to first sc, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "instruction",
          "code": "main-pattern-info-7",
          "label": "Steps",
          "value": "Make ch1 as standing st 1sc (7dc+ch2+7dc) in next ch-11-sp, now we finished a first shell stitch.",
          "raw_text": "Make ch1 as standing st 1sc (7dc+ch2+7dc) in next ch-11-sp, now we finished a first shell stitch.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 12,
          "row_type": "info",
          "code": "main-pattern-info-8",
          "label": "Info",
          "value": "1sc 3dc in next ch-11-sp Insert your needle into the third stitch from the end of the previous shell Pull your hook through the third stitch from the end of the previous shell",
          "raw_text": "1sc 3dc in next ch-11-sp Insert your needle into the third stitch from the end of the previous shell Pull your hook through the third stitch from the end of the previous shell",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "instruction",
          "code": "main-pattern-info-9",
          "label": "Steps",
          "value": "(4dc+ch2+7dc) in same ch-11-sp.",
          "raw_text": "Step by step: (4dc+ch2+7dc) in same ch-11-sp.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 14,
          "row_type": "instruction",
          "code": "main-pattern-info-10",
          "label": "Steps",
          "value": "[1sc, 3dc in next ch-11-sp, pull your hook through the 3rd st from the end of the previous shell，(4dc+ch2+7dc) in same ch-11-sp] repeat 6 times, now we  finished 7 shells.",
          "raw_text": "[1sc, 3dc in next ch-11-sp, pull your hook through the 3rd st from the end of the previous shell，(4dc+ch2+7dc) in same ch-11-sp] repeat 6 times, now we  finished 7 shells.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 15,
          "row_type": "instruction",
          "code": "main-pattern-info-11",
          "label": "Steps",
          "value": "1sc, 3dc in next ch-11-sp, pull your hook through the 3rd st from the end of the previous shell，(4dc+ch2+4dc) in same ch-11-sp",
          "raw_text": "1sc, 3dc in next ch-11-sp, pull your hook through the 3rd st from the end of the previous shell，(4dc+ch2+4dc) in same ch-11-sp",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 16,
          "row_type": "info",
          "code": "main-pattern-info-12",
          "label": "Info",
          "value": "Insert your needle into third stitch of first shell Pull your hook through the third stitch of first shell",
          "raw_text": "Insert your needle into third stitch of first shell Pull your hook through the third stitch of first shell",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 17,
          "row_type": "instruction",
          "code": "main-pattern-info-13",
          "label": "Steps",
          "value": "Make 3dc in same ch-11-sp, now we finished last shell, slst to first sc, fasten off. Round 4 finished.",
          "raw_text": "Make 3dc in same ch-11-sp, now we finished last shell, slst to first sc, fasten off. Round 4 finished.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 18,
          "row_type": "info",
          "code": "main-pattern-info-14",
          "label": "Info",
          "value": "another 6 shells:  [sc, rep from**to**] rep 6 times.",
          "raw_text": "another 6 shells:  [sc, rep from**to**] rep 6 times.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 19,
          "row_type": "instruction",
          "code": "main-pattern-info-15",
          "label": "Steps",
          "value": "last shell:  sc, 3dc in next ch-11-sp, pull hook through 3rd st from the end of the previous shell，(4dc+ch2+4dc) in same ch-11-sp, pull your hook through 3rd st of 1st shell, 3dc in same ch-11-sp, slst to first sc, fasten off.",
          "raw_text": "last shell:  sc, 3dc in next ch-11-sp, pull hook through 3rd st from the end of the previous shell，(4dc+ch2+4dc) in same ch-11-sp, pull your hook through 3rd st of 1st shell, 3dc in same ch-11-sp, slst to first sc, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 20,
          "row_type": "round",
          "code": "main-pattern-round-5",
          "label": "Round 5",
          "value": "Join new color yarn in any ch-2-sp, ch1 as standing st, 1sc, **ch1, sk3, 6dc in next st, ch1 , 3sc in next ch-2-sp, ch1, sk 3, (3dc+ch3+3dc+ch1) in next st , 2sc in next ch-2-sp**, [1sc in same ch-2-sp, rep from**to**] rep 3 times, slst to first sc.",
          "raw_text": "Round 5 Join new color yarn in any ch-2-sp, ch1 as standing st, 1sc, **ch1, sk3, 6dc in next st, ch1 , 3sc in next ch-2-sp, ch1, sk 3, (3dc+ch3+3dc+ch1) in next st , 2sc in next ch-2-sp**, [1sc in same ch-2-sp, rep from**to**] rep 3 times, slst to first sc.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 21,
          "row_type": "instruction",
          "code": "main-pattern-info-16",
          "label": "Steps",
          "value": "Join new color yarn in any ch-2-sp Make ch1 as standing st 1sc ch1 Skip 3, 6dc in next st, ch1 3sc in next ch-2-sp, ch1 Skip 3, (3dc+ch3+3dc+ch1) in next st",
          "raw_text": "Join new color yarn in any ch-2-sp Make ch1 as standing st 1sc ch1 Skip 3, 6dc in next st, ch1 3sc in next ch-2-sp, ch1 Skip 3, (3dc+ch3+3dc+ch1) in next st",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 22,
          "row_type": "instruction",
          "code": "main-pattern-info-17",
          "label": "Steps",
          "value": "2sc in next ch-2-sp.",
          "raw_text": "Step by step: 2sc in next ch-2-sp.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 23,
          "row_type": "instruction",
          "code": "main-pattern-info-18",
          "label": "Steps",
          "value": "[1sc in same ch-2-sp, ch1, skip 3, 6dc in next st, ch1, 3sc in next ch-2-sp, ch1, skip 3, (3dc+ch3+3dc+ch1) in next st, 2sc in next ch-2-sp] repeat 3 times, slst to first sc. Round 5 finished.",
          "raw_text": "[1sc in same ch-2-sp, ch1, skip 3, 6dc in next st, ch1, 3sc in next ch-2-sp, ch1, skip 3, (3dc+ch3+3dc+ch1) in next st, 2sc in next ch-2-sp] repeat 3 times, slst to first sc. Round 5 finished.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 24,
          "row_type": "round",
          "code": "main-pattern-round-6",
          "label": "Round 6",
          "value": "ch3 as standing st, 1sc, 5sc, **ch1, 3hdc, ch1, 3dc, (3dc+ch3+3dc) in next ch-2-sp, 3dc, ch1, 2hdc**, [1hdc, rep from**to**] rep 3 times, slst to top of ch3.",
          "raw_text": "Round 6 ch3 as standing st, 1sc, 5sc, **ch1, 3hdc, ch1, 3dc, (3dc+ch3+3dc) in next ch-2-sp, 3dc, ch1, 2hdc**, [1hdc, rep from**to**] rep 3 times, slst to top of ch3.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 25,
          "row_type": "instruction",
          "code": "main-pattern-info-19",
          "label": "Steps",
          "value": "Make ch3 as standing st 1sc 5sc, ch1 3hdc, ch1 3dc (3dc+ch3+3dc) in next ch-2-sp 3dc, ch1 2hdc",
          "raw_text": "Make ch3 as standing st 1sc 5sc, ch1 3hdc, ch1 3dc (3dc+ch3+3dc) in next ch-2-sp 3dc, ch1 2hdc",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 26,
          "row_type": "instruction",
          "code": "main-pattern-info-20",
          "label": "Steps",
          "value": "[1hdc, ch1, 6sc, ch1, 3hdc, ch1, 3dc, (3dc+ch3+3dc) in next ch-2-sp, 3dc, ch1, 2hdc] repeat 3 times, slst to top of ch3. Round 6 finished.",
          "raw_text": "[1hdc, ch1, 6sc, ch1, 3hdc, ch1, 3dc, (3dc+ch3+3dc) in next ch-2-sp, 3dc, ch1, 2hdc] repeat 3 times, slst to top of ch3. Round 6 finished.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 27,
          "row_type": "round",
          "code": "main-pattern-round-7",
          "label": "Round 7",
          "value": "ch1 as standing st, sc in following sts and 3sc in each corner sp until finished the square, slst to first sc, fasten off and weave in ends.",
          "raw_text": "Round 7 ch1 as standing st, sc in following sts and 3sc in each corner sp until finished the square, slst to first sc, fasten off and weave in ends.",
          "round_start": 7,
          "round_end": 7,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 28,
          "row_type": "info",
          "code": "main-pattern-info-21",
          "label": "Info",
          "value": "In this round, we turn it into square. Make ch1 as standing st. Then,  make sc in following sts and make 3sc in each corner space  until finished the square.",
          "raw_text": "In this round, we turn it into square. Make ch1 as standing st. Then,  make sc in following sts and make 3sc in each corner space  until finished the square.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 29,
          "row_type": "instruction",
          "code": "main-pattern-info-22",
          "label": "Steps",
          "value": "1sc 18sc 3sc in corner space 9sc.",
          "raw_text": "Step by step: 1sc 18sc 3sc in corner space 9sc.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 30,
          "row_type": "instruction",
          "code": "main-pattern-info-23",
          "label": "Steps",
          "value": "[19sc, 3sc in corner space, 9sc] repeat 3 times, slst to first sc, fasten off and weave in ends. Now we finished a retro flower granny square.",
          "raw_text": "[19sc, 3sc in corner space, 9sc] repeat 3 times, slst to first sc, fasten off and weave in ends. Now we finished a retro flower granny square.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "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": "💡 Make one complete test square and measure it before starting a blanket batch. You want roughly 6.5 x 6.5 inches — if yours comes out larger, drop down half a millimeter in hook size; if smaller, go up. Matching squares matter far more than matching a specific hook number",
          "raw_text": "💡 Make one complete test square and measure it before starting a blanket batch. You want roughly 6.5 x 6.5 inches — if yours comes out larger, drop down half a millimeter in hook size; if smaller, go up. Matching squares matter far more than matching a specific hook number",
          "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 each of the four corner chain spaces on the border rounds. The corners are the backbone of the square, and markers make it impossible to accidentally work past one, especially in darker border colors like forest green or purple",
          "raw_text": "💡 Place a stitch marker in each of the four corner chain spaces on the border rounds. The corners are the backbone of the square, and markers make it impossible to accidentally work past one, especially in darker border colors like forest green or purple",
          "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": "💡 With three color changes per square, end management is the real project. Leave 6-inch tails at every join, and either crochet over them as you work the next round or weave them in the moment each square is finished — never save 40 squares' worth of ends for one grim evening",
          "raw_text": "💡 With three color changes per square, end management is the real project. Leave 6-inch tails at every join, and either crochet over them as you work the next round or weave them in the moment each square is finished — never save 40 squares' worth of ends for one grim evening",
          "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": "💡 DK weight varies noticeably between brands, so keep all three colors within the same yarn line if you can. A slightly thicker border yarn will ruffle around a slightly thinner flower, even when your tension is perfect",
          "raw_text": "💡 DK weight varies noticeably between brands, so keep all three colors within the same yarn line if you can. A slightly thicker border yarn will ruffle around a slightly thinner flower, even when your tension is perfect",
          "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 your squares before joining them. Pin each one to 6.5 inches and hit it with steam (for acrylic, hover the iron — never touch) or wet block cotton. Crisp, uniform corners make seaming dramatically easier and the finished blanket noticeably flatter",
          "raw_text": "💡 Block your squares before joining them. Pin each one to 6.5 inches and hit it with steam (for acrylic, hover the iron — never touch) or wet block cotton. Crisp, uniform corners make seaming dramatically easier and the finished blanket noticeably flatter",
          "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": "💡 The yellow center uses only a small amount of yarn, the red flower a bit more, and the border color the most by far. If you are buying yarn for a full blanket, weigh a finished square's rounds separately first so you can budget skeins accurately for each color",
          "raw_text": "💡 The yellow center uses only a small amount of yarn, the red flower a bit more, and the border color the most by far. If you are buying yarn for a full blanket, weigh a finished square's rounds separately first so you can budget skeins accurately for each color",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 10,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "Can I use worsted weight yarn instead of DK for this granny square?",
          "value": "Yes — the pattern works beautifully in worsted with a 5mm or 5.5mm hook. Expect the finished square to come out around 7.5 to 8 inches instead of 6.5. Just keep all three colors the same weight so the rounds lie flat",
          "raw_text": "Yes — the pattern works beautifully in worsted with a 5mm or 5.5mm hook. Expect the finished square to come out around 7.5 to 8 inches instead of 6.5. Just keep all three colors the same weight so the rounds lie flat",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I use worsted weight yarn instead of DK for this granny square?",
          "answer": "Yes — the pattern works beautifully in worsted with a 5mm or 5.5mm hook. Expect the finished square to come out around 7.5 to 8 inches instead of 6.5. Just keep all three colors the same weight so the rounds lie flat",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "How many of these squares do I need for a blanket?",
          "value": "6.5 inches per square, a 6 by 8 layout gives you 48 squares and a throw of roughly 39 by 52 inches before any border. For a baby blanket, 25 squares in a 5 by 5 grid lands close to 32 inches square",
          "raw_text": "6.5 inches per square, a 6 by 8 layout gives you 48 squares and a throw of roughly 39 by 52 inches before any border. For a baby blanket, 25 squares in a 5 by 5 grid lands close to 32 inches square",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How many of these squares do I need for a blanket?",
          "answer": "6.5 inches per square, a 6 by 8 layout gives you 48 squares and a throw of roughly 39 by 52 inches before any border. For a baby blanket, 25 squares in a 5 by 5 grid lands close to 32 inches square",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "Is this pattern okay for beginners?",
          "value": "It is a great confident-beginner project. If you can chain, double crochet, and work into chain spaces, you can make this square. The flower petal rounds are the fussiest part, but with only 7 rounds total, mistakes are cheap to fix",
          "raw_text": "It is a great confident-beginner project. If you can chain, double crochet, and work into chain spaces, you can make this square. The flower petal rounds are the fussiest part, but with only 7 rounds total, mistakes are cheap to fix",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Is this pattern okay for beginners?",
          "answer": "It is a great confident-beginner project. If you can chain, double crochet, and work into chain spaces, you can make this square. The flower petal rounds are the fussiest part, but with only 7 rounds total, mistakes are cheap to fix",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "Why is my square ruffling instead of lying flat?",
          "value": "Ruffling usually means extra stitches sneaking in, missed or shortened corner chain spaces, or looser tension on the border rounds than the flower rounds. Recount each round against the pattern, mark your corners, and block the finished square to 6.5 inches",
          "raw_text": "Ruffling usually means extra stitches sneaking in, missed or shortened corner chain spaces, or looser tension on the border rounds than the flower rounds. Recount each round against the pattern, mark your corners, and block the finished square to 6.5 inches",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Why is my square ruffling instead of lying flat?",
          "answer": "Ruffling usually means extra stitches sneaking in, missed or shortened corner chain spaces, or looser tension on the border rounds than the flower rounds. Recount each round against the pattern, mark your corners, and block the finished square to 6.5 inches",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "What is the best way to join these squares into a blanket?",
          "value": "A whip stitch through the back loops in the border color gives a flat, nearly invisible seam that suits the retro look. Slip-stitch joining creates a nice raised ridge if you prefer definition, and join-as-you-go on the final round saves a whole seaming session",
          "raw_text": "A whip stitch through the back loops in the border color gives a flat, nearly invisible seam that suits the retro look. Slip-stitch joining creates a nice raised ridge if you prefer definition, and join-as-you-go on the final round saves a whole seaming session",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What is the best way to join these squares into a blanket?",
          "answer": "A whip stitch through the back loops in the border color gives a flat, nearly invisible seam that suits the retro look. Slip-stitch joining creates a nice raised ridge if you prefer definition, and join-as-you-go on the final round saves a whole seaming session",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/retro-flower-granny-square-pattern-free-hero.webp",
    "data/images/retro-flower-granny-square-pattern-free-step-2.webp",
    "data/images/retro-flower-granny-square-pattern-free-step-3.webp",
    "data/images/retro-flower-granny-square-pattern-free-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/retro-flower-granny-square-pattern-free-hero.webp",
      "alt": "Retro Flower Granny Square: Free Crochet Pattern — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/retro-flower-granny-square-pattern-free-hero.webp",
      "alt": "Retro Flower Granny Square: Free Crochet Pattern — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/retro-flower-granny-square-pattern-free-step-2.webp",
      "alt": "Retro Flower Granny Square: Free Crochet Pattern — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/retro-flower-granny-square-pattern-free-step-3.webp",
      "alt": "Retro Flower Granny Square: Free Crochet Pattern — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/retro-flower-granny-square-pattern-free-step-4.webp",
      "alt": "Retro Flower Granny Square: Free Crochet Pattern — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 0
}