Free Pattern Step-by-Step Crochet

Spring garden granny square bag with puff stitch flowers

A granny square bag with puff stitch flowers, joined panels, and crocheted straps.

Level
Intermediate
Time
6-9 hours
Hook
4 mm
Yarn
Worsted
Spring garden granny square bag with puff stitch flowers

Pattern highlights

  1. Each flower square starts with puff stitch petals worked in rounds until it reaches its finished size.
  2. An invisible join finishes every round so the color change blends instead of standing out.
  3. Finished squares get whip stitched together on the right side to form the bag's front and back panels.
  4. A long strip of single crochet forms the flat gusset that gives the bag its depth.
  5. Single crochet rounds worked around the top opening tidy the edge and shape it for the straps.
  6. Two straps are crocheted separately, then attached once the body and gusset are seamed together.

About This Pattern

A granny square flower bag earns its own shelf in my notebook. I keep a running list of projects built from motifs rather than rows. This one leans hard into that approach. The puff stitch petals give it texture you can feel across a room, not just see. It sits somewhere between a market tote and a statement bag. That is exactly the kind of project I note down for later. Garden-themed squares come up often enough that I now track which puff stitch counts work best.

The techniques here do real work. A puff stitch built from four yarn overs and nine loops gives each petal its dimension. The invisible join hides where every round actually ends. I like that the standing-stitch join lets a new color start without a bump. There is no slip knot showing on the right side. The whip stitch seam between squares reads as nearly invisible once blocked. None of these are flashy tricks; they are the quiet engineering that makes flower squares look effortless.

What comes out the other end is a structured tote. It has a flat gusset base, a seamed body, and two crocheted straps worked back and forth. Cotton yarn holds the shape without sagging, which matters once the bag carries anything heavier than knitting notions. The gusset sets the depth. Single crochet rounds at the top clean up the opening. The straps attach once everything else is finished. It reads as a proper bag, not just a big square with handles.

Worth knowing

What I like about this one is the rhythm the puff stitch sets up. Four yarn overs, nine loops, one pull through, then a chain to close. Once your hands learn that sequence, it stops feeling fussy. It starts feeling like crochet on autopilot. The invisible join satisfies me in a different way. It is a small trick that removes a tell-tale bump. I always notice when a pattern bothers to include that step. Whip stitching the squares together is slow but meditative. Blocking afterward makes the seam nearly disappear. By the time I reach the gusset and straps, the bag already looks finished. That is the real payoff: technique stacked on technique until the whole thing reads as effortless.

Common mistakes

  • Pulling the puff stitch too tight Keep tension loose on all four loops before you pull through nine loops at once. Tight tension makes that final pull-through a real struggle.
  • Skipping the invisible join If you fasten off without mimicking a stitch, the round start is easy to spot. Take the extra minute with the tapestry needle; it is worth it.
  • Whip stitching the squares unevenly Uneven tension in the seam pulls the whole panel out of square. Pull gently every few stitches instead of cinching the whole seam at the end.
  • Not swatching before starting the gusset A flat gusset worked over many rows magnifies any gauge drift. Check your gauge swatch first, since a small hook change fixes most sizing problems.
  • Joining a new color with a slip knot A visible slip knot bump stands out against clean single crochet rows. Use a standing stitch instead so the new color starts without extra bulk.
Ruby

The story behind Stitch Obsession, and Ruby, who writes and tests every pattern on the shelf.

Intermediate

The kit

  1. Cotton yarn gives this bag the structure it needs to hold its shape. Here are some options that work beautifully:
  2. Lily Sugar’n Cream offers firm cotton with excellent structure for bags. Paintbox Cotton Aran provides smooth stitch definition and comes in tons of colors. Knit Picks Dishie is durable cotton with good body.
  3. You can substitute any worsted cotton or cotton blend that meets gauge after blocking. I recommend avoiding very stretchy acrylic for the straps unless you plan to add lining or webbing reinforcement.

Yarn

  1. Worsted weight cotton or cotton blend yarn, approximately 680 yards (622 meters) total

Sage main color

  1. 420 yards (384 meters)

Flower colors

  1. 40 to 60 yards (37 to 55 meters) each in 5 to 6 colors

Hook

  1. US G/6 (4 mm) crochet hook, or whatever size you need to match gauge

Notions

  1. Tapestry needle
  2. Locking stitch markers
  3. Scissors
  4. Pins
  5. Blocking mat

