{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "happily-ever-afghan-block-solid-color-square",
  "title": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern",
  "meta_description": "Crochet the Happily Ever Afghan Block, a free 8-round textured square using sc, dc and chain spaces. Stunning in solid or scrappy color!",
  "published_at": "2026-08-15",
  "updated_at": "2026-08-15",
  "author": "Nora",
  "thumbnail_url": "data/images/happily-ever-afghan-block-solid-color-square-hero.webp",
  "meta": {
    "title": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern",
    "pattern_name": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern",
    "difficulty": "Easy",
    "time_needed": "1-2 Hours",
    "rating": 4.8,
    "made_count": "3.4K",
    "taxonomy": {
      "category": "Blankets & Afghans",
      "skill_level": "Adventurous Beginner",
      "yarn_weight": "Worsted",
      "tags": [
        "afghan block",
        "granny square",
        "free crochet pattern",
        "worsted weight",
        "blanket square",
        "double crochet",
        "chain space",
        "textured square",
        "solid color afghan",
        "wedding gift crochet",
        "travel project",
        "join as you go"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Adventurous Beginner",
          "value": "If you can work sc, dc and chain stitches, you can make this — the magic is in stitch placement, not fancy techniques",
          "raw_text": "If you can work sc, dc and chain stitches, you can make this — the magic is in stitch placement, not fancy techniques",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "hero-info-2",
          "label": "One Block Per Evening",
          "value": "8 rounds worked in roughly 1-2 hours, perfect for stacking up squares while you watch TV",
          "raw_text": "8 rounds worked in roughly 1-2 hours, perfect for stacking up squares while you watch TV",
          "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": "Heirloom Wedding Afghan",
          "value": "Designed for a wedding gift and stunning in one solid color or a full rainbow of scraps",
          "raw_text": "Designed for a wedding gift and stunning in one solid color or a full rainbow of scraps",
          "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 Happily Ever Afghan Block is a single 8-round crochet square built to be repeated until it becomes a full-size heirloom afghan. What makes it special is how much visual drama it pulls out of the humblest stitches — single crochet, double crochet and plain old chains — arranged so carefully that the finished square looks far more complicated than it is. It's perfect for anyone who wants a blanket with real presence but doesn't want to memorize a page of specialty stitch abbreviations before casting on",
          "raw_text": "The Happily Ever Afghan Block is a single 8-round crochet square built to be repeated until it becomes a full-size heirloom afghan. What makes it special is how much visual drama it pulls out of the humblest stitches — single crochet, double crochet and plain old chains — arranged so carefully that the finished square looks far more complicated than it is. It's perfect for anyone who wants a blanket with real presence but doesn't want to memorize a page of specialty stitch abbreviations before casting on",
          "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 block is a squishy, textured square with a lacy, open quality around the edges and a solid, sturdy center. Worked in one color it reads as elegant and modern — almost like a piece of vintage lacework — while a scrappy multicolor version turns cheerful and folksy. Because you make one block at a time and join at the end, it's the ideal traveling project, and a finished afghan of these squares makes an unforgettable wedding, housewarming or new-baby gift",
          "raw_text": "The finished block is a squishy, textured square with a lacy, open quality around the edges and a solid, sturdy center. Worked in one color it reads as elegant and modern — almost like a piece of vintage lacework — while a scrappy multicolor version turns cheerful and folksy. Because you make one block at a time and join at the end, it's the ideal traveling project, and a finished afghan of these squares makes an unforgettable wedding, housewarming or new-baby gift",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 3,
      "card_type": "why_love",
      "code": "why-love",
      "title": "Why You'll Love This Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "why-love-1",
          "label": "",
          "value": "I fell hard for this block the second time I made it. The first time I raced through a whole afghan's worth in mixed colors for a wedding — and in my haste I never even measured the finished square, which is exactly the kind of thing I do. So I sat down afterward and crocheted one in a single solid color just to check my measurements, and I was genuinely blown away. All that carefully placed texture that gets a little lost in a busy multicolor square suddenly pops in solid yarn. You can see every ridge, every chain space, every deliberate stitch placement. And I love that solid version for practical reasons too: no color changes means no ends to weave in, which if you're making thirty-plus blocks is not a small thing. What really keeps me coming back, though, is the pace. Eight rounds is the sweet spot — long enough to feel like you accomplished something, short enough that you can finish one in an evening and set it on the growing stack. That stack is the most satisfying part of the whole project",
          "raw_text": "I fell hard for this block the second time I made it. The first time I raced through a whole afghan's worth in mixed colors for a wedding — and in my haste I never even measured the finished square, which is exactly the kind of thing I do. So I sat down afterward and crocheted one in a single solid color just to check my measurements, and I was genuinely blown away. All that carefully placed texture that gets a little lost in a busy multicolor square suddenly pops in solid yarn. You can see every ridge, every chain space, every deliberate stitch placement. And I love that solid version for practical reasons too: no color changes means no ends to weave in, which if you're making thirty-plus blocks is not a small thing. What really keeps me coming back, though, is the pace. Eight rounds is the sweet spot — long enough to feel like you accomplished something, short enough that you can finish one in an evening and set it on the growing stack. That stack is the most satisfying part of the whole project",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 5,
      "card_type": "common_mistakes",
      "code": "common-mistakes",
      "title": "Common Mistakes & How to Fix Them",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "mistake",
          "code": "mistake-1",
          "label": "Working stitches into the top of the previous round instead of into the chain spaces where the pattern directs",
          "value": "This is the single most common error with this block, and it will throw off your stitch count immediately. The design gets its look almost entirely from where the stitches land, not from what the stitches are. Before you work each round, physically look at your square and identify the chain spaces — those little open gaps — and note whether the pattern is asking you to work into the space, around the chain, or into a specific stitch. When in doubt, count the chain spaces on one side of the square; every side should have the same number",
          "raw_text": "This is the single most common error with this block, and it will throw off your stitch count immediately. The design gets its look almost entirely from where the stitches land, not from what the stitches are. Before you work each round, physically look at your square and identify the chain spaces — those little open gaps — and note whether the pattern is asking you to work into the space, around the chain, or into a specific stitch. When in doubt, count the chain spaces on one side of the square; every side should have the same 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": "mistake",
          "code": "mistake-2",
          "label": "Losing the corner chain spaces and ending up with a rounded, wavy block instead of a square",
          "value": "Corners are what make a square a square, and it's easy to miss one when you're moving quickly. Put a stitch marker in each of the four corner chain spaces as you complete them on every round, moving the markers up as you go. If your block is already curling into a circle, you've likely missed a corner increase — count the stitches along each of the four sides, and the short side is where the missing corner is",
          "raw_text": "Corners are what make a square a square, and it's easy to miss one when you're moving quickly. Put a stitch marker in each of the four corner chain spaces as you complete them on every round, moving the markers up as you go. If your block is already curling into a circle, you've likely missed a corner increase — count the stitches along each of the four sides, and the short side is where the missing corner is",
          "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": "Making the starting chain of each round too tight, creating a visible pucker at the join",
          "value": "The chain that stands in for your first stitch at the beginning of a round needs to match the height of the double crochets around it. If you chain tightly, you'll get a pinched line running from the center of the square to the edge. Work that beginning chain a little loosely, and if it still looks off, try the standing-stitch method instead — join your yarn with a slip knot on the hook and work a true double crochet as your first stitch",
          "raw_text": "The chain that stands in for your first stitch at the beginning of a round needs to match the height of the double crochets around it. If you chain tightly, you'll get a pinched line running from the center of the square to the edge. Work that beginning chain a little loosely, and if it still looks off, try the standing-stitch method instead — join your yarn with a slip knot on the hook and work a true double crochet as your first stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "mistake",
          "code": "mistake-4",
          "label": "Not counting stitches at the end of each of the 8 rounds",
          "value": "Because this is a repeat block, one miscounted square will not match the others, and that mismatch shows brutally once you sew or braid-join them together. Count at the end of every round, not just at the end of the block. If a round is off by one or two, frog just that round — you'll lose ten minutes instead of an hour, and you'll thank yourself when all your squares block to the same measurement",
          "raw_text": "Because this is a repeat block, one miscounted square will not match the others, and that mismatch shows brutally once you sew or braid-join them together. Count at the end of every round, not just at the end of the block. If a round is off by one or two, frog just that round — you'll lose ten minutes instead of an hour, and you'll thank yourself when all your squares block to the same measurement",
          "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": "Skipping the swatch and never measuring the first finished block",
          "value": "I did this exact thing and I'm still a little embarrassed about it. Make one full block first, measure it corner to corner, and use that number to calculate how many blocks your afghan needs. Every crocheter's tension is different, so my square and your square will not be the same size, and that's fine — as long as you know your number before you buy all your yarn",
          "raw_text": "I did this exact thing and I'm still a little embarrassed about it. Make one full block first, measure it corner to corner, and use that number to calculate how many blocks your afghan needs. Every crocheter's tension is different, so my square and your square will not be the same size, and that's fine — as long as you know your number before you buy all your yarn",
          "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": "Weaving in ends sloppily on multicolor versions so they work loose in the wash",
          "value": "If you're changing color between rounds you'll have a lot of ends, and a blanket gets washed a lot. Weave each end in at least two inches, changing direction at least once so the yarn can't simply slide back out. Weave them along the wrong side following the path of existing stitches rather than straight across, and trim only after you've given the tail a gentle tug and confirmed it holds",
          "raw_text": "If you're changing color between rounds you'll have a lot of ends, and a blanket gets washed a lot. Weave each end in at least two inches, changing direction at least once so the yarn can't simply slide back out. Weave them along the wrong side following the path of existing stitches rather than straight across, and trim only after you've given the tail a gentle tug and confirmed it holds",
          "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": "US H 8/5.00 crochet hook (these are my absolute favorite hooks I recommend to everyone!)",
              "raw_text": "US H 8/5.00 crochet hook (these are my absolute favorite hooks I recommend to everyone!)"
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "Worsted Weight yarn (Be sure to read the Happily Ever Afghan Planning Guide Here )",
              "raw_text": "Worsted Weight yarn (Be sure to read the Happily Ever Afghan Planning Guide Here )"
            },
            {
              "order": 3,
              "row_type": "item",
              "code": "mat-1-3",
              "label": "",
              "value": "Tapestry needle and scissors",
              "raw_text": "Tapestry needle and scissors"
            }
          ]
        }
      ],
      "rows": []
    },
    {
      "order": 0,
      "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",
          "raw_text": "ch = chain",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain"
        },
        {
          "order": 2,
          "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": 3,
          "row_type": "abbrev",
          "code": "abbrev-sl-st",
          "label": "sl st",
          "value": "slip stitch",
          "raw_text": "sl st = slip stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sl st",
          "meaning": "slip stitch"
        },
        {
          "order": 4,
          "row_type": "abbrev",
          "code": "abbrev-sc",
          "label": "sc",
          "value": "single crochet",
          "raw_text": "sc = single crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc",
          "meaning": "single crochet"
        },
        {
          "order": 5,
          "row_type": "abbrev",
          "code": "abbrev-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": 7,
      "card_type": "part",
      "code": "happily-ever-afghan-square",
      "title": "Happily Ever Afghan Square",
      "raw_heading": "Happily Ever Afghan Square",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "happily-ever-afghan-square-info-1",
          "label": "Info",
          "value": "Here is what you will need: US H 8/5.00 crochet hook  (these are my absolute favorite hooks I recommend to everyone!)",
          "raw_text": "Here is what you will need: US H 8/5.00 crochet hook  (these are my absolute favorite hooks I recommend to everyone!)",
          "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": "happily-ever-afghan-square-info-2",
          "label": "Info",
          "value": "Worsted Weight yarn (Be sure to read the  Happily Ever Afghan Planning Guide Here )",
          "raw_text": "Worsted Weight yarn (Be sure to read the  Happily Ever Afghan Planning Guide Here )",
          "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": "happily-ever-afghan-square-info-3",
          "label": "Info",
          "value": "Tapestry needle  and  scissors",
          "raw_text": "Tapestry needle  and  scissors",
          "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": "happily-ever-afghan-square-info-4",
          "label": "Info",
          "value": "Resources and tutorials you may find helpful in following this pattern:  Crochet Abbreviations ,  US to UK Crochet Conversion Chart .  Find links to stitches on the “ Tutorial ” menu:  Getting Started  will show basic stitches used in many patterns and  Crochet Stitch Dictionary  shows our growing collection of crochet stitch tutorials.",
          "raw_text": "Resources and tutorials you may find helpful in following this pattern:  Crochet Abbreviations ,  US to UK Crochet Conversion Chart .  Find links to stitches on the “ Tutorial ” menu:  Getting Started  will show basic stitches used in many patterns and  Crochet Stitch Dictionary  shows our growing collection of crochet stitch tutorials.",
          "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": "happily-ever-afghan-square-info-5",
          "label": "Info",
          "value": "Finished afghan block (R1-8) is approximately 7.75″ square.",
          "raw_text": "Finished afghan block (R1-8) is approximately 7.75″ square.",
          "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": "happily-ever-afghan-square-info-6",
          "label": "Info",
          "value": "For the Happily Ever Afghan Original Version, Crochet 42 blocks (7 each of 6 color ways): With Color 1, ch 5 and join to form a ring.",
          "raw_text": "For the Happily Ever Afghan Original Version, Crochet 42 blocks (7 each of 6 color ways): With Color 1, ch 5 and join to form a ring.",
          "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": "happily-ever-afghan-square-round-1",
          "label": "Round 1",
          "value": "Ch 3 (counts as 1 st  dc), 15 dc in ring (16 st), join with sl st to 1 st  st.",
          "raw_text": "R1: Ch 3 (counts as 1 st  dc), 15 dc in ring (16 st), join with sl st to 1 st  st.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "round",
          "code": "happily-ever-afghan-square-round-2",
          "label": "Round 2",
          "value": "Ch 4 (counts as 1 dc, ch 1), *dc in next dc, ch 1*, repeat * to * around, joining with a slip stitch into 3 rd  ch of original ch 4. Fasten off yarn.",
          "raw_text": "R2: Ch 4 (counts as 1 dc, ch 1), *dc in next dc, ch 1*, repeat * to * around, joining with a slip stitch into 3 rd  ch of original ch 4. Fasten off yarn.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "round",
          "code": "happily-ever-afghan-square-round-3",
          "label": "Round 3",
          "value": "Join color 2 in any ch-1 space in previous round. Ch 3 (counts as 1 dc), 2 dc in same space, *3 dc in next ch-1 sp*, repeat from * around. Join with sl st to 1 st  st. (16 groups of 3-dc clusters). Fasten off yarn.",
          "raw_text": "R3: Join color 2 in any ch-1 space in previous round. Ch 3 (counts as 1 dc), 2 dc in same space, *3 dc in next ch-1 sp*, repeat from * around. Join with sl st to 1 st  st. (16 groups of 3-dc clusters). Fasten off yarn.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "round",
          "code": "happily-ever-afghan-square-round-4",
          "label": "Round 4",
          "value": "In this row, you will be working in the spaces between the 3dc clusters from the previous row. Join color 3 in the space after any cluster. Work sc, ch 5, sc in same space as joining (1 st  corner made), *ch 3, sc in next space*, repeat * to * 2 more times, ch 3, **work (sc, ch 5, sc) in next space (corner made), *ch 3, sc in next space*, repeat * to * 2 more times, ch 3**, work ** to ** 2 more times, sl st to starting sc.",
          "raw_text": "R4: In this row, you will be working in the spaces between the 3dc clusters from the previous row. Join color 3 in the space after any cluster. Work sc, ch 5, sc in same space as joining (1 st  corner made), *ch 3, sc in next space*, repeat * to * 2 more times, ch 3, **work (sc, ch 5, sc) in next space (corner made), *ch 3, sc in next space*, repeat * to * 2 more times, ch 3**, work ** to ** 2 more times, sl st to starting sc.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "round",
          "code": "happily-ever-afghan-square-round-5",
          "label": "Round 5",
          "value": "Slip stitch in next ch-5 sp, ch 3 (counts as 1 dc), in same space work (4 dc, ch 3, 5 dc), *sc in next ch-3 sp, 3dc in next sp, dc in next sc, 3dc in next sp, sc in next sp (5 dc, ch 3, 5 dc) into next ch-5 sp.* Repeat * to * around, ending before last corner and joining with a sl st to top of 1 st  st. Fasten off color 3.",
          "raw_text": "R5: Slip stitch in next ch-5 sp, ch 3 (counts as 1 dc), in same space work (4 dc, ch 3, 5 dc), *sc in next ch-3 sp, 3dc in next sp, dc in next sc, 3dc in next sp, sc in next sp (5 dc, ch 3, 5 dc) into next ch-5 sp.* Repeat * to * around, ending before last corner and joining with a sl st to top of 1 st  st. Fasten off color 3.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 12,
          "row_type": "round",
          "code": "happily-ever-afghan-square-round-6",
          "label": "Round 6",
          "value": "Join main color to any corner space and work ch 1 (1sc, ch 3, 1 sc) in corner. *ch 5, skip 5 dc, 1 dc into next sc, ch 3, skip next 3 dc, 1 sc in next dc, ch 3, skip next 3 dc, 1 dc in next sc, ch 5, skip 5 dc, (1 sc, ch 3, 1 sc) into next corner ch-3 sp*, repeat * to * around, ending before last corner and joining with a sl st to the 1 st  st.",
          "raw_text": "R6: Join main color to any corner space and work ch 1 (1sc, ch 3, 1 sc) in corner. *ch 5, skip 5 dc, 1 dc into next sc, ch 3, skip next 3 dc, 1 sc in next dc, ch 3, skip next 3 dc, 1 dc in next sc, ch 5, skip 5 dc, (1 sc, ch 3, 1 sc) into next corner ch-3 sp*, repeat * to * around, ending before last corner and joining with a sl st to the 1 st  st.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "round",
          "code": "happily-ever-afghan-square-round-7",
          "label": "Round 7",
          "value": "sl st into next ch 3 sp, ch 3 (counts as 1 dc), [2 dc, ch 2, 3 dc] into same space (1 st  corner made), *5 dc into next ch 5 sp, 3 dc into next ch-3 sp, dc in next sc, 3 dc in next ch 3 sp, 5 dc into next ch-5 sp, [3 dc, ch 2, 3 dc] into next ch 3 sp (corner made)*. Repeat * to * around, ending before last corner and joining with a sl stitch to the top of 1 st  st.",
          "raw_text": "R7: sl st into next ch 3 sp, ch 3 (counts as 1 dc), [2 dc, ch 2, 3 dc] into same space (1 st  corner made), *5 dc into next ch 5 sp, 3 dc into next ch-3 sp, dc in next sc, 3 dc in next ch 3 sp, 5 dc into next ch-5 sp, [3 dc, ch 2, 3 dc] into next ch 3 sp (corner made)*. Repeat * to * around, ending before last corner and joining with a sl stitch to the top of 1 st  st.",
          "round_start": 7,
          "round_end": 7,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 14,
          "row_type": "round",
          "code": "happily-ever-afghan-square-round-8",
          "label": "Round 8",
          "value": "In this round, sc in each st around, working 3 sc in each corner. Fasten off yarn.",
          "raw_text": "R8: In this round, sc in each st around, working 3 sc in each corner. Fasten off yarn.",
          "round_start": 8,
          "round_end": 8,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 15,
          "row_type": "info",
          "code": "happily-ever-afghan-square-info-7",
          "label": "Info",
          "value": "Here are the 6 color combinations of the Happily Ever Afghan Block.  Remember to make 7 of each color way.",
          "raw_text": "Here are the 6 color combinations of the Happily Ever Afghan Block.  Remember to make 7 of each color way.",
          "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": "happily-ever-afghan-square-info-8",
          "label": "Info",
          "value": "P urchase an ad-free printable version of the COMPLETE Happily Ever Afghan pattern here!",
          "raw_text": "P urchase an ad-free printable version of the COMPLETE Happily Ever Afghan pattern here!",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 17,
          "row_type": "info",
          "code": "happily-ever-afghan-square-info-9",
          "label": "Info",
          "value": "I love seeing your finished projects! If you enjoyed making this Afghan Block Pattern I’d love to see yours on  Instagram , be sure to tag me @crochet365knittoo.  If you are on Facebook, stop over to the  Crochet 365 Knit Too Facebook page  or pop over to the  Crochet365KnitToo Club  and share a photo!  I’d love to see your work!",
          "raw_text": "I love seeing your finished projects! If you enjoyed making this Afghan Block Pattern I’d love to see yours on  Instagram , be sure to tag me @crochet365knittoo.  If you are on Facebook, stop over to the  Crochet 365 Knit Too Facebook page  or pop over to the  Crochet365KnitToo Club  and share a photo!  I’d love to see your work!",
          "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": "happily-ever-afghan-square-info-10",
          "label": "Info",
          "value": "Be sure to head to the rest of the crochet posts in the series: How to Plan An Afghan How to Crochet a Flat Braid Join How to Plan out and Crochet a beautiful Border",
          "raw_text": "Be sure to head to the rest of the crochet posts in the series: How to Plan An Afghan How to Crochet a Flat Braid Join How to Plan out and Crochet a beautiful Border",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 8,
      "card_type": "important_notes",
      "code": "important-notes",
      "title": "Important Notes",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "note-1",
          "label": "Note",
          "value": "💡 The pattern is written for a US H/8 (5.00 mm) hook with worsted weight yarn, but hook size is more of a starting point than a rule. If your block comes out floppy and gappy, drop to a G/6 (4.00 mm); if it feels stiff like cardboard, go up to an I/9 (5.50 mm). What matters is that all your blocks use the same hook",
          "raw_text": "💡 The pattern is written for a US H/8 (5.00 mm) hook with worsted weight yarn, but hook size is more of a starting point than a rule. If your block comes out floppy and gappy, drop to a G/6 (4.00 mm); if it feels stiff like cardboard, go up to an I/9 (5.50 mm). What matters is that all your blocks use the same hook",
          "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": "💡 Measure your very first finished block and write the number down somewhere you won't lose it. That single measurement determines how many blocks you need for a lap throw, a twin, or a queen — and it's the step that's easiest to skip when you're excited to start block number two",
          "raw_text": "💡 Measure your very first finished block and write the number down somewhere you won't lose it. That single measurement determines how many blocks you need for a lap throw, a twin, or a queen — and it's the step that's easiest to skip when you're excited to start block number two",
          "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": "💡 Use stitch markers in all four corner chain spaces and move them up with each round. It takes three seconds per round and it will save you from discovering a missing corner on round 7 when the square has already gone lopsided",
          "raw_text": "💡 Use stitch markers in all four corner chain spaces and move them up with each round. It takes three seconds per round and it will save you from discovering a missing corner on round 7 when the square has already gone lopsided",
          "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": "💡 Solid-color blocks are dramatically faster than multicolor ones — not because the crocheting is different, but because you never stop to change yarn and you have exactly two ends to weave in per square instead of sixteen. If you're making a big afghan on a deadline, this is where you buy back your time",
          "raw_text": "💡 Solid-color blocks are dramatically faster than multicolor ones — not because the crocheting is different, but because you never stop to change yarn and you have exactly two ends to weave in per square instead of sixteen. If you're making a big afghan on a deadline, this is where you buy back your time",
          "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 this in your bag as a traveling project. One block needs one ball of yarn, one hook and a pair of scissors, and it fits in a small zip pouch. Since the squares are joined at the very end, you can make them anywhere and worry about assembly later",
          "raw_text": "💡 Keep this in your bag as a traveling project. One block needs one ball of yarn, one hook and a pair of scissors, and it fits in a small zip pouch. Since the squares are joined at the very end, you can make them anywhere and worry about assembly later",
          "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": "💡 Block your finished squares before joining them. A quick steam or wet-block evens out any tension differences between the square you made on day one and the square you made on day thirty, and it makes the flat braid join go together far more smoothly",
          "raw_text": "💡 Block your finished squares before joining them. A quick steam or wet-block evens out any tension differences between the square you made on day one and the square you made on day thirty, and it makes the flat braid join go together far more smoothly",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "How many Happily Ever Afghan blocks do I need for a full afghan?",
          "value": "That depends entirely on your finished block size, which is why measuring your first square is so important. As a rough guide, a lap throw usually needs around 20 blocks, a twin-size around 48, and a generous queen around 63. Multiply your block measurement by your desired blanket width and height to get your exact count",
          "raw_text": "That depends entirely on your finished block size, which is why measuring your first square is so important. As a rough guide, a lap throw usually needs around 20 blocks, a twin-size around 48, and a generous queen around 63. Multiply your block measurement by your desired blanket width and height to get your exact count",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How many Happily Ever Afghan blocks do I need for a full afghan?",
          "answer": "That depends entirely on your finished block size, which is why measuring your first square is so important. As a rough guide, a lap throw usually needs around 20 blocks, a twin-size around 48, and a generous queen around 63. Multiply your block measurement by your desired blanket width and height to get your exact count",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Should I make this square in one solid color or in multiple colors?",
          "value": "Honestly, both are gorgeous, and the block was designed to work either way. Solid color makes the stitch texture pop and means almost no ends to weave in, while multicolor gives you that classic cheerful afghan look. If it's a wedding or heirloom gift, solid tends to read as more elegant",
          "raw_text": "Honestly, both are gorgeous, and the block was designed to work either way. Solid color makes the stitch texture pop and means almost no ends to weave in, while multicolor gives you that classic cheerful afghan look. If it's a wedding or heirloom gift, solid tends to read as more elegant",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Should I make this square in one solid color or in multiple colors?",
          "answer": "Honestly, both are gorgeous, and the block was designed to work either way. Solid color makes the stitch texture pop and means almost no ends to weave in, while multicolor gives you that classic cheerful afghan look. If it's a wedding or heirloom gift, solid tends to read as more elegant",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "Do I join the blocks as I go or at the end?",
          "value": "This afghan is designed to be joined at the end, which is exactly what makes it such a good traveling project. You crochet one complete block at a time, stack them up, and then join them all together once you have enough. The flat braid join pairs beautifully with this block's edges",
          "raw_text": "This afghan is designed to be joined at the end, which is exactly what makes it such a good traveling project. You crochet one complete block at a time, stack them up, and then join them all together once you have enough. The flat braid join pairs beautifully with this block's edges",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Do I join the blocks as I go or at the end?",
          "answer": "This afghan is designed to be joined at the end, which is exactly what makes it such a good traveling project. You crochet one complete block at a time, stack them up, and then join them all together once you have enough. The flat braid join pairs beautifully with this block's edges",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "Can I use a different yarn weight than worsted?",
          "value": "Yes, as long as you adjust your hook and stay consistent across every block. A DK or sport weight with a smaller hook makes a lighter, drapier blanket that's lovely for babies and summer, while a bulky yarn on a larger hook works up fast into a chunky throw. Just remember your block size will change, so re-measure before calculating how many you need",
          "raw_text": "Yes, as long as you adjust your hook and stay consistent across every block. A DK or sport weight with a smaller hook makes a lighter, drapier blanket that's lovely for babies and summer, while a bulky yarn on a larger hook works up fast into a chunky throw. Just remember your block size will change, so re-measure before calculating how many you need",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I use a different yarn weight than worsted?",
          "answer": "Yes, as long as you adjust your hook and stay consistent across every block. A DK or sport weight with a smaller hook makes a lighter, drapier blanket that's lovely for babies and summer, while a bulky yarn on a larger hook works up fast into a chunky throw. Just remember your block size will change, so re-measure before calculating how many you need",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/happily-ever-afghan-block-solid-color-square-hero.webp",
    "data/images/happily-ever-afghan-block-solid-color-square-step-2.webp",
    "data/images/happily-ever-afghan-block-solid-color-square-step-3.webp",
    "data/images/happily-ever-afghan-block-solid-color-square-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/happily-ever-afghan-block-solid-color-square-hero.webp",
      "alt": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/happily-ever-afghan-block-solid-color-square-step-2.webp",
      "alt": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/happily-ever-afghan-block-solid-color-square-step-4.webp",
      "alt": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/happily-ever-afghan-block-solid-color-square-step-4.webp",
      "alt": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern — photo 4",
      "is_featured": false
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/happily-ever-afghan-block-solid-color-square-hero.webp",
      "alt": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/happily-ever-afghan-block-solid-color-square-step-2.webp",
      "alt": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/happily-ever-afghan-block-solid-color-square-step-3.webp",
      "alt": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/happily-ever-afghan-block-solid-color-square-step-4.webp",
      "alt": "Happily Ever Afghan Block: A Free Textured Granny Square Pattern — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 4
}