{
  "schema_version": "2.0",
  "page_type": "crochet_pattern_article",
  "source_id": null,
  "slug": "space-granny-square-free-crochet-pattern",
  "title": "Space Granny Square: Free Crochet Pattern for a Saturn-Style Planet Motif",
  "meta_description": "Free space granny square crochet pattern: a textured Saturn-like planet with a crocheted rope ring, sewn onto a 4-round solid granny square. DK yarn, 3.00mm hook, 3.35 inches",
  "published_at": "2026-08-08",
  "updated_at": "2026-08-08",
  "author": "Nora",
  "thumbnail_url": "data/images/space-granny-square-free-crochet-pattern-hero.webp",
  "meta": {
    "title": "Space Granny Square: Free Crochet Pattern for a Mini Rocket Motif",
    "pattern_name": "Space Granny Square: Free Crochet Pattern for a Mini Rocket Motif",
    "difficulty": "Easy",
    "time_needed": "1-2 Hours",
    "rating": 4.7,
    "made_count": "1.2K",
    "taxonomy": {
      "category": "Blankets & Afghans",
      "skill_level": "Easy",
      "yarn_weight": "DK",
      "tags": [
        "granny square",
        "free pattern",
        "space crochet",
        "rocket motif",
        "dk yarn",
        "intarsia square",
        "blanket square",
        "single crochet",
        "kids crochet",
        "scrap yarn",
        "sampler blanket",
        "beginner friendly"
      ]
    }
  },
  "cards": [
    {
      "order": 1,
      "card_type": "hero",
      "code": "hero",
      "title": "Space Granny Square: Free Crochet Pattern for a Saturn-Style Planet Motif",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "hero-info-1",
          "label": "Easy Level",
          "value": "If you can single crochet and decrease, you can make this",
          "raw_text": "If you can single crochet and decrease, you can make this",
          "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": "Under Two Hours",
          "value": "One relaxing evening from first chain to woven ends",
          "raw_text": "One relaxing evening from first chain to woven ends",
          "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": "Space Adventure",
          "value": "A Saturn-style planet with its own dimensional rope ring",
          "raw_text": "A Saturn-style planet with its own dimensional rope ring",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 2,
      "card_type": "about",
      "code": "about",
      "title": "About",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "about-info-1",
          "label": "",
          "value": "This Space Granny Square is a textured, Saturn-like planet worked flat in single crochet rows and then sewn onto a solid granny square base. The planet is built band by band in four yarn colors, each one joined fresh at the edge and fastened off, so nothing is carried across the back. A separate crocheted rope wraps horizontally around the planet's middle to form a dimensional ring. Because the motif is an appliqué, the same attaching method works on plenty of other projects",
          "raw_text": "This Space Granny Square is a textured, Saturn-like planet worked flat in single crochet rows and then sewn onto a solid granny square base. The planet is built band by band in four yarn colors, each one joined fresh at the edge and fastened off, so nothing is carried across the back. A separate crocheted rope wraps horizontally around the planet's middle to form a dimensional ring. Because the motif is an appliqué, the same attaching method works on plenty of other projects",
          "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 stitch list here is short and friendly: chain, single crochet, sc2tog, sc3tog, slip stitch, double crochet for the base square, and working into the back loop of your foundation chain. The real technique to learn is joining new yarn to an existing edge and rotating your work 180 degrees to build outward in the opposite direction. The planet appliqué runs Rows 1 to 11, Row 12 makes the rope, and the base square is 4 rounds. Expect roughly one to two hours, less once you have made two or three",
          "raw_text": "The stitch list here is short and friendly: chain, single crochet, sc2tog, sc3tog, slip stitch, double crochet for the base square, and working into the back loop of your foundation chain. The real technique to learn is joining new yarn to an existing edge and rotating your work 180 degrees to build outward in the opposite direction. The planet appliqué runs Rows 1 to 11, Row 12 makes the rope, and the base square is 4 rounds. Expect roughly one to two hours, less once you have made two or three",
          "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": "Finished at about 3.35 by 3.35 inches in DK weight on a 3.00mm hook, each square is dense, flat, and firm enough to hold its shape without blocking gymnastics. The planet reads clearly from across a room, which makes these fantastic in a multi-square space blanket, a nursery cushion, a bunting string, or stitched onto a denim jacket pocket. A set of nine in navy and silver makes a gift that stops conversation",
          "raw_text": "Finished at about 3.35 by 3.35 inches in DK weight on a 3.00mm hook, each square is dense, flat, and firm enough to hold its shape without blocking gymnastics. The planet reads clearly from across a room, which makes these fantastic in a multi-square space blanket, a nursery cushion, a bunting string, or stitched onto a denim jacket pocket. A set of nine in navy and silver makes a gift that stops conversation",
          "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 for this one the moment the planet started to curve. You begin with a humble chain of 10, work 9 single crochet into the back loops, and then that first sc2tog, 5sc, sc2tog row pulls the edge in so the disc rounds itself off. Suddenly there is a little world on your hook and you did nothing clever to get it there. I love that the whole design is built from joining new yarn at the right stitch and rotating 180 degrees, because it means every horizontal band sits crisp and separate with no muddy carried strands on the back. The sc3tog plus chain 1 that closes each end is my favorite three seconds of the pattern, it snaps the curve shut so neatly. Row 3 is where the highlight band appears and the planet stops looking flat. Then Row 12 gives you the rope: chain 20, 19sc back along the chain, and that plain little cord becomes a Saturn ring the instant you sew it across the middle. Worked in DK on a 3.00mm hook the fabric comes out tight and tidy, so the finished square lies flat straight off the hook. It is a small win you can finish in an evening, and small wins matter",
          "raw_text": "I fell for this one the moment the planet started to curve. You begin with a humble chain of 10, work 9 single crochet into the back loops, and then that first sc2tog, 5sc, sc2tog row pulls the edge in so the disc rounds itself off. Suddenly there is a little world on your hook and you did nothing clever to get it there. I love that the whole design is built from joining new yarn at the right stitch and rotating 180 degrees, because it means every horizontal band sits crisp and separate with no muddy carried strands on the back. The sc3tog plus chain 1 that closes each end is my favorite three seconds of the pattern, it snaps the curve shut so neatly. Row 3 is where the highlight band appears and the planet stops looking flat. Then Row 12 gives you the rope: chain 20, 19sc back along the chain, and that plain little cord becomes a Saturn ring the instant you sew it across the middle. Worked in DK on a 3.00mm hook the fabric comes out tight and tidy, so the finished square lies flat straight off the hook. It is a small win you can finish in an evening, and small wins matter",
          "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 the foundation chain into the wrong loop",
          "value": "Row 1 says to skip 1 chain and work into the back loop of the next 9 chains. Working under both loops or into the front loop gives you a thicker, less flexible base edge that fights the rest of the square. Turn your chain so the bumpy back ridge faces you and insert your hook under that single back bump only",
          "raw_text": "Row 1 says to skip 1 chain and work into the back loop of the next 9 chains. Working under both loops or into the front loop gives you a thicker, less flexible base edge that fights the rest of the square. Turn your chain so the bumpy back ridge faces you and insert your hook under that single back bump only",
          "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 9sc count on the first row",
          "value": "That skipped first chain is easy to forget, so people end up with 10 stitches instead of 9 and every decrease afterward lands one stitch off. Count immediately after Row 1 and re-do it if you are not at exactly 9. Everything else in this pattern depends on that number being right",
          "raw_text": "That skipped first chain is easy to forget, so people end up with 10 stitches instead of 9 and every decrease afterward lands one stitch off. Count immediately after Row 1 and re-do it if you are not at exactly 9. Everything else in this pattern depends on that number being right",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "mistake",
          "code": "mistake-3",
          "label": "Joining new yarn to the wrong end of the edge",
          "value": "The pattern repeatedly says join to the right st, meaning the rightmost stitch of that edge as you look at the work. If you join at the left instead, your rows build in the mirror direction and the highlight band ends up on the wrong side of the planet. Before joining, lay the piece flat, orient it the way the planet should sit, and start on the right",
          "raw_text": "The pattern repeatedly says join to the right st, meaning the rightmost stitch of that edge as you look at the work. If you join at the left instead, your rows build in the mirror direction and the highlight band ends up on the wrong side of the planet. Before joining, lay the piece flat, orient it the way the planet should sit, and start on the right",
          "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": "Skipping the turn-over and rotate-180 instructions",
          "value": "This pattern alternates between turning the work over like a normal row and rotating it a full 180 degrees to work off a different edge. They are not the same move. Turning flips front to back, rotating spins the piece in place. Row 6 is the rotate, so read each line carefully and say the move out loud before you make it",
          "raw_text": "This pattern alternates between turning the work over like a normal row and rotating it a full 180 degrees to work off a different edge. They are not the same move. Turning flips front to back, rotating spins the piece in place. Row 6 is the rotate, so read each line carefully and say the move out loud before you make it",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "mistake",
          "code": "mistake-5",
          "label": "Making the sc3tog too loose",
          "value": "The sc3tog in Rows 5 and 10 is what closes each end of the planet. If you work it with loose tension you get a gaping hole instead of a crisp curve. Pull each of the three loops snug as you draw them up, then yarn over and pull through all four loops in one firm motion",
          "raw_text": "The sc3tog in Rows 5 and 10 is what closes each end of the planet. If you work it with loose tension you get a gaping hole instead of a crisp curve. Pull each of the three loops snug as you draw them up, then yarn over and pull through all four loops in one firm motion",
          "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": "Cutting the fasten-off tails too short",
          "value": "There are at least six fasten-off points in this square, which means a lot of ends on the back. Short tails on a dense single crochet fabric work loose over time, especially in a blanket that gets washed. Leave 5 to 6 inches every time and weave each one back through the same color section so nothing shows on the front. The two tails on the Row 12 rope are the exception, leave those long because you sew with them",
          "raw_text": "There are at least six fasten-off points in this square, which means a lot of ends on the back. Short tails on a dense single crochet fabric work loose over time, especially in a blanket that gets washed. Leave 5 to 6 inches every time and weave each one back through the same color section so nothing shows on the front. The two tails on the Row 12 rope are the exception, leave those long because you sew with them",
          "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 —4 colors; the sample is made with DK Sports. The finished granny square is about 3.35 inches by 3.35 inches.",
              "raw_text": "Yarn of your choice —4 colors; the sample is made with DK Sports. The finished granny square is about 3.35 inches by 3.35 inches."
            },
            {
              "order": 2,
              "row_type": "item",
              "code": "mat-1-2",
              "label": "",
              "value": "Crochet hook- we are using a 3.00mm hook",
              "raw_text": "Crochet hook- we are using a 3.00mm hook"
            },
            {
              "order": 3,
              "row_type": "item",
              "code": "mat-1-3",
              "label": "",
              "value": "Darning Needle",
              "raw_text": "Darning Needle"
            },
            {
              "order": 4,
              "row_type": "item",
              "code": "mat-1-4",
              "label": "",
              "value": "Scissors",
              "raw_text": "Scissors"
            }
          ]
        }
      ],
      "rows": []
    },
    {
      "order": 7,
      "card_type": "abbreviations",
      "code": "abbreviations",
      "title": "Abbreviations",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "abbrev",
          "code": "abbrev-ch",
          "label": "ch",
          "value": "chain stitch",
          "raw_text": "ch = chain stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch",
          "meaning": "chain stitch"
        },
        {
          "order": 2,
          "row_type": "abbrev",
          "code": "abbrev-ch-sp",
          "label": "ch-sp",
          "value": "chain space",
          "raw_text": "ch-sp = chain space",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "ch-sp",
          "meaning": "chain space"
        },
        {
          "order": 3,
          "row_type": "abbrev",
          "code": "abbrev-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-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": 5,
          "row_type": "abbrev",
          "code": "abbrev-hdc",
          "label": "hdc",
          "value": "half double crochet",
          "raw_text": "hdc = half double crochet",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "hdc",
          "meaning": "half double crochet"
        },
        {
          "order": 6,
          "row_type": "abbrev",
          "code": "abbrev-sc2tog",
          "label": "sc2tog",
          "value": "single crochet 2 stitches together",
          "raw_text": "sc2tog = single crochet 2 stitches together",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc2tog",
          "meaning": "single crochet 2 stitches together"
        },
        {
          "order": 7,
          "row_type": "abbrev",
          "code": "abbrev-sc3tog",
          "label": "sc3tog",
          "value": "single crochet 3 stitches together",
          "raw_text": "sc3tog = single crochet 3 stitches together",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "sc3tog",
          "meaning": "single crochet 3 stitches together"
        },
        {
          "order": 8,
          "row_type": "abbrev",
          "code": "abbrev-rep",
          "label": "rep",
          "value": "repeat",
          "raw_text": "rep = repeat",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "rep",
          "meaning": "repeat"
        },
        {
          "order": 9,
          "row_type": "abbrev",
          "code": "abbrev-st",
          "label": "st",
          "value": "stitch",
          "raw_text": "st = stitch",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "st",
          "meaning": "stitch"
        },
        {
          "order": 10,
          "row_type": "abbrev",
          "code": "abbrev-slst-/-sl-st",
          "label": "slst / sl st",
          "value": "slip stitch for joining different rounds",
          "raw_text": "slst / sl st = slip stitch for joining different rounds",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "slst / sl st",
          "meaning": "slip stitch for joining different rounds"
        },
        {
          "order": 11,
          "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": 12,
          "row_type": "abbrev",
          "code": "abbrev-inc",
          "label": "inc",
          "value": "increase",
          "raw_text": "inc = increase",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "inc",
          "meaning": "increase"
        },
        {
          "order": 13,
          "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": 14,
          "row_type": "abbrev",
          "code": "abbrev-bl",
          "label": "BL",
          "value": "back loop",
          "raw_text": "BL = back loop",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "BL",
          "meaning": "back loop"
        },
        {
          "order": 15,
          "row_type": "abbrev",
          "code": "abbrev-blo",
          "label": "BLO",
          "value": "back loop only",
          "raw_text": "BLO = back loop only",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "BLO",
          "meaning": "back loop only"
        },
        {
          "order": 16,
          "row_type": "abbrev",
          "code": "abbrev-fl",
          "label": "FL",
          "value": "front loop",
          "raw_text": "FL = front loop",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": "FL",
          "meaning": "front loop"
        }
      ]
    },
    {
      "order": 8,
      "card_type": "part",
      "code": "main-pattern",
      "title": "The Planet",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "main-pattern-info-6",
          "label": "About this section",
          "value": "This section makes the planet appliqué: a textured planet with horizontal bands, encircled by a dimensional rope ring, all worked flat in single crochet rows and sewn onto a solid granny square base afterwards. Each band is a new yarn color joined at the edge and fastened off, so nothing is carried across the back.",
          "raw_text": "The Planet — A textured planet with horizontal bands, encircled by a dimensional braided rope ring on a granny square base.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "main-pattern-round-1",
          "label": "Row 1",
          "value": "Knot, ch10. Return, sk1, BL of next 9 ch: 9sc.",
          "raw_text": "Row 1 Knot, ch10. Return, sk1, BL of next 9 ch: 9sc.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": 9,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "main-pattern-round-2",
          "label": "Row 2",
          "value": "Turn Over. ch1 to start, sc2tog, 5sc, sc2tog, sl st in final st, fasten off.",
          "raw_text": "Row 2 Turn Over. ch1 to start, sc2tog, 5sc, sc2tog, sl st in final st, fasten off.",
          "round_start": 2,
          "round_end": 2,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "info",
          "code": "main-pattern-info-7",
          "label": "Row 3 adds the highlight",
          "value": "Add some highlight: the new yarn you join for Row 3 becomes a visible highlight band across the planet, so pick a color that contrasts with the row below it.",
          "raw_text": "Row 3 – Add some highlight",
          "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": "Row 3",
          "value": "Join new yarn to the right st, ch1+1sc, 6sc, sl st in final st, fasten off.",
          "raw_text": "Row 3 Join new yarn to the right st, ch1+1sc, 6sc, sl st in final st, fasten off.",
          "round_start": 3,
          "round_end": 3,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "round",
          "code": "main-pattern-info-1",
          "label": "Row 4",
          "value": "Join new yarn to the right st, ch1 to start. sc2tog, 3sc, sc2tog.",
          "raw_text": "Row 4 Join new yarn to the right st, ch1 to start. sc2tog, 3sc, sc2tog.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "round",
          "code": "main-pattern-round-5",
          "label": "Row 5",
          "value": "Turn Over. ch1, sk the first st, sc3tog+ch1, slst to next st, fasten off.",
          "raw_text": "Row 5 Turn Over. ch1, sk the first st, sc3tog+ch1, slst to next st, fasten off.",
          "round_start": 5,
          "round_end": 5,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 8,
          "row_type": "round",
          "code": "main-pattern-info-2",
          "label": "Row 6",
          "value": "Rotate 180 degrees. Join new yarn to the right st. ch1+1sc, 8sc.",
          "raw_text": "Row 6 Rotate 180 degrees. Join new yarn to the right st. ch1+1sc, 8sc.",
          "round_start": 6,
          "round_end": 6,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 9,
          "row_type": "info",
          "code": "main-pattern-info-8",
          "label": "Step by step",
          "value": "Step by step: rotate the work 180 degrees so the free edge of the foundation row is at the top; join new yarn to the right st; ch1+1sc, then 8sc across.",
          "raw_text": "Rotate 180 degrees. Join new yarn to the right st. / ch1+1sc, 8sc.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 10,
          "row_type": "round",
          "code": "main-pattern-round-7",
          "label": "Row 7",
          "value": "Turn Over. ch1 to start, sc2tog, 5sc, sc2tog, slst in final st, fasten off.",
          "raw_text": "Row 7 Turn Over. ch1 to start, sc2tog, 5sc, sc2tog, slst in final st, fasten off.",
          "round_start": 7,
          "round_end": 7,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 11,
          "row_type": "round",
          "code": "main-pattern-round-8",
          "label": "Row 8",
          "value": "Join new yarn to right st, ch1+1sc, 6sc, slst in final st, fasten off.",
          "raw_text": "Row 8 Join new yarn to right st, ch1+1sc, 6sc, slst in final st, fasten off.",
          "round_start": 8,
          "round_end": 8,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 12,
          "row_type": "round",
          "code": "main-pattern-info-3",
          "label": "Row 9",
          "value": "Join new yarn to the right st, ch1 to start. sc2tog, 3sc, sc2tog.",
          "raw_text": "Row 9 Join new yarn to the right st, ch1 to start. sc2tog, 3sc, sc2tog.",
          "round_start": 9,
          "round_end": 9,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 13,
          "row_type": "round",
          "code": "main-pattern-round-10",
          "label": "Row 10",
          "value": "Turn over. ch1, sk the first st, sc3tog+ch1, slst to next st.",
          "raw_text": "Row 10 Turn over. ch1, sk the first st, sc3tog+ch1, slst to next st.",
          "round_start": 10,
          "round_end": 10,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 14,
          "row_type": "round",
          "code": "main-pattern-round-11",
          "label": "Round 11",
          "value": "Turn Over. ch1. sc along the whole round edge, join to the first sc, fasten off.",
          "raw_text": "Round 11 Turn Over. ch1. sc along the whole round edge, join to the first sc, fasten off.",
          "round_start": 11,
          "round_end": 11,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 15,
          "row_type": "info",
          "code": "main-pattern-info-9",
          "label": "Row 12 makes the rope",
          "value": "Crochet a rope: Row 12 is worked separately from the planet. It becomes the dimensional ring that sits horizontally across the planet's middle, so leave both tails long enough to sew with.",
          "raw_text": "Row 12- crochet a rope",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 16,
          "row_type": "round",
          "code": "main-pattern-info-4",
          "label": "Row 12",
          "value": "Pick a new yarn, knot, ch20, return, sk1, BL of next 19ch: 19sc, fasten off. Leave both tails for attachment.",
          "raw_text": "Row 12 Pick a new yarn, knot, ch20, return, sk1, BL of next 19ch: 19sc, fasten off. Leave both tails for attachment.",
          "round_start": 12,
          "round_end": 12,
          "is_range": false,
          "stitch_count": 19,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 17,
          "row_type": "info",
          "code": "main-pattern-info-5",
          "label": "Next",
          "value": "With the planet and the rope finished, make a solid granny square as the background base piece. The full round-by-round instructions for it are in the next section.",
          "raw_text": "Crochet a Solid Granny Square as Base Piece",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 9,
      "card_type": "part",
      "code": "part-2",
      "title": "Solid Granny Square Base Piece",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "info",
          "code": "part-2-info-5",
          "label": "About this section",
          "value": "The background is a 4-round solid granny square worked in double crochet from a magic loop. Make it in your space-background color, then sew the planet appliqué and the rope onto it.",
          "raw_text": "Crochet a Solid Granny Square as Base Piece — make a Solid Granny Square as the background.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "round",
          "code": "part-2-info-1",
          "label": "Round 1",
          "value": "Start with a magic loop. ch3 as a standing st(count as 1dc). 3dc, ch3. *(4dc, ch3) * rep 3 times omitting final ch3, ch1, 1hdc connects back to your starting ch3.",
          "raw_text": "Round 1: Start with a magic loop. ch3 as a standing st(count as 1dc). 3dc, ch3. *(4dc, ch3) * rep 3 times omitting final ch3, ch1, 1hdc connects back to your starting ch3.",
          "round_start": 1,
          "round_end": 1,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "round",
          "code": "part-2-round-2-3",
          "label": "Round 2-3",
          "value": "ch3(counts as dc), 1dc in this corner. (2dc+ch3+2dc) in remaining corners. 1dc in remaining sts. 2dc in the start corner. ch1, 1hdc connect back to the first ch3.",
          "raw_text": "Round 2-3: ch3(counts as dc), 1dc in this corner. (2dc+ch3+2dc) in remaining corners. 1dc in remaining sts. 2dc in the start corner. ch1, 1hdc connect back to the first ch3.",
          "round_start": 2,
          "round_end": 3,
          "is_range": true,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "round",
          "code": "part-2-round-4",
          "label": "Round 4",
          "value": "ch3 as a standing st(count as 1dc), 1dc in this corner sp. (2dc+ch3+2dc) in remaining corners. 1dc in remaining sts. 2dc in the starting corner, ch3, sl st to the true dc after first ch3, fasten off.",
          "raw_text": "Round 4: ch3 as a standing st(count as 1dc), 1dc in this corner sp. (2dc+ch3+2dc) in remaining corners. 1dc in remaining sts. 2dc in the starting corner, ch3, sl st to the true dc after first ch3, fasten off.",
          "round_start": 4,
          "round_end": 4,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "info",
          "code": "part-2-info-2",
          "label": "Assemble",
          "value": "Assemble: with the planet appliqué, the rope, and the solid granny square base all finished, sew the two pieces onto the square in the order below.",
          "raw_text": "Assemble",
          "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": "part-2-info-3",
          "label": "Attach the planet",
          "value": "Position the appliqué at the center of the base square. Using a darning needle and matching yarn, stitch through the back loops of the appliqué and into the base piece, sewing around the entire edge to secure it firmly.",
          "raw_text": "Position the appliqué at the center of the base square. Using a darning needle and matching yarn, stitch through the back loops of the appliqué and into the base piece, sewing around the entire edge to secure it firmly.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        },
        {
          "order": 7,
          "row_type": "info",
          "code": "part-2-info-4",
          "label": "Attach the rope ring",
          "value": "Position the crochet rope horizontally around the planet's middle to form a dimensional ring. Stitch through the rope's back loops and into the base to secure it firmly.",
          "raw_text": "Position the crochet rope horizontally around the planet's middle to form a dimensional ring. Stitch through the rope's back loops and into the base to secure it firmly.",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 10,
      "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 3.00mm hook is deliberately small for DK weight. That tight gauge is what keeps the square firm and flat at about 3.35 by 3.35 inches. If your fabric feels floppy or you can see through it, drop down half a size rather than adding rounds",
          "raw_text": "💡 The 3.00mm hook is deliberately small for DK weight. That tight gauge is what keeps the square firm and flat at about 3.35 by 3.35 inches. If your fabric feels floppy or you can see through it, drop down half a size rather than adding rounds",
          "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": "💡 Wind off four small butterflies of yarn before you start, one per color, instead of working from four full skeins. With this many separate joins you will thank yourself for not untangling a pile of balls halfway through",
          "raw_text": "💡 Wind off four small butterflies of yarn before you start, one per color, instead of working from four full skeins. With this many separate joins you will thank yourself for not untangling a pile of balls halfway through",
          "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": "💡 Place a stitch marker in the rightmost stitch of each edge before you fasten off. When you come back to join new yarn, the marker tells you exactly where right is, which is the single most common place people go wrong",
          "raw_text": "💡 Place a stitch marker in the rightmost stitch of each edge before you fasten off. When you come back to join new yarn, the marker tells you exactly where right is, which is the single most common place people go wrong",
          "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": "💡 Weave in each tail as soon as you fasten off rather than saving them all for the end, but leave the two Row 12 rope tails long because you sew the ring on with them. The darning needle in your materials list is there for exactly this",
          "raw_text": "💡 Weave in each tail as soon as you fasten off rather than saving them all for the end, but leave the two Row 12 rope tails long because you sew the ring on with them. The darning needle in your materials list is there for exactly this",
          "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": "💡 If you are making a batch for a blanket, make all the first-color sections of every square first, then all the second-color sections, and so on. Assembly-line style cuts your total time significantly and keeps your tension consistent across squares",
          "raw_text": "💡 If you are making a batch for a blanket, make all the first-color sections of every square first, then all the second-color sections, and so on. Assembly-line style cuts your total time significantly and keeps your tension consistent across squares",
          "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": "💡 A light steam block with the iron hovering above the fabric, never touching it, will square up the corners nicely before you join squares together. Acrylic will flatten permanently under direct heat, so keep the iron a good inch away",
          "raw_text": "💡 A light steam block with the iron hovering above the fabric, never touching it, will square up the corners nicely before you join squares together. Acrylic will flatten permanently under direct heat, so keep the iron a good inch away",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": null,
          "answer": null,
          "abbr": null,
          "meaning": null
        }
      ]
    },
    {
      "order": 11,
      "card_type": "faq",
      "code": "faq",
      "title": "FAQ",
      "raw_heading": "",
      "quantity": 1,
      "groups": [],
      "rows": [
        {
          "order": 1,
          "row_type": "faq",
          "code": "faq-1",
          "label": "Do I need to know intarsia or tapestry",
          "value": "No, and that is the whole appeal. Every color is joined and fastened off separately rather than carried behind the work, so you never manage two strands at once. The trade-off is more ends to weave in, but the back stays clean and the color bands stay sharp",
          "raw_text": "No, and that is the whole appeal. Every color is joined and fastened off separately rather than carried behind the work, so you never manage two strands at once. The trade-off is more ends to weave in, but the back stays clean and the color bands stay sharp",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Do I need to know intarsia or tapestry crochet for this square?",
          "answer": "No, and that is the whole appeal. Every color is joined and fastened off separately rather than carried behind the work, so you never manage two strands at once. The trade-off is more ends to weave in, but the back stays clean and the color bands stay sharp",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 2,
          "row_type": "faq",
          "code": "faq-2",
          "label": "Why did my color bands end up mirrored?",
          "value": "You almost certainly joined new yarn to the left stitch of an edge instead of the right one. The pattern specifies joining to the right st every time, and joining on the opposite side mirrors the whole build direction. Lay the piece flat in the orientation you want before each join",
          "raw_text": "You almost certainly joined new yarn to the left stitch of an edge instead of the right one. The pattern specifies joining to the right st every time, and joining on the opposite side mirrors the whole build direction. Lay the piece flat in the orientation you want before each join",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Why did my color bands end up mirrored?",
          "answer": "You almost certainly joined new yarn to the left stitch of an edge instead of the right one. The pattern specifies joining to the right st every time, and joining on the opposite side mirrors the whole build direction. Lay the piece flat in the orientation you want before each join",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 3,
          "row_type": "faq",
          "code": "faq-3",
          "label": "Can I use worsted weight instead of DK?",
          "value": "Yes, keep every stitch count exactly the same and move up to a 4.00mm or 4.50mm hook. Your finished square will be closer to 4.5 inches instead of 3.35. Just make sure every square in a project uses the same yarn and hook so they all match",
          "raw_text": "Yes, keep every stitch count exactly the same and move up to a 4.00mm or 4.50mm hook. Your finished square will be closer to 4.5 inches instead of 3.35. Just make sure every square in a project uses the same yarn and hook so they all match",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I use worsted weight instead of DK?",
          "answer": "Yes, keep every stitch count exactly the same and move up to a 4.00mm or 4.50mm hook. Your finished square will be closer to 4.5 inches instead of 3.35. Just make sure every square in a project uses the same yarn and hook so they all match",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 4,
          "row_type": "faq",
          "code": "faq-4",
          "label": "How many squares do I need for a baby blanket?",
          "value": "3.35 inches per square, a 30 by 36 inch baby blanket needs roughly 9 across by 11 down, so about 99 squares. Most people alternate planet squares with plain solid squares, which cuts the motif count to around 50 and gives the design breathing room",
          "raw_text": "3.35 inches per square, a 30 by 36 inch baby blanket needs roughly 9 across by 11 down, so about 99 squares. Most people alternate planet squares with plain solid squares, which cuts the motif count to around 50 and gives the design breathing room",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "How many squares do I need for a baby blanket?",
          "answer": "3.35 inches per square, a 30 by 36 inch baby blanket needs roughly 9 across by 11 down, so about 99 squares. Most people alternate planet squares with plain solid squares, which cuts the motif count to around 50 and gives the design breathing room",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 5,
          "row_type": "faq",
          "code": "faq-5",
          "label": "What is the sc3tog and how is it different from sc2tog?",
          "value": "An sc2tog draws up loops from two stitches and closes them into one, while sc3tog does the same across three stitches. In this pattern the sc3tog appears twice, in Row 5 and Row 10, where it pulls three stitches into a single point to close each end of the planet. Keep your tension firm so those points close crisply",
          "raw_text": "An sc2tog draws up loops from two stitches and closes them into one, while sc3tog does the same across three stitches. In this pattern the sc3tog appears twice, in Row 5 and Row 10, where it pulls three stitches into a single point to close each end of the planet. Keep your tension firm so those points close crisply",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "What is the sc3tog and how is it different from sc2tog?",
          "answer": "An sc2tog draws up loops from two stitches and closes them into one, while sc3tog does the same across three stitches. In this pattern the sc3tog appears twice, in Row 5 and Row 10, where it pulls three stitches into a single point to close each end of the planet. Keep your tension firm so those points close crisply",
          "abbr": null,
          "meaning": null
        },
        {
          "order": 6,
          "row_type": "faq",
          "code": "faq-6",
          "label": "Can I use this motif on something other",
          "value": "Yes. The planet and rope are worked as a separate appliqué and sewn on afterwards, so the same attaching method works on a plain square, a cushion cover, a hat, or a jacket pocket. Any flat, firm fabric will hold it",
          "raw_text": "Yes. The planet and rope are worked as a separate appliqué and sewn on afterwards, so the same attaching method works on a plain square, a cushion cover, a hat, or a jacket pocket. Any flat, firm fabric will hold it",
          "round_start": null,
          "round_end": null,
          "is_range": false,
          "stitch_count": null,
          "question": "Can I use this motif on something other than a granny square?",
          "answer": "Yes. The planet and rope are worked as a separate appliqué and sewn on afterwards, so the same attaching method works on a plain square, a cushion cover, a hat, or a jacket pocket. Any flat, firm fabric will hold it",
          "abbr": null,
          "meaning": null
        }
      ]
    }
  ],
  "conflicts": [],
  "validation_warnings": [],
  "images": [
    "data/images/space-granny-square-free-crochet-pattern-hero.webp",
    "data/images/space-granny-square-free-crochet-pattern-step-2.webp",
    "data/images/space-granny-square-free-crochet-pattern-step-3.webp",
    "data/images/space-granny-square-free-crochet-pattern-step-4.webp"
  ],
  "source_url": null,
  "thumbnail_images": [
    {
      "url": "data/images/space-granny-square-free-crochet-pattern-hero.webp",
      "alt": "Space Granny Square: Free Crochet Pattern for a Saturn-Style Planet Motif — photo 1",
      "is_featured": true
    }
  ],
  "gallery_images": [
    {
      "url": "data/images/space-granny-square-free-crochet-pattern-hero.webp",
      "alt": "Space Granny Square: Free Crochet Pattern for a Saturn-Style Planet Motif — photo 1",
      "is_featured": true
    },
    {
      "url": "data/images/space-granny-square-free-crochet-pattern-step-2.webp",
      "alt": "Space Granny Square: Free Crochet Pattern for a Saturn-Style Planet Motif — photo 2",
      "is_featured": false
    },
    {
      "url": "data/images/space-granny-square-free-crochet-pattern-step-3.webp",
      "alt": "Space Granny Square: Free Crochet Pattern for a Saturn-Style Planet Motif — photo 3",
      "is_featured": false
    },
    {
      "url": "data/images/space-granny-square-free-crochet-pattern-step-4.webp",
      "alt": "Space Granny Square: Free Crochet Pattern for a Saturn-Style Planet Motif — photo 4",
      "is_featured": false
    }
  ],
  "_sanitized_holiday_count": 2
}