Optional extras

  1. Fabric lining for durability
  2. Magnetic snap for closure
  3. 1 button for the mini pouch

Optional extras

Fabric lining for durability Magnetic snap for closure 1 button for the mini pouch Yarn Recommendations

Cotton yarn gives this bag the structure it needs to hold its shape. Here are some options that work beautifully:

Lily Sugar’n Cream offers firm cotton with excellent structure for bags. Paintbox Cotton Aran provides smooth stitch definition and comes in tons of colors. Knit Picks Dishie is durable cotton with good body.

You can substitute any worsted cotton or cotton blend that meets gauge after blocking. I recommend avoiding very stretchy acrylic for the straps unless you plan to add lining or webbing reinforcement.

Gauge Information Getting your gauge right matters for this project. Your finished bag dimensions depend on it.

Gauge: 18 single crochet (sc) and 20 rows equals 4 inches (10 cm) in firm single crochet, blocked.

Square checkpoint: One completed flower square, after Round 5 and blocking, should measure 4.5 inches (11.5 cm).

Take time to make a gauge swatch before diving in. If your squares come out too big, try a smaller hook. Too small? Go up a hook size.

Finished Dimensions Your completed Spring Garden tote will measure approximately: 13.5 inches wide (34 cm)

15 inches tall (38 cm)

3.5 inches deep (9 cm)

This does not include the strap drop, which adds about 9 inches (23 cm).

Stitch Abbreviations and Definitions

Let me explain every stitch you will use in this pattern. Even if you know these already, it helps to review the specific definitions.

ch = chain: Yarn over, pull through the loop on your hook. This creates the foundation for most crochet work. ch-sp = chain space: The gap or hole created by a chain in the previous row or round.

dc = double crochet: Yarn over, insert hook, yarn over and pull up a loop, yarn over and pull through 2 loops, yarn over and pull through remaining 2 loops. Creates a taller stitch.

hdc = half double crochet: Yarn over, insert hook, yarn over and pull up a loop, yarn over and pull through all 3 loops at once. rep = repeat: Work the instructions again as directed. rnd = round: One complete trip around your work when crocheting in the round.

RS = right side: The front or public side of your work.

sc = single crochet: Insert hook, yarn over and pull up a loop, yarn over and pull through both loops. The most basic crochet stitch.

sl st = slip stitch: Insert hook, yarn over and pull through both the stitch and the loop on your hook in one motion. Used for joining and moving yarn position. sp = space: A gap in your work, usually created by chains. st(s) = stitch(es): Individual loops of crochet.

WS = wrong side: The back or inside of your work. yo = yarn over: Wrap the yarn around your hook from back to front.

UK crocheters note: US sc equals UK dc. US dc equals UK tr.

Special Stitches These techniques give your flower squares their signature look.

Puff Petal This creates those gorgeous puffy flower petals. Here is exactly how to make one:

Yarn over, insert hook in the indicated stitch or space, yarn over and pull up a loop. Repeat this sequence 3 more times (4 total yarn overs and pull ups). You will have 9 loops on your hook. Yarn over and pull through all loops on hook. Chain 1 to close the puff.

The puff looks complicated but becomes rhythmic once you get going. Keep your tension loose enough that pulling through all those loops does not feel like a struggle.

Standing Single Crochet This lets you join a new color cleanly without the bulk of a slip knot showing.

Make a slip knot on your hook. Insert hook in the indicated stitch. Yarn over and pull up a loop. Yarn over and pull through both loops.

Invisible Join This technique makes your round endings look seamless, like they never ended at all.

Cut yarn, pull the tail through your final stitch. Thread the tail onto your tapestry needle. Insert the needle under both loops of the first stitch of the round. Bring the needle back down through the center of the final stitch. This mimics a stitch perfectly.

Mattress Seam for Squares This creates a nearly invisible seam between your granny squares.

Hold both pieces with the right sides facing up. Working with your tapestry needle, catch the outer loops or inside bars of matching edge stitches. Pull gently every few stitches to close the seam. Keep tension even throughout.

How to Make the Flower Square Motif

You will make 18 of these squares total. Use varied petal colors for that garden style mix. Block every single square to 4.5 inches (11.5 cm) before joining them together.

Round 1Flower Center With your flower center color (yellow, pink, or white), make a magic ring. Chain 1. Work 12 single crochet into the ring. Join with a slip stitch to the first single crochet.Stitch count: 12 sc

