{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "textured-solid-granny-square",
  "title": "Textured Solid Granny Square – Free Crochet Pattern",
  "meta_description": "Learn to crochet a textured solid granny square with invisible standing stitches, a front-post diamond center, and a neat gap-free finish — free 7-round pattern",
  "published_at": "2026-07-17",
  "updated_at": "2026-07-17",
  "author": "Ruby",
  "thumbnail_url": "data/images/textured-solid-granny-square-hero.webp",
  "meta": {
    "title": "Textured Solid Granny Square – Free Crochet Pattern",
    "pattern_name": "Textured Solid Granny Square – Free Crochet Pattern",
    "difficulty": "Intermediate",
    "time_needed": "1-2 Hours",
    "rating": 4.8,
    "made_count": "1.4K",
    "taxonomy": {
      "category": "Granny Squares",
      "skill_level": "Intermediate",
      "yarn_weight": "DK",
      "tags": [
        "granny square",
        "solid granny square",
        "textured crochet",
        "free crochet pattern",
        "invisible standing stitch",
        "two-color crochet",
        "crochet square",
        "blanket square",
        "crochet motif",
        "modern granny square",
        "home decor crochet"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Textured Solid Granny Square – Free Crochet Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Intermediate Level",
          "value": "Comfortable with double crochet rounds and simple color changes — the invisible standing stitch and the front post diamond stitch are the only new tricks",
          "raw_text": "Comfortable with double crochet rounds and simple color changes — the invisible standing stitch and the front post diamond stitch are the only new tricks",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "hero-info-2",
          "label": "Quick Evening Make",
          "value": "About 1–2 hours of cozy stitching per square",
          "raw_text": "About 1–2 hours of cozy stitching per 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": "Blanket Builder",
          "value": "A stackable, seam-friendly motif perfect for throws, cushions, and handmade gifts",
          "raw_text": "A stackable, seam-friendly motif perfect for throws, cushions, and handmade gifts",
          "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": "If you love the classic granny square but wish it had a little more substance, this textured solid granny square is about to become your new favorite motif. Instead of the usual open lacework, every round is filled in with dense, touchable texture, giving you a sturdy square with beautiful raised detail. Worked here in serene teal and crisp white, it's perfect for crocheters who want their squares to feel modern and polished — whether you're building a blanket, a cushion cover, or a whole set of coordinated home accents",
          "raw_text": "If you love the classic granny square but wish it had a little more substance, this textured solid granny square is about to become your new favorite motif. Instead of the usual open lacework, every round is filled in with dense, touchable texture, giving you a sturdy square with beautiful raised detail. Worked here in serene teal and crisp white, it's perfect for crocheters who want their squares to feel modern and polished — whether you're building a blanket, a cushion cover, or a whole set of coordinated home accents",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "about-info-2",
          "label": "",
          "value": "The pattern is built over 7 rounds and leans on a few clever techniques that elevate the finish: a chain-5 loop foundation, classic 3-dc corner groups with ch-2 spaces, and — my favorite — the invisible standing stitch, which replaces the usual chain-3 so each round starts without that telltale seam. The signature white diamond in the center is created using four front post treble 2 together stitches, adding an elegant raised dimension that looks harder than it is. If you're comfortable with double crochet and basic color changes, you're ready; the standing stitch only takes a try or two before it clicks. Expect a single square to take about one to two relaxed hours",
          "raw_text": "The pattern is built over 7 rounds and leans on a few clever techniques that elevate the finish: a chain-5 loop foundation, classic 3-dc corner groups with ch-2 spaces, and — my favorite — the invisible standing stitch, which replaces the usual chain-3 so each round starts without that telltale seam. The signature white diamond in the center is created using four front post treble 2 together stitches, adding an elegant raised dimension that looks harder than it is. If you're comfortable with double crochet and basic color changes, you're ready; the standing stitch only takes a try or two before it clicks. Expect a single square to take about one to two relaxed hours",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "info",
          "code": "about-info-3",
          "label": "",
          "value": "The finished square measures approximately 3.35 × 3.35 inches — a tidy, blanket-friendly size that joins beautifully into larger projects. The solid, textured fabric has real body to it: no gaps, no see-through spots, just crisp rounds of contrasting color that catch the light. Stitch a stack in your favorite palette and you have the makings of an heirloom throw, a set of coasters, or a thoughtful handmade gift that looks far more complicated than it actually is",
          "raw_text": "The finished square measures approximately 3.35 × 3.35 inches — a tidy, blanket-friendly size that joins beautifully into larger projects. The solid, textured fabric has real body to it: no gaps, no see-through spots, just crisp rounds of contrasting color that catch the light. Stitch a stack in your favorite palette and you have the makings of an heirloom throw, a set of coasters, or a thoughtful handmade gift that looks far more complicated than it actually is",
          "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've made hundreds of granny squares over the years, and this one genuinely changed how I start every round. The invisible standing stitch — where you work a simple sc, insert your hook into its left vertical loop, and build the stitch up so it counts as a dc — completely erases that chunky chain-3 seam we've all learned to squint past. The first time I joined round 2 with a slip stitch to the top of the standing stitch and honestly couldn't find where the round began, I laughed out loud. Beyond that clever trick, the solid construction is deeply satisfying: 3-dc groups marching around ch-2 corners, no lacy holes, just dense, squishy texture under your fingers. The two-color rhythm keeps things interesting — teal, white, teal, white — and each round finishes fast enough that 'just one more' quietly turns into a completed square. At 7 rounds you're done, ends woven with your darning needle, and holding a motif that looks polished from both sides",
          "raw_text": "I've made hundreds of granny squares over the years, and this one genuinely changed how I start every round. The invisible standing stitch — where you work a simple sc, insert your hook into its left vertical loop, and build the stitch up so it counts as a dc — completely erases that chunky chain-3 seam we've all learned to squint past. The first time I joined round 2 with a slip stitch to the top of the standing stitch and honestly couldn't find where the round began, I laughed out loud. Beyond that clever trick, the solid construction is deeply satisfying: 3-dc groups marching around ch-2 corners, no lacy holes, just dense, squishy texture under your fingers. The two-color rhythm keeps things interesting — teal, white, teal, white — and each round finishes fast enough that 'just one more' quietly turns into a completed square. At 7 rounds you're done, ends woven with your darning needle, and holding a motif that looks polished from both sides",
          "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": "Once you've mastered the base square, this pattern is endlessly customizable. Color play is the obvious place to start: the teal-and-white pairing is fresh and coastal — like ocean waves meeting white sand — but sage green with cream gives a soft botanical feel, terracotta with oatmeal reads warm and rustic, and navy with white is forever classic. The textured stitches look amazing in any contrasting color pair. For a bolder look, alternate three colors across the 7 rounds instead of two — say charcoal, mustard, and cream — so no two neighboring rounds ever match. Sizing up is simple because solid granny squares grow predictably: every additional round adds one more 3-dc group along each side, so keep going past round 7 until you reach coaster size (stop around round 5 in cotton), potholder size (9–10 rounds), or a full cushion front (14–16 rounds). Yarn choice changes everything, too. The sample works up to about 3.35 inches, so a DK like Paintbox Simply DK keeps that dainty scale, while worsted-weight Basic Stitch on a 5 mm hook gives you a chunkier 4.5–5 inch square that fills a blanket fast. For coasters and potholders, a sturdy cotton such as Lily Sugar'n Cream holds the raised texture beautifully crisp. Seasonal sets are a lovely rabbit hole as well: pumpkin and cream for autumn, icy blue and snow white for winter, lilac and mint for spring, coral and sand for summer. Make 36 worsted squares and you'll have enough for a generous baby blanket — just slip-stitch them together through the back loops for a tidy ridge seam",
          "raw_text": "Once you've mastered the base square, this pattern is endlessly customizable. Color play is the obvious place to start: the teal-and-white pairing is fresh and coastal — like ocean waves meeting white sand — but sage green with cream gives a soft botanical feel, terracotta with oatmeal reads warm and rustic, and navy with white is forever classic. The textured stitches look amazing in any contrasting color pair. For a bolder look, alternate three colors across the 7 rounds instead of two — say charcoal, mustard, and cream — so no two neighboring rounds ever match. Sizing up is simple because solid granny squares grow predictably: every additional round adds one more 3-dc group along each side, so keep going past round 7 until you reach coaster size (stop around round 5 in cotton), potholder size (9–10 rounds), or a full cushion front (14–16 rounds). Yarn choice changes everything, too. The sample works up to about 3.35 inches, so a DK like Paintbox Simply DK keeps that dainty scale, while worsted-weight Basic Stitch on a 5 mm hook gives you a chunkier 4.5–5 inch square that fills a blanket fast. For coasters and potholders, a sturdy cotton such as Lily Sugar'n Cream holds the raised texture beautifully crisp. Seasonal sets are a lovely rabbit hole as well: pumpkin and cream for autumn, icy blue and snow white for winter, lilac and mint for spring, coral and sand for summer. Make 36 worsted squares and you'll have enough for a generous baby blanket — just slip-stitch them together through the back loops for a tidy ridge seam",
          "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": "Not counting the invisible standing",
          "value": "The sc-plus-vertical-loop trick at the start of each round stands in for a full dc, so your first corner group is that standing stitch plus only 2 more dc — not 3. If you work a full 3-dc group after it, every side ends up one stitch too wide and the square ruffles. Count the standing stitch as stitch number one, always",
          "raw_text": "The sc-plus-vertical-loop trick at the start of each round stands in for a full dc, so your first corner group is that standing stitch plus only 2 more dc — not 3. If you work a full 3-dc group after it, every side ends up one stitch too wide and the square ruffles. Count the standing stitch as stitch number one, always",
          "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": "Joining the round to the wrong stitch",
          "value": "Each round closes with a slip stitch into its very first stitch — the top of the invisible standing stitch on the dc rounds, or the first sc on rounds 5 and 7. Joining one stitch off makes the rounds spiral and leaves a visible stair-step up one side. Before you join, trace back to that very first stitch of the round; marking it when you make it removes all guesswork",
          "raw_text": "Each round closes with a slip stitch into its very first stitch — the top of the invisible standing stitch on the dc rounds, or the first sc on rounds 5 and 7. Joining one stitch off makes the rounds spiral and leaves a visible stair-step up one side. Before you join, trace back to that very first stitch of the round; marking it when you make it removes all guesswork",
          "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": "Losing the ch-2 corner spaces",
          "value": "In a solid square the corners are the only open spaces, and it's easy to accidentally work into them as if they were regular stitches — or skip one entirely. Miss a corner and your square drifts toward a lopsided blob. Drop a stitch marker into each ch-2 space as you make it and only work your corner groups into marked spaces",
          "raw_text": "In a solid square the corners are the only open spaces, and it's easy to accidentally work into them as if they were regular stitches — or skip one entirely. Miss a corner and your square drifts toward a lopsided blob. Drop a stitch marker into each ch-2 space as you make it and only work your corner groups into marked spaces",
          "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": "Changing colors in the wrong spot or with stingy tails",
          "value": "This pattern fastens off at the end of rounds 4, 5 and 6, and each new round tells you exactly where to join the new color — the right-most dc or sc stitch of one side. Join anywhere else and the whole round shifts, leaving an obvious blip in the texture. Leave at least a 6-inch tail on both yarns; with a color change nearly every round, short tails will pop free of the dense fabric later",
          "raw_text": "This pattern fastens off at the end of rounds 4, 5 and 6, and each new round tells you exactly where to join the new color — the right-most dc or sc stitch of one side. Join anywhere else and the whole round shifts, leaving an obvious blip in the texture. Leave at least a 6-inch tail on both yarns; with a color change nearly every round, short tails will pop free of the dense fabric 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": "mistake",
          "code": "mistake-6",
          "label": "Working the textured rounds too tightly",
          "value": "Dense, gap-free stitches tempt you to yank your tension, but an overtight square cups like a bowl and ends up smaller than the 3.35-inch target. Let each dc sit at its natural height, and if a finished square still curls, a light steam block over a towel will settle the texture flat without flattening the raised detail",
          "raw_text": "Dense, gap-free stitches tempt you to yank your tension, but an overtight square cups like a bowl and ends up smaller than the 3.35-inch target. Let each dc sit at its natural height, and if a finished square still curls, a light steam block over a towel will settle the texture flat without flattening the raised detail",
          "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",
              "raw_text": "Yarn of your choice- 2 colors"
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "Crochet hook",
              "raw_text": "Crochet hook"
            },
            {
              "order": 3,
              "row_type": "item",
              "code": "mat-1-3",
              "label": "",
              "value": "Darning Needle",
              "raw_text": "Darning Needle"
            },
            {
              "order": 4,
              "row_type": "item",
              "code": "mat-1-4",
              "label": "",
              "value": "Scissors",
              "raw_text": "Scissors"
            }
          ]
        }
      ],
      "rows": []
    },
    {
      "order": 7,
      "card_type": "abbreviations",
      "code": "abbreviations",
      "title": "Abbreviations",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "abbrev",
          "code": "abbrev-ch",
          "label": "ch",
          "value": "chain stitch",
          "raw_text": "ch = chain stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain stitch"
        },
        {
          "order": 2,
          "row_type": "abbrev",
          "code": "abbrev-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-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": 4,
          "row_type": "abbrev",
          "code": "abbrev-tr",
          "label": "tr",
          "value": "treble crochet",
          "raw_text": "tr = treble crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "tr",
          "meaning": "treble crochet"
        },
        {
          "order": 5,
          "row_type": "abbrev",
          "code": "abbrev-tog",
          "label": "tog",
          "value": "together",
          "raw_text": "tog = together",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "tog",
          "meaning": "together"
        },
        {
          "order": 6,
          "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": 7,
          "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,
          "row_type": "abbrev",
          "code": "abbrev-st",
          "label": "st",
          "value": "stitch",
          "raw_text": "st = stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "st",
          "meaning": "stitch"
        },
        {
          "order": 9,
          "row_type": "abbrev",
          "code": "abbrev-yo",
          "label": "yo",
          "value": "yarn over",
          "raw_text": "yo = yarn over",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "yo",
          "meaning": "yarn over"
        },
        {
          "order": 10,
          "row_type": "abbrev",
          "code": "abbrev-sk",
          "label": "sk",
          "value": "skip",
          "raw_text": "sk = skip",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sk",
          "meaning": "skip"
        },
        {
          "order": 11,
          "row_type": "abbrev",
          "code": "abbrev-fp",
          "label": "FP",
          "value": "front post",
          "raw_text": "FP = front post",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "FP",
          "meaning": "front post"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "Main Pattern",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "round",
          "code": "main-pattern-round-1",
          "label": "Round 1",
          "value": "ch5, sl st to the first ch.",
          "raw_text": "Round 1 ch5, sl st to the first ch.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "main-pattern-round-1-steps",
          "label": "Step by step",
          "value": "Start with a knot. ch5. Sl st to the first ch to form a loop.",
          "raw_text": "Start with a knot. ch5. Sl st to the first ch to form a loop.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "main-pattern-round-2",
          "label": "Round 2",
          "value": "invisible standing st(count as dc)+2dc, ch2, [3dc, ch2] repeat 3 times, sl st to the top of the invisible standing st.",
          "raw_text": "Round 2 invisible standing st(count as dc)+2dc, ch2, [3dc, ch2] repeat 3 times, sl st to the top of the invisible standing st.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "instruction",
          "code": "main-pattern-round-2-steps",
          "label": "Steps",
          "value": "ch1 as a standing st. sc in the loop. Insert the hook into the left vertical loop of the previous sc. Then, complete another sc, and this is an invisible standing st (count as 1dc). dc in the loop. dc in the loop, ch2. [3dc, ch2] repeat 3 times, sl st to the top of the invisible standing st.",
          "raw_text": "ch1 as a standing st. sc in the loop. Insert the hook into the left vertical loop of the previous sc. Then, complete another sc, and this is an invisible standing st (count as 1dc). dc in the loop. dc in the loop, ch2. [3dc, ch2] repeat 3 times, sl st to the top of the invisible standing st.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "round",
          "code": "main-pattern-round-3",
          "label": "Round 3",
          "value": "invisible standing st(count as dc), 2dc, 2dc+ch2+2dc in next ch-sp, [3dc, 2dc+ch2+2dc in next ch-sp] repeat 3 times, sl st to the top of the invisible standing st.",
          "raw_text": "Round 3 invisible standing st(count as dc), 2dc, 2dc+ch2+2dc in next ch-sp, [3dc, 2dc+ch2+2dc in next ch-sp] repeat 3 times, sl st to the top of the invisible standing st.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "instruction",
          "code": "main-pattern-round-3-steps",
          "label": "Steps",
          "value": "ch1 as a standing st. sc in the same st. Insert the hook into the left vertical loop of the previous sc, and complete another sc to create an invisible standing st (count as dc). dc in the next 2 sts, 2dc+ch2+2dc in the next ch-sp. [3dc, 2dc+ch2+2dc in the next ch-sp] repeat 3 times, sl st to the top of the invisible standing st.",
          "raw_text": "ch1 as a standing st. sc in the same st. Insert the hook into the left vertical loop of the previous sc, and complete another sc to create an invisible standing st (count as dc). dc in the next 2 sts, 2dc+ch2+2dc in the next ch-sp. [3dc, 2dc+ch2+2dc in the next ch-sp] repeat 3 times, sl st to the top of the invisible standing st.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "round",
          "code": "main-pattern-round-4",
          "label": "Round 4",
          "value": "invisible standing st(count as dc), 4dc, 2dc+ch2+2dc in next corner, 2dc, [5dc, 2dc+ch2+2dc in next corner, 2dc] repeat 3 times, sl st to the top of the invisible standing st, fasten off.",
          "raw_text": "Round 4 invisible standing st(count as dc), 4dc, 2dc+ch2+2dc in next corner, 2dc, [5dc, 2dc+ch2+2dc in next corner, 2dc] repeat 3 times, sl st to the top of the invisible standing st, fasten off.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "instruction",
          "code": "main-pattern-round-4-steps",
          "label": "Steps",
          "value": "ch1 as a standing st. sc in the same st. Insert the hook into the left vertical loop of the previous sc. Then, complete another sc, and this is an invisible standing st (count as 1dc). dc in the next st. dc in the next 3 sts, 2dc+ch2+2dc in the next corner space, dc in the next 2 sts. [5dc, 2dc+ch2+2dc in the next corner space, 2dc] repeat 3 times, sl st to the top of the invisible standing st, fasten off.",
          "raw_text": "ch1 as a standing st. sc in the same st. Insert the hook into the left vertical loop of the previous sc. Then, complete another sc, and this is an invisible standing st (count as 1dc). dc in the next st. dc in the next 3 sts, 2dc+ch2+2dc in the next corner space, dc in the next 2 sts. [5dc, 2dc+ch2+2dc in the next corner space, 2dc] repeat 3 times, sl st to the top of the invisible standing st, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "info",
          "code": "main-pattern-round-5-about",
          "label": "About this round",
          "value": "This round begins the raised detail: the white diamond in the center of the square is created using four front post treble 2 together stitches (FPtr2tog), worked around the dc posts from round 3, adding an elegant dimension.",
          "raw_text": "This round begins the raised detail: the white diamond in the center of the square is created using four front post treble 2 together stitches (FPtr2tog), worked around the dc posts from round 3, adding an elegant dimension.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "info",
          "code": "main-pattern-round-5-fptr2tog",
          "label": "FPtr2tog how-to",
          "value": "How to make the front post treble 2 together stitch (FPtr2tog): it is made based on 2 incomplete FPtr. First, locate the stitch posts — identify the posts of the two double crochet (dc) from the previous round. Make the first incomplete FPtr around the right target dc post: yo twice; from the right side of the workpiece, insert the hook horizontally from right to left (for right-handed crocheters) around the post of the target right dc post — don't insert through the top of the stitch like a regular tr. Yo, pull up a loop (4 loops on hook). Yo, pull through 2 loops (3 loops remain). Yo, pull through 2 loops (2 loops remain). Make the second incomplete FPtr around the left target dc post: yo twice, insert the hook horizontally from right to left around the post of the target left dc post, yo and pull up a loop, yo and pull through 2 loops, yo and pull through 2 loops. Once finished, there are 3 loops on your hook: yo and pull through all 3 loops to finish the FPtr2tog.",
          "raw_text": "How to make the front post treble 2 together stitch (FPtr2tog): it is made based on 2 incomplete FPtr. First, locate the stitch posts — identify the posts of the two double crochet (dc) from the previous round. Make the first incomplete FPtr around the right target dc post: yo twice; from the right side of the workpiece, insert the hook horizontally from right to left (for right-handed crocheters) around the post of the target right dc post — don't insert through the top of the stitch like a regular tr. Yo, pull up a loop (4 loops on hook). Yo, pull through 2 loops (3 loops remain). Yo, pull through 2 loops (2 loops remain). Make the second incomplete FPtr around the left target dc post: yo twice, insert the hook horizontally from right to left around the post of the target left dc post, yo and pull up a loop, yo and pull through 2 loops, yo and pull through 2 loops. Once finished, there are 3 loops on your hook: yo and pull through all 3 loops to finish the FPtr2tog.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "round",
          "code": "main-pattern-round-5",
          "label": "Round 5",
          "value": "New yarn in the right-most dc st, ch1+sc, 4sc, FPtr2tog on the left-most and right-most dc posts of one side of round 3, sk1, 5sc, sc+ch2+sc in next corner, [5sc, FPtr2tog, sk1, 5sc, sc+ch2+sc in next corner] repeat 3 times, sl st to the first sc, fasten off.",
          "raw_text": "Round 5 New yarn in the right-most dc st, ch1+sc, 4sc, FPtr2tog on the left-most and right-most dc posts of one side of round 3, sk1, 5sc, sc+ch2+sc in next corner, [5sc, FPtr2tog, sk1, 5sc, sc+ch2+sc in next corner] repeat 3 times, sl st to the first sc, fasten off.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 12,
          "row_type": "instruction",
          "code": "main-pattern-round-5-steps",
          "label": "Steps",
          "value": "Add new yarn in the right-most dc st of one side. ch1 as a standing st. sc in the same st. sc in the next 4 sts. Mark the two dc stitches in the corner space from round 3 (two darning needles work well as markers). Work FPtr2tog based on these two marked dc posts. sk1, sc in the next 5 sts, sc+ch2+sc in the next corner space. [5sc, FPtr2tog, sk1, 5sc, sc+ch2+sc in the next corner space] repeat 3 times, sl st to the first sc, fasten off.",
          "raw_text": "Add new yarn in the right-most dc st of one side. ch1 as a standing st. sc in the same st. sc in the next 4 sts. Mark the two dc stitches in the corner space from round 3 (two darning needles work well as markers). Work FPtr2tog based on these two marked dc posts. sk1, sc in the next 5 sts, sc+ch2+sc in the next corner space. [5sc, FPtr2tog, sk1, 5sc, sc+ch2+sc in the next corner space] repeat 3 times, sl st to the first sc, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "round",
          "code": "main-pattern-round-6",
          "label": "Round 6",
          "value": "New yarn in the right-most sc st, invisible standing st (count as dc), 12dc, 2dc+ch2+2dc in next corner, [13dc, 2dc+ch2+2dc in next corner] repeat 3 times, sl st to the top of the invisible standing st, fasten off.",
          "raw_text": "Round 6 New yarn in the right-most sc st, invisible standing st (count as dc), 12dc, 2dc+ch2+2dc in next corner, [13dc, 2dc+ch2+2dc in next corner] repeat 3 times, sl st to the top of the invisible standing st, fasten off.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 14,
          "row_type": "instruction",
          "code": "main-pattern-round-6-steps",
          "label": "Steps",
          "value": "Add new yarn in the right-most sc st. Work an invisible standing st (count as dc). dc in the next st. dc in the next 11 sts, 2dc+ch2+2dc in the next corner space. [13dc, 2dc+ch2+2dc in the next corner space] repeat 3 times, sl st to the top of the invisible standing st, fasten off.",
          "raw_text": "Add new yarn in the right-most sc st. Work an invisible standing st (count as dc). dc in the next st. dc in the next 11 sts, 2dc+ch2+2dc in the next corner space. [13dc, 2dc+ch2+2dc in the next corner space] repeat 3 times, sl st to the top of the invisible standing st, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 15,
          "row_type": "round",
          "code": "main-pattern-round-7",
          "label": "Round 7",
          "value": "New yarn in the right-most dc st, ch1+sc, 7sc, dc in the tog st from round 5, sk1, 8sc, sc+ch2+sc in next corner space, [8sc, dc in the tog st, sk1, 8sc, sc+ch2+sc in next corner] repeat 3 times, sl st to the first sc, fasten off.",
          "raw_text": "Round 7 New yarn in the right-most dc st, ch1+sc, 7sc, dc in the tog st from round 5, sk1, 8sc, sc+ch2+sc in next corner space, [8sc, dc in the tog st, sk1, 8sc, sc+ch2+sc in next corner] repeat 3 times, sl st to the first sc, fasten off.",
          "round_start": 7,
          "round_end": 7,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 16,
          "row_type": "instruction",
          "code": "main-pattern-round-7-steps",
          "label": "Steps",
          "value": "Join new yarn into the right-most dc st. ch1 as a standing st. sc in the same st. sc in the next 7 sts. Mark the tog st from round 5, then work 1dc in this tog st. sk1, sc in the next 8 sts, sc+ch2+sc in the next corner space. [8sc, dc in the tog st, sk1, 8sc, sc+ch2+sc in the next corner space] repeat 3 times, sl st to the first sc, fasten off.",
          "raw_text": "Join new yarn into the right-most dc st. ch1 as a standing st. sc in the same st. sc in the next 7 sts. Mark the tog st from round 5, then work 1dc in this tog st. sk1, sc in the next 8 sts, sc+ch2+sc in the next corner space. [8sc, dc in the tog st, sk1, 8sc, sc+ch2+sc in the next corner space] repeat 3 times, sl st to the first sc, fasten off.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 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 label's recommendation — the 3.35-inch sample uses a lighter-weight yarn, so a DK with a 3.5–4 mm hook keeps that scale, while worsted on a 5 mm hook yields a roomier 4.5–5 inch square. Just keep the same combo across every square you plan to join",
          "raw_text": "💡 Match your hook to your yarn label's recommendation — the 3.35-inch sample uses a lighter-weight yarn, so a DK with a 3.5–4 mm hook keeps that scale, while worsted on a 5 mm hook yields a roomier 4.5–5 inch square. Just keep the same combo across every square you plan to join",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "info",
          "code": "note-2",
          "label": "Note",
          "value": "💡 Place a stitch marker in each ch-2 corner space the moment you make it. Solid squares have no other openings to orient by, and marked corners make it impossible to skew a round",
          "raw_text": "💡 Place a stitch marker in each ch-2 corner space the moment you make it. Solid squares have no other openings to orient by, and marked corners make it impossible to skew a round",
          "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": "💡 Practice the invisible standing stitch on scrap yarn before starting: sc, insert the hook into the left vertical loop of that sc, then complete the stitch. Two or three practice runs and it becomes automatic",
          "raw_text": "💡 Practice the invisible standing stitch on scrap yarn before starting: sc, insert the hook into the left vertical loop of that sc, then complete the stitch. Two or three practice runs and it becomes automatic",
          "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": "💡 With two colors alternating across 7 rounds, plan your ends: leave 6-inch tails, and weave each one with the darning needle through same-color stitches only, changing direction twice so the dense fabric locks it in",
          "raw_text": "💡 With two colors alternating across 7 rounds, plan your ends: leave 6-inch tails, and weave each one with the darning needle through same-color stitches only, changing direction twice so the dense fabric locks it in",
          "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": "💡 Count your stitches at the end of every round and check them against the instruction line — for example, each side of round 6 should hold 13 dc between the corner groups. Catching a miscount immediately beats frogging three rounds later",
          "raw_text": "💡 Count your stitches at the end of every round and check them against the instruction line — for example, each side of round 6 should hold 13 dc between the corner groups. Catching a miscount immediately beats frogging three rounds 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": "💡 If you're making squares for a blanket, block them all to the same measurement before joining. Even small tension drifts between squares show up at the seams, and a quick pin-and-steam session makes every motif identical",
          "raw_text": "💡 If you're making squares for a blanket, block them all to the same measurement before joining. Even small tension drifts between squares show up at the seams, and a quick pin-and-steam session makes every motif identical",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "note-7",
          "label": "Note",
          "value": "💡 Gauge: the completed textured solid granny square measures approximately 3.35 × 3.35 inches. Make one test square first and measure it before committing to a full set",
          "raw_text": "💡 Gauge: the completed textured solid granny square measures approximately 3.35 × 3.35 inches. Make one test square first and measure it before committing to a full set",
          "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 is an invisible standing stitch",
          "value": "It's a seamless way to start a round: you work a single crochet, insert your hook into its left vertical loop, and complete another stitch so the pair stands in for a double crochet. Unlike a chain-3, it blends into the round completely, so the finished square has no visible starting seam on any round",
          "raw_text": "It's a seamless way to start a round: you work a single crochet, insert your hook into its left vertical loop, and complete another stitch so the pair stands in for a double crochet. Unlike a chain-3, it blends into the round completely, so the finished square has no visible starting seam on any round",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What is an invisible standing stitch, and why does this pattern use it?",
          "answer": "It's a seamless way to start a round: you work a single crochet, insert your hook into its left vertical loop, and complete another stitch so the pair stands in for a double crochet. Unlike a chain-3, it blends into the round completely, so the finished square has no visible starting seam on any round",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Can I make this square in just one color?",
          "value": "Absolutely — the raised texture is baked into the stitch pattern, so a single shade shows it off as gentle tonal relief. You'll also skip most of the end-weaving, which makes one-color squares noticeably faster to finish",
          "raw_text": "Absolutely — the raised texture is baked into the stitch pattern, so a single shade shows it off as gentle tonal relief. You'll also skip most of the end-weaving, which makes one-color squares noticeably faster to finish",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I make this square in just one color?",
          "answer": "Absolutely — the raised texture is baked into the stitch pattern, so a single shade shows it off as gentle tonal relief. You'll also skip most of the end-weaving, which makes one-color squares noticeably faster to finish",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "What yarn should I use, and how big will my square turn out?",
          "value": "Any two contrasting colors in the same weight work. The sample measures about 3.35 × 3.35 inches over 7 rounds in a lighter yarn; a worsted weight with a 5 mm hook lands closer to 4.5–5 inches. If you're combining many squares, make one test square first and use it as your gauge reference",
          "raw_text": "Any two contrasting colors in the same weight work. The sample measures about 3.35 × 3.35 inches over 7 rounds in a lighter yarn; a worsted weight with a 5 mm hook lands closer to 4.5–5 inches. If you're combining many squares, make one test square first and use it as your gauge reference",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What yarn should I use, and how big will my square turn out?",
          "answer": "Any two contrasting colors in the same weight work. The sample measures about 3.35 × 3.35 inches over 7 rounds in a lighter yarn; a worsted weight with a 5 mm hook lands closer to 4.5–5 inches. If you're combining many squares, make one test square first and use it as your gauge reference",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "How do I join these squares into a blanket?",
          "value": "Block every square to the same size first, then slip-stitch or whip-stitch them together through the back loops with your darning needle. The solid, gap-free edges give you a full row of stitches to seam into, so joins look clean from the front",
          "raw_text": "Block every square to the same size first, then slip-stitch or whip-stitch them together through the back loops with your darning needle. The solid, gap-free edges give you a full row of stitches to seam into, so joins look clean from the front",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How do I join these squares into a blanket?",
          "answer": "Block every square to the same size first, then slip-stitch or whip-stitch them together through the back loops with your darning needle. The solid, gap-free edges give you a full row of stitches to seam into, so joins look clean from the front",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "Why is my square ruffling or refusing to lie flat?",
          "value": "The usual culprits are working a full 3-dc group after the invisible standing stitch (one stitch too many per side) or crocheting the dense rounds too tightly so the square cups. Recount your groups against the previous round, relax your tension, and steam block — most waviness disappears entirely",
          "raw_text": "The usual culprits are working a full 3-dc group after the invisible standing stitch (one stitch too many per side) or crocheting the dense rounds too tightly so the square cups. Recount your groups against the previous round, relax your tension, and steam block — most waviness disappears entirely",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Why is my square ruffling or refusing to lie flat?",
          "answer": "The usual culprits are working a full 3-dc group after the invisible standing stitch (one stitch too many per side) or crocheting the dense rounds too tightly so the square cups. Recount your groups against the previous round, relax your tension, and steam block — most waviness disappears entirely",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/textured-solid-granny-square-hero.webp",
    "data/images/textured-solid-granny-square-step-2.webp",
    "data/images/textured-solid-granny-square-step-3.webp",
    "data/images/textured-solid-granny-square-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/textured-solid-granny-square-hero.webp",
      "alt": "Textured Solid Granny Square – Free Crochet Pattern — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/textured-solid-granny-square-hero.webp",
      "alt": "Textured Solid Granny Square – Free Crochet Pattern — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/textured-solid-granny-square-step-2.webp",
      "alt": "Textured Solid Granny Square – Free Crochet Pattern — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/textured-solid-granny-square-step-3.webp",
      "alt": "Textured Solid Granny Square – Free Crochet Pattern — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/textured-solid-granny-square-step-4.webp",
      "alt": "Textured Solid Granny Square – Free Crochet Pattern — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 1
}