{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "diamond-granny-square",
  "title": "Diamond Granny Square: Free Two-Color Crochet Pattern",
  "meta_description": "Crochet a Diamond Granny Square with this free two-color pattern — a quick DK-weight motif using treble corners for a striking geometric look",
  "published_at": "2026-07-13",
  "updated_at": "2026-07-13",
  "author": "Ruby",
  "thumbnail_url": "data/images/diamond-granny-square-hero.webp",
  "meta": {
    "title": "Diamond Granny Square: Free Two-Color Crochet Pattern",
    "pattern_name": "Diamond Granny Square: Free Two-Color Crochet Pattern",
    "difficulty": "Easy Intermediate",
    "time_needed": "30-45 Min",
    "rating": 4.7,
    "made_count": "1.2K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Advanced Beginner",
      "yarn_weight": "DK",
      "tags": [
        "granny square",
        "diamond granny square",
        "free crochet pattern",
        "crochet motif",
        "treble crochet",
        "two-color crochet",
        "DK weight",
        "geometric crochet",
        "blanket square",
        "crochet square",
        "beginner granny square",
        "motif pattern"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Diamond Granny Square: Free Two-Color Crochet Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Advanced Beginner",
          "value": "Comfortable with granny clusters and ready to try treble corners",
          "raw_text": "Comfortable with granny clusters and ready to try treble corners",
          "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 Make",
          "value": "About 30–45 minutes per tidy 3-inch square",
          "raw_text": "About 30–45 minutes per tidy 3-inch square",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "hero-info-3",
          "label": "Two-Color Stunner",
          "value": "A geometric diamond motif perfect for blankets, bags, and coasters",
          "raw_text": "A geometric diamond motif perfect for blankets, bags, and coasters",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 2,
      "card_type": "about",
      "code": "about",
      "title": "About",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "about-info-1",
          "label": "",
          "value": "The Diamond Granny Square puts a fresh, geometric spin on the classic square by using clever stitch placement to float a crisp diamond right in the center of the motif. Instead of the usual all-around clusters, treble stitches at the corners pull the shape into pointed peaks, while a contrasting background color makes the diamond pop. It's perfect for anyone who loves the soothing rhythm of granny squares but wants a modern, eye-catching result they can join into blankets, cushions, or bags",
          "raw_text": "The Diamond Granny Square puts a fresh, geometric spin on the classic square by using clever stitch placement to float a crisp diamond right in the center of the motif. Instead of the usual all-around clusters, treble stitches at the corners pull the shape into pointed peaks, while a contrasting background color makes the diamond pop. It's perfect for anyone who loves the soothing rhythm of granny squares but wants a modern, eye-catching result they can join into blankets, cushions, or bags",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "about-info-2",
          "label": "",
          "value": "You'll work in the round from a magic ring, building four quick rounds that mix classic 3-double-crochet clusters with half double crochets and a few treble stitches to shape those signature corners. If you're comfortable with basic granny squares and ready to try your first trebles, this is an ideal next step — squarely advanced-beginner to intermediate. Each little 3-inch square works up in about 30 to 45 minutes, so you can finish one in a single cozy sitting or batch several during a movie night",
          "raw_text": "You'll work in the round from a magic ring, building four quick rounds that mix classic 3-double-crochet clusters with half double crochets and a few treble stitches to shape those signature corners. If you're comfortable with basic granny squares and ready to try your first trebles, this is an ideal next step — squarely advanced-beginner to intermediate. Each little 3-inch square works up in about 30 to 45 minutes, so you can finish one in a single cozy sitting or batch several during a movie night",
          "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 a tidy 3 inches by 3 inches in DK-weight yarn, with a firm, structured feel thanks to those treble-reinforced corners. The two-color diamond reads beautifully from across a room, giving your work a polished, almost quilted look. Stitch a stack of them into a throw, a market bag, or a set of coasters, and you've got a handmade gift that feels thoughtful and designer-made — the kind of piece friends assume you bought from a boutique",
          "raw_text": "The finished square measures a tidy 3 inches by 3 inches in DK-weight yarn, with a firm, structured feel thanks to those treble-reinforced corners. The two-color diamond reads beautifully from across a room, giving your work a polished, almost quilted look. Stitch a stack of them into a throw, a market bag, or a set of coasters, and you've got a handmade gift that feels thoughtful and designer-made — the kind of piece friends assume you bought from a boutique",
          "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 two-color setup makes this square a playground for color. The pattern itself suggests a teal diamond on a coral background for a tropical vibe, or golden yellow on navy for a sophisticated night-sky look — both stunning. I'd add a cream diamond on sage green for a soft farmhouse feel, or a hot-pink diamond on charcoal for something bold and modern. Want an ombré blanket? Keep the diamond color constant and shift the background through a gradient, square by square. To size up, simply keep repeating the Round 2 logic outward: after Round 4, add another round of '2dc, tr, ch1, tr, 2dc' in each corner and '2hdc, 2dc, 2hdc' along each side. Every extra round adds roughly an inch, so a 6-round square lands near 5 inches — perfect for a chunkier throw with fewer joins. Yarn choice changes the whole mood too. The sample uses DK, but swap in Paintbox Simply DK or Scheepjes Stone Washed for crisp stitch definition. Go up to a worsted like Vanna's Choice with a 4.5mm hook for a squishier, faster blanket square, or drop to 4-ply cotton like Ricorumi with a 2.5mm hook for delicate coasters and appliqués. For themed makes, try red-and-green diamonds for holiday coasters, pastel-on-white for a baby blanket, or a metallic thread held alongside your diamond color for a glam party garland. Because each square is so quick, you can mix and match a dozen variations in an afternoon and still have energy left to start joining them",
          "raw_text": "The two-color setup makes this square a playground for color. The pattern itself suggests a teal diamond on a coral background for a tropical vibe, or golden yellow on navy for a sophisticated night-sky look — both stunning. I'd add a cream diamond on sage green for a soft farmhouse feel, or a hot-pink diamond on charcoal for something bold and modern. Want an ombré blanket? Keep the diamond color constant and shift the background through a gradient, square by square. To size up, simply keep repeating the Round 2 logic outward: after Round 4, add another round of '2dc, tr, ch1, tr, 2dc' in each corner and '2hdc, 2dc, 2hdc' along each side. Every extra round adds roughly an inch, so a 6-round square lands near 5 inches — perfect for a chunkier throw with fewer joins. Yarn choice changes the whole mood too. The sample uses DK, but swap in Paintbox Simply DK or Scheepjes Stone Washed for crisp stitch definition. Go up to a worsted like Vanna's Choice with a 4.5mm hook for a squishier, faster blanket square, or drop to 4-ply cotton like Ricorumi with a 2.5mm hook for delicate coasters and appliqués. For themed makes, try red-and-green diamonds for holiday coasters, pastel-on-white for a baby blanket, or a metallic thread held alongside your diamond color for a glam party garland. Because each square is so quick, you can mix and match a dozen variations in an afternoon and still have energy left to start joining them",
          "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": "Leaving the magic ring loose so the center opens into a gap",
          "value": "Before you close Round 1, give the short tail a firm tug to cinch the ring shut. If it's already worked up, weave the tail through the base of the first cluster and pull gently to draw the hole closed, then secure it so it can't loosen again",
          "raw_text": "Before you close Round 1, give the short tail a firm tug to cinch the ring shut. If it's already worked up, weave the tail through the base of the first cluster and pull gently to draw the hole closed, then secure it so it can't loosen again",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "mistake",
          "code": "mistake-2",
          "label": "Working double crochets where the",
          "value": "The '2dc, tr, ch1, tr, 2dc' corner is what creates the diamond's pointed peaks. Yarn over twice before inserting your hook for each tr — if your corners look flat or rounded, you've likely used dc. Rip back to the corner and rework it with true trebles so the points stand tall",
          "raw_text": "The '2dc, tr, ch1, tr, 2dc' corner is what creates the diamond's pointed peaks. Yarn over twice before inserting your hook for each tr — if your corners look flat or rounded, you've likely used dc. Rip back to the corner and rework it with true trebles so the points stand tall",
          "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": "Placing the corner clusters into the wrong ch-space",
          "value": "Every corner group goes into a ch-2 corner space from the previous round, and the side groups go into the smaller ch-spaces. Pause each round to identify which space is a corner before you stitch. Marking the four corner spaces with stitch markers keeps you from accidentally shifting the diamond off-center",
          "raw_text": "Every corner group goes into a ch-2 corner space from the previous round, and the side groups go into the smaller ch-spaces. Pause each round to identify which space is a corner before you stitch. Marking the four corner spaces with stitch markers keeps you from accidentally shifting the diamond off-center",
          "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": "Miscounting the '2hdc, 2dc, 2hdc' side sequence",
          "value": "The half double crochets frame two center double crochets along each side; swapping the count makes the sides uneven and pushes the diamond off-square. Count out loud as you go — 2 hdc, 2 dc, 2 hdc — and check that all four sides mirror each other before joining the round",
          "raw_text": "The half double crochets frame two center double crochets along each side; swapping the count makes the sides uneven and pushes the diamond off-square. Count out loud as you go — 2 hdc, 2 dc, 2 hdc — and check that all four sides mirror each other before joining the round",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "mistake",
          "code": "mistake-5",
          "label": "Carrying the unused color messily during two-color rounds",
          "value": "Long floats or tight carries pucker the fabric and show through the background. When a color rests, either drop it neatly to be picked up later or cut and rejoin, and change colors in the last yarn-over of the previous stitch for a clean transition with no bulky bumps",
          "raw_text": "Long floats or tight carries pucker the fabric and show through the background. When a color rests, either drop it neatly to be picked up later or cut and rejoin, and change colors in the last yarn-over of the previous stitch for a clean transition with no bulky bumps",
          "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": "Skipping the ch-1 at the very tip of each corner",
          "value": "The single chain between the two trebles ('tr, ch1, tr') is the actual point of the diamond and the space your next round's corner will sit in. Leaving it out squeezes the peak flat and hides your corner space. If a corner looks cramped, check that the ch-1 is there and re-add it",
          "raw_text": "The single chain between the two trebles ('tr, ch1, tr') is the actual point of the diamond and the space your next round's corner will sit in. Leaving it out squeezes the peak flat and hides your corner space. If a corner looks cramped, check that the ch-1 is there and re-add it",
          "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- 2 colors, the sample is made with DK sports",
              "raw_text": "Yarn of your choice- 2 colors, the sample is made with DK sports"
            },
            {
              "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",
      "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-dc",
          "label": "dc",
          "value": "double crochet",
          "raw_text": "dc = double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "dc",
          "meaning": "double crochet"
        },
        {
          "order": 3,
          "row_type": "abbrev",
          "code": "abbrev-hdc",
          "label": "hdc",
          "value": "half double crochet",
          "raw_text": "hdc = half double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "hdc",
          "meaning": "half double crochet"
        },
        {
          "order": 4,
          "row_type": "abbrev",
          "code": "abbrev-tr",
          "label": "tr",
          "value": "treble double crochet",
          "raw_text": "tr = treble double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "tr",
          "meaning": "treble double crochet"
        },
        {
          "order": 5,
          "row_type": "abbrev",
          "code": "abbrev-dtr",
          "label": "dtr",
          "value": "double treble crochet",
          "raw_text": "dtr = double treble crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "dtr",
          "meaning": "double treble crochet"
        },
        {
          "order": 6,
          "row_type": "abbrev",
          "code": "abbrev-tr-inc",
          "label": "tr inc",
          "value": "treble increase",
          "raw_text": "tr inc = treble increase",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "tr inc",
          "meaning": "treble increase"
        },
        {
          "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-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": 9,
          "row_type": "abbrev",
          "code": "abbrev-st",
          "label": "st",
          "value": "stitch",
          "raw_text": "st = stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "st",
          "meaning": "stitch"
        },
        {
          "order": 10,
          "row_type": "abbrev",
          "code": "abbrev-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": 8,
      "card_type": "part",
      "code": "how-to-crochet-diamond-granny-",
      "title": "How to Crochet Diamond Granny Square",
      "raw_heading": "How to Crochet Diamond Granny Square",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "how-to-crochet-diamond-granny--info-1",
          "label": "Info",
          "value": "A bold diamond motif sits perfectly centered in this chunky textured granny square, creating a striking geometric design.",
          "raw_text": "A bold diamond motif sits perfectly centered in this chunky textured granny square, creating a striking geometric design.",
          "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": "how-to-crochet-diamond-granny--round-1",
          "label": "Round 1",
          "value": "magic ring, ch3(count as dc), 2dc, ch2, [3dc, ch2] repeat 3 times, slst to top of ch3.",
          "raw_text": "Round 1 magic ring, ch3(count as dc), 2dc, ch2, [3dc, ch2] repeat 3 times, slst to top of ch3.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "instruction",
          "code": "how-to-crochet-diamond-granny--round-1-steps",
          "label": "Steps",
          "value": "Start with a magic ring; make 3 chain stitches as standing stitch; 2dc, ch2; [3dc, ch2] repeat 3 times; slst to top of ch3. Round 1 finished.",
          "raw_text": "Start with a magic ring; make 3 chain stitches as standing stitch; 2dc, ch2; [3dc, ch2] repeat 3 times; slst to top of ch3. Round 1 finished.",
          "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": "how-to-crochet-diamond-granny--round-2",
          "label": "Round 2",
          "value": "ch2, 2dc tr ch1 tr 2dc in corner space, 2hdc, 2hdc 2dc 2hdc in next ch-sp, 2hdc, 2dc tr ch1 tr 2dc in next corner space, 2hdc, 2hdc 2dc 2hdc in next corner space, hdc, slst to top of ch2, fasten off.",
          "raw_text": "Round 2 ch2, 2dc tr ch1 tr 2dc in corner space, 2hdc, 2hdc 2dc 2hdc in next ch-sp, 2hdc, 2dc tr ch1 tr 2dc in next corner space, 2hdc, 2hdc 2dc 2hdc in next corner space, hdc, slst to top of ch2, 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": "how-to-crochet-diamond-granny--round-2-steps",
          "label": "Steps",
          "value": "ch2; make 2dc tr ch1 in corner space; then tr 2dc in same corner space; 2hdc, 2hdc 2dc 2hdc in next ch-sp, 2hdc; 2dc tr ch1 tr 2dc in same corner space, 2hdc, 2hdc 2dc 2hdc in next corner space, hdc, slst to top of ch2, fasten off. Then we finished the diamond. Round 2 finished.",
          "raw_text": "ch2; make 2dc tr ch1 in corner space; then tr 2dc in same corner space; 2hdc, 2hdc 2dc 2hdc in next ch-sp, 2hdc; 2dc tr ch1 tr 2dc in same corner space, 2hdc, 2hdc 2dc 2hdc in next corner space, hdc, slst to top of ch2, fasten off. Then we finished the diamond. Round 2 finished.",
          "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": "how-to-crochet-diamond-granny--round-3",
          "label": "Round 3",
          "value": "add new yarn, ch, sc, hdc, dc, 2tr inc, dtr ch2 dtr in next st, 2tr inc, dc, hdc, [sc, hdc, dc, 2tr inc, dtr ch2 dtr in next st, 2tr inc, dc,hdc] repeat 3 times, slst to first ch.",
          "raw_text": "Round 3 add new yarn, ch, sc, hdc, dc, 2tr inc, dtr ch2 dtr in next st, 2tr inc, dc, hdc, [sc, hdc, dc, 2tr inc, dtr ch2 dtr in next st, 2tr inc, dc,hdc] repeat 3 times, slst to first ch.",
          "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": "how-to-crochet-diamond-granny--round-3-steps",
          "label": "Steps",
          "value": "add new yarn through corner stitch; make chain stitch; make single crochet; hdc, dc, 2tr inc; dtr ch2 dtr in next stitch; 2tr inc, dc, hdc; [sc, hdc, dc, 2tr inc, dtr ch2 dtr in next stitch, 2tr inc, dc, hdc] repeat 3 times, slst to first ch. Round 3 finished.",
          "raw_text": "add new yarn through corner stitch; make chain stitch; make single crochet; hdc, dc, 2tr inc; dtr ch2 dtr in next stitch; 2tr inc, dc, hdc; [sc, hdc, dc, 2tr inc, dtr ch2 dtr in next stitch, 2tr inc, dc, hdc] repeat 3 times, slst to first ch. Round 3 finished.",
          "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": "how-to-crochet-diamond-granny--round-4",
          "label": "Round 4",
          "value": "ch3(count as dc), 5dc, 2dc ch2 2dc in corner space, 5dc, [6dc, 2dc ch2 2dc in corner space, 5dc] repeat 3 times, slst to top of ch3, fasten off.",
          "raw_text": "Round 4 ch3(count as dc), 5dc, 2dc ch2 2dc in corner space, 5dc, [6dc, 2dc ch2 2dc in corner space, 5dc] repeat 3 times, slst to top of ch3, fasten off.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "instruction",
          "code": "how-to-crochet-diamond-granny--round-4-steps",
          "label": "Steps",
          "value": "ch3(count as dc); 5dc, 2dc ch2 2dc in corner space, 5dc; [6dc, 2dc ch2 2dc in corner space, 5dc] repeat 3 times, slst to top of ch3, fasten off. The diamond granny square is finished. Now weave in the ends and cut off extra yarn.",
          "raw_text": "ch3(count as dc); 5dc, 2dc ch2 2dc in corner space, 5dc; [6dc, 2dc ch2 2dc in corner space, 5dc] repeat 3 times, slst to top of ch3, fasten off. The diamond granny square is finished. Now weave in the ends and cut off extra yarn.",
          "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": "💡 Match your hook to your yarn: the sample uses a 3.00mm hook with DK, which gives firm, defined stitches. If your square curls or feels stiff, go up to 3.25mm; if it's floppy and gappy, drop to 2.75mm so the diamond holds its shape",
          "raw_text": "💡 Match your hook to your yarn: the sample uses a 3.00mm hook with DK, which gives firm, defined stitches. If your square curls or feels stiff, go up to 3.25mm; if it's floppy and gappy, drop to 2.75mm so the diamond holds its shape",
          "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": "💡 Pop a stitch marker in each of the four corner ch-2 spaces at the end of Round 1. Corners are where the trebles and shaping happen, and marking them means you'll never lose track of where the next '2dc, tr, ch1, tr, 2dc' group belongs",
          "raw_text": "💡 Pop a stitch marker in each of the four corner ch-2 spaces at the end of Round 1. Corners are where the trebles and shaping happen, and marking them means you'll never lose track of where the next '2dc, tr, ch1, tr, 2dc' group belongs",
          "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": "💡 Block your finished square before joining. A quick spray or steam block and pin at each corner sharpens the diamond's points and squares up the edges, so a whole panel of them lines up neatly with no wavy seams",
          "raw_text": "💡 Block your finished square before joining. A quick spray or steam block and pin at each corner sharpens the diamond's points and squares up the edges, so a whole panel of them lines up neatly with no wavy seams",
          "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": "💡 Manage your two colors by weaving in ends as you finish each square rather than saving them all for later — with dozens of squares in a blanket, those tails add up fast, and tidying as you go keeps the back clean",
          "raw_text": "💡 Manage your two colors by weaving in ends as you finish each square rather than saving them all for later — with dozens of squares in a blanket, those tails add up fast, and tidying as you go keeps the back clean",
          "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": "💡 Keep an even tension on your trebles. Because they're the tallest stitches here, loose trebles make baggy corners while tight ones pucker the points. Aim for the same relaxed pull you use on your double crochets and the diamond will sit flat",
          "raw_text": "💡 Keep an even tension on your trebles. Because they're the tallest stitches here, loose trebles make baggy corners while tight ones pucker the points. Aim for the same relaxed pull you use on your double crochets and the diamond will sit flat",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "info",
          "code": "note-6",
          "label": "Note",
          "value": "💡 If you're making many squares for a project, work them all in the same yarn brand and dye lot. DK weights vary slightly between brands, and mixing them can leave one square a hair bigger than the rest when you go to join",
          "raw_text": "💡 If you're making many squares for a project, work them all in the same yarn brand and dye lot. DK weights vary slightly between brands, and mixing them can leave one square a hair bigger than the rest when you go to join",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "note-7",
          "label": "Gauge",
          "value": "📏 Gauge: the finished granny square measures 3 inches by 3 inches, worked in DK-weight yarn with a 3.00mm hook. Check yours against this before committing to a full project so all your squares come out the same size",
          "raw_text": "📏 Gauge: the finished granny square measures 3 inches by 3 inches, worked in DK-weight yarn with a 3.00mm hook. Check yours against this before committing to a full project so all your squares come out the same size",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "info",
          "code": "note-8",
          "label": "Color idea",
          "value": "🎨 Color suggestion from the pattern: try a teal diamond with a coral background for a tropical vibe, or a golden yellow diamond with a navy background for a sophisticated nighttime-sky effect",
          "raw_text": "🎨 Color suggestion from the pattern: try a teal diamond with a coral background for a tropical vibe, or a golden yellow diamond with a navy background for a sophisticated nighttime-sky effect",
          "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": "What actually creates the diamond shape in this square?",
          "value": "The diamond comes from a combination of stitch placement and color. Treble stitches at the corners pull the motif into sharp points while the double-crochet clusters form the diamond's body, and working that shape in a color that contrasts with the half-double-crochet background makes it stand out crisply",
          "raw_text": "The diamond comes from a combination of stitch placement and color. Treble stitches at the corners pull the motif into sharp points while the double-crochet clusters form the diamond's body, and working that shape in a color that contrasts with the half-double-crochet background makes it stand out crisply",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What actually creates the diamond shape in this square?",
          "answer": "The diamond comes from a combination of stitch placement and color. Treble stitches at the corners pull the motif into sharp points while the double-crochet clusters form the diamond's body, and working that shape in a color that contrasts with the half-double-crochet background makes it stand out crisply",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Can I make this square bigger than 3 inches?",
          "value": "Absolutely. Keep repeating the Round 2 logic outward — a '2dc, tr, ch1, tr, 2dc' group in each corner space and a '2hdc, 2dc, 2hdc' group along each side. Each added round grows the square by roughly an inch, so it's easy to scale up for cushions or throws",
          "raw_text": "Absolutely. Keep repeating the Round 2 logic outward — a '2dc, tr, ch1, tr, 2dc' group in each corner space and a '2hdc, 2dc, 2hdc' group along each side. Each added round grows the square by roughly an inch, so it's easy to scale up for cushions or throws",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I make this square bigger than 3 inches?",
          "answer": "Absolutely. Keep repeating the Round 2 logic outward — a '2dc, tr, ch1, tr, 2dc' group in each corner space and a '2hdc, 2dc, 2hdc' group along each side. Each added round grows the square by roughly an inch, so it's easy to scale up for cushions or throws",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "Do I have to use two colors?",
          "value": "Two colors give the boldest diamond effect, but you can absolutely work it in one. In a single color the diamond still appears as a subtle texture from the treble and double-crochet placement — pretty in its own quieter way, and great for a tonal blanket",
          "raw_text": "Two colors give the boldest diamond effect, but you can absolutely work it in one. In a single color the diamond still appears as a subtle texture from the treble and double-crochet placement — pretty in its own quieter way, and great for a tonal blanket",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Do I have to use two colors?",
          "answer": "Two colors give the boldest diamond effect, but you can absolutely work it in one. In a single color the diamond still appears as a subtle texture from the treble and double-crochet placement — pretty in its own quieter way, and great for a tonal blanket",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "What yarn and hook should I use?",
          "value": "The sample uses DK-weight yarn with a 3.00mm hook, which gives a firm 3-inch square. You can substitute any DK you like, or size up to worsted with a 4.5mm hook for a larger, squishier square — just keep both colors in the same weight",
          "raw_text": "The sample uses DK-weight yarn with a 3.00mm hook, which gives a firm 3-inch square. You can substitute any DK you like, or size up to worsted with a 4.5mm hook for a larger, squishier square — just keep both colors in the same weight",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What yarn and hook should I use?",
          "answer": "The sample uses DK-weight yarn with a 3.00mm hook, which gives a firm 3-inch square. You can substitute any DK you like, or size up to worsted with a 4.5mm hook for a larger, squishier square — just keep both colors in the same weight",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "How do I join these squares into a blanket?",
          "value": "Any standard motif join works well here. Whipstitching or slip-stitching them together with a coordinating color keeps the diamonds framed neatly, or you can join-as-you-go on the final round to skip the seaming step entirely. Block first so the corners line up cleanly",
          "raw_text": "Any standard motif join works well here. Whipstitching or slip-stitching them together with a coordinating color keeps the diamonds framed neatly, or you can join-as-you-go on the final round to skip the seaming step entirely. Block first so the corners line up cleanly",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How do I join these squares into a blanket?",
          "answer": "Any standard motif join works well here. Whipstitching or slip-stitching them together with a coordinating color keeps the diamonds framed neatly, or you can join-as-you-go on the final round to skip the seaming step entirely. Block first so the corners line up cleanly",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/diamond-granny-square-hero.webp",
    "data/images/diamond-granny-square-step-2.webp",
    "data/images/diamond-granny-square-step-3.webp",
    "data/images/diamond-granny-square-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/diamond-granny-square-hero.webp",
      "alt": "Diamond Granny Square: Free Two-Color Crochet Pattern — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/diamond-granny-square-hero.webp",
      "alt": "Diamond Granny Square: Free Two-Color Crochet Pattern — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/diamond-granny-square-step-2.webp",
      "alt": "Diamond Granny Square: Free Two-Color Crochet Pattern — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/diamond-granny-square-step-3.webp",
      "alt": "Diamond Granny Square: Free Two-Color Crochet Pattern — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/diamond-granny-square-step-4.webp",
      "alt": "Diamond Granny Square: Free Two-Color Crochet Pattern — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 2
}