Round 2Petals Join your petal color. Chain 1. Work 1 puff petal in each single crochet around. Join to the first petal’s closing chain.Stitch count: 12 petals, 12 chain spaces

Round 3First Border Join sage in any chain space. Treat this space as a corner. *Work (3 dc, ch 2, 3 dc) in the corner space. Chain 1. Work 3 dc in the next space. Chain 1. Work 3 dc in the next space. Chain 1.* Repeat from * to * 3 more times (4 times total). Join.Stitch count: 48 dc, 8 ch-1 spaces, 4 ch-2 corners

Round 4Second Border Chain 1. In each corner ch-2 space, work (2 sc, ch 2, 2 sc). Work 1 sc in each dc and 1 sc in each ch-1 space around. Join.Stitch count: 72 sc, 4 corner spaces

Round 5Final Border Chain 1. In each corner ch-2 space, work (2 sc, ch 2, 2 sc). Work 1 sc in each sc around. Join invisibly. Fasten off.Stitch count: 88 sc, 4 corner spaces (22 sc per side)

Motif Checkpoint

Before moving on, verify your square. Each side should have 22 single crochet between corners. A row of 3 squares should measure about 13.5 inches (34 cm) after blocking and seaming.

Assembling the Bag Panels Now comes the fun part where your individual squares become something bigger.

Arrange 9 squares for the front panel and 9 squares for the back panel. Each panel uses a 3 wide by 3 tall grid layout. Mix your flower colors so no two identical flowers sit directly next to each other.

Joining Method

You have two options depending on the seam look you prefer. Place two squares right sides together for a hidden seam, or right sides up for a visible decorative seam.

Match the 22 edge stitches on one square to the 22 edge stitches on the next square. Sew or slip stitch through corresponding stitches. Keep your corners aligned and do not seam into the ch-2 corner spaces unless you are closing a panel corner.

Seaming Order

Join the vertical seams first (3 vertical joins per panel). Then join the horizontal seams (3 horizontal joins per panel). Each panel has 6 short internal seams total.

Panel Checkpoint

Each finished panel should measure about 13.5 inches wide by 13.5 inches tall (34 by 34 cm) before adding the top band. The outside perimeter of each panel stays open for attaching the gusset and top band.

Creating the Gusset

The gusset gives your bag depth and structure. It runs from the top of one side, down, across the bottom, and up the other side.

Part 4

Round 1With sage, chain 17. Single crochet in the 2nd chain from hook and in each chain across. Chain 1, turn.Stitch count: 16 sc

Round 2through 203 Single crochet in each stitch across. Chain 1, turn after every row except the final row.Stitch count: 16 sc per row (approximately 40.5 inches or 103 cm long total)

Attaching the Gusset

Pin the gusset starting from the top left edge of your front panel. Continue down the side, across the bottom, and up the opposite side. The 16 row width creates the bag depth. Seam in place. Repeat for the back panel.

Part 5

Round 1Join sage at the back top center. Single crochet evenly around the top opening: 66 across the front, 66 across the back, 16 across each gusset end. Join.Stitch count: 164 sc

Round 2Chain 1. Single crochet around, decreasing 4 stitches evenly spaced. Join. Stitch count: 160 sc

Round 3through 8 Chain 1. Single crochet in each stitch around. Join each round. Fasten off after Round 8.Stitch count: 160 sc Making the Straps Make 2 straps using these instructions.Chain 11.

Part 6

Round 1Single crochet in the 2nd chain from hook and in each chain across. (10 sc)

Round 2through 80: Chain 1, turn. Single crochet in each stitch across. (10 sc) Edging: Single crochet evenly around all strap edges, working 3 sc in each corner for smooth turning. Fasten off.

Attaching the Straps

Position each strap on the inside of the top band, about 3 inches (7.5 cm) from the side seams. For maximum durability, sew a 2 inch (5 cm) rectangle with an X inside the rectangle. This distributes the weight and prevents the straps from pulling loose.

Your finished strap drop should be approximately 9 inches (23 cm).

Optional Matching Mini Pouch

This little pouch coordinates perfectly with your tote. Use it for stitch markers, cards, earbuds, or small essentials.

Body Row 1

With sage, chain 25. Single crochet in the 2nd chain from hook and in each chain across. Chain 1, turn.

Stitch count: 24 sc

Round 2through 42 Single crochet in each stitch across. Chain 1, turn. Stitch count: 24 sc

Folding and Seaming

Fold the lower 28 rows upward to create the pocket portion, leaving 14 rows for the flap. Seam both sides closed.

Pocket depth: approximately 2.8 inches (7 cm)

Flap Edging Single crochet evenly around the flap. At the center point, work chain 6 to create a button loop.

Flower Accent

Make Rounds 1 and 2 of the flower motif only and sew it to the pouch flap. Add a button to the pouch front so the ch-6 loop closes neatly over it.

Finishing Your Bag Almost done! These final steps make a real difference in how polished your bag looks.

Weave in all yarn ends on the wrong side. Take your time with this step.

Steam lightly or wet block the entire bag to square up the panels and calm any seam puckering.

For bags that will carry heavy items, consider adding a fabric lining. It protects the crochet and adds durability.

For an extra crisp upper edge, sew grosgrain ribbon or cotton webbing just inside the top band before attaching the straps.

Care Instructions Your cotton bag will last for years with proper care.

Hand wash in cool water. Reshape while damp and dry flat. Cotton bags may stretch when wet, so support the full bag while lifting and drying. Never hang it by the straps while wet.

Troubleshooting Common Issues

Even experienced crocheters run into problems sometimes. Here are solutions for the most common ones.

Squares are different sizes: Block all squares to the same 4.5 inch (11.5 cm) measurement before joining. Blocking works wonders.

Panel ripples or waves: Check that each seam joins exactly 22 stitches to 22 stitches. Also verify that corner spaces are not accidentally crowded with extra stitches.

Top opening flares outward: Make sure you work those 4 decreases in Top Band Round 2. Also use a firm tension throughout the band.

Straps stretch over time: Use cotton yarn for the straps. Sew secure X-box attachments. Consider lining the straps with ribbon or webbing for extra support.

Customization Ideas Make this pattern your own with these modifications.

Smaller tote: Use 2 by 3 squares per face (12 squares total) and shorten the gusset to match the new side-bottom-side distance.

Larger market bag: Use 4 by 3 squares per face (24 squares total) and lengthen the gusset accordingly. Keep the top band stitch count even so strap placement stays balanced.

Assembly

Step 1Almost done! These final steps make a real difference in how polished your bag looks.

Step 2Weave in all yarn ends on the wrong side. Take your time with this step.

Step 3Steam lightly or wet block the entire bag to square up the panels and calm any seam puckering.

Step 4For bags that will carry heavy items, consider adding a fabric lining. It protects the crochet and adds durability.

Step 5For an extra crisp upper edge, sew grosgrain ribbon or cotton webbing just inside the top band before attaching the straps.

Finishing

  1. Weave in every yarn end on the wrong side first. Loose tails show through single crochet fabric.
  2. Steam or wet block the whole bag flat to square up the panels and smooth the seam lines.
  3. Attach the straps last, once the body and gusset are fully assembled and blocked.

Why it works

Round 2 of the top edging decreases four stitches evenly. That pulls the opening in slightly before the straight rounds above it.

The gusset is worked flat, row by row, rather than in rounds. That lets it wrap around the bottom and up both sides as one long strip.

The top edging joins every round instead of spiraling. That keeps the color change lined up at the back center seam each time.

What it becomes

  • Carrying it to a farmers market, paired with a simple linen dress.
  • Using it as a project bag for small crochet work, since the cotton base holds its shape.
  • Running errands around town, paired with jeans and a canvas jacket.

Original pattern: https://bunnypatterns.com/spring-garden-granny-square-bag-free-crochet-pattern/

FAQ

Can I use acrylic yarn instead of cotton?

You can substitute any worsted cotton or cotton blend that meets gauge. I would avoid stretchy acrylic for the straps, though, unless you add lining or webbing.

How do I know if my flower square is the right size?

Check your finished square against the stated checkpoint after blocking. If it comes out too big, try a smaller hook; too small, go up a size.

Why does the pattern use an invisible join instead of a simple slip stitch?

A simple slip stitch join leaves a visible step where the round ends. The invisible join mimics a stitch so the round looks continuous, which matters most on visible flower squares.

Do I need to line the bag?

Lining is optional but worth it if you plan to carry heavy items. A fabric lining or webbing at the top band protects the crochet and keeps straps from stretching.

The next find, by post

One pattern from the collection when it is ready. Nothing else.