Slouchy Filet Crochet Boho Purse Pattern- Free

You know that feeling when you see a bag at a fancy retailer and think “I could make that… but make it free”? Yeah. Same. This free slouchy filet crochet boho purse pattern is inspired by a dreamy, slouchy shoulder bag I spotted for nearly $400, and honestly? Yours is going to be just as cute. For more free crochet patterns, check here.

Check out the supplemental video tutorial here:



This pattern works up a relaxed, roomy shoulder bag with a scalloped trim, fringe detail, and a silhouette that goes with everything from a sundress to your favorite pair of overalls. It’s the kind of bag that looks like you spent way too much on it, and we love that for us.
This is a great project for confident beginners and intermediate crocheters. If you’re comfortable with a double crochet stitch, you’ve got this.

Slouchy filet crochet boho purse hanging on the back of a yarn rack.

Supplies

  • Yarn (Medium Weight):
    900-1,000 yards of your choice of medium weight yarn. For this, I used Cottino from Lion Brand. (this includes enough to make fringe for the bottom of your bag and the straps)
  • Hook:
    3.75mm
  • Other:
    Yarn needle
    Scissors

Slouchy filet crochet boho purse pattern details

Skill level

Advanced Beginner

Abbreviations

  • ch = chain stitch
  • st = stitch
  • sc = single crochet
  • dc= double crochet

Stitch guide

Single crochet (sc)

Insert hook into stitch, pull through 1 loop (leaving 2 loops on the hook), yarn over, pull through both loops.

Here’s a quick video tutorial!

Double crochet (dc)

Yarn over, insert hook into stitch, pull through 1 loop (leaving 3 loops on the hook), yarn over, pull through two loops, yarn over, pull through remaining two loops.

Open box (open)

To make an open box, you’ll double crochet into the stitch from the previous row, chain 1, skip the next stitch, double crochet into the following stitch.

Closed box (closed)

To make a closed box, double crochet into the stitch from the previous row, double crochet into the next stitch, double crochet into the 3rd stitch. A closed box is 3 double crochet stitches worked over 3 stitches from the previous row.

Scalloped edge

To make the scalloped edge along the sides of the purse, you will start with a chain, [skip 3 stitches, double crochet 7 times in the next stitch, skip 3 stitches, single crochet in the next stitch] and repeat from [ to ] until complete.

Pattern notes

  • This pattern is worked in a front panel and a back panel, which are joined after the panels are complete.
  • You will be working from bottom to top.
  • It’s very important to reference the chart to determine where the open and closed boxes should be.
  • After both panels are complete, they are seamed together across the sides and bottom using single crochet on the right side of the purse.
  • After you seam the 3 sides together, you will add your scalloped edges to the sides.
  • If you accidentally add or subtract a stitch, the chart helps keep the image aligned.
  • For the closure and straps, there are 2 options:
    • 1. You will make an i-cord and weave through the top of the bag all the way around, closing with a tie. You will then make another icord to make the straps of your choice.
    • 2. You will make 2 icords of equal length. You will weave one through the front side of the bag with both ends exiting on each side. Then you will repeat on the back of the bag. You will then tie each icord together along the sides with a knot and add a tassel to each. When you lift the bag, your bag will cinch closed.
  • This pattern uses US terms and is written for right-handed crocheters.
  • Left-handed crocheters: Work the pattern rows backward so the image faces the correct direction.

Instructions

Bag panel (make 2)

Begin: Chain 78. (You will have 38 total boxes for your filet panel. You multiply that by 2, and then add 2 to get your starting chain.)

Row 1: In the 3rd ch from the hook, double crochet across, ch 2, turn.

Row 2: Dc in every stitch across the row, ch 2, turn.

← Row 3 [RS]: 1(Closed), 15(Open), 3(Closed), 18(Open), 1(Closed)


→ Row 4 [WS]: 1(Closed), 17(Open), 3(Closed), 16(Open), 1(Closed)


← Row 5 [RS]: 1(Closed), 18(Open), 2(Closed), 16(Open), 1(Closed)


→ Row 6 [WS]: 1(Closed), 15(Open), 2(Closed), 19(Open), 1(Closed)


← Row 7 [RS]: 1(Closed), 19(Open), 2(Closed), 15(Open), 1(Closed)


→ Row 8 [WS]: 1(Closed), 14(Open), 2(Closed), 20(Open), 1(Closed)


← Row 9 [RS]: 1(Closed), 20(Open), 2(Closed), 14(Open), 1(Closed)


→ Row 10 [WS]: 1(Closed), 14(Open), 3(Closed), 19(Open), 1(Closed)


← Row 11 [RS]: 1(Closed), 7(Open), 2(Closed), 9(Open), 3(Closed), 15(Open), 1(Closed)


→ Row 12 [WS]: 1(Closed), 16(Open), 2(Closed), 8(Open), 3(Closed), 7(Open), 1(Closed)


← Row 13 [RS]: 1(Closed), 7(Open), 3(Closed), 7(Open), 3(Closed), 16(Open), 1(Closed)


→ Row 14 [WS]: 1(Closed), 17(Open), 2(Closed), 7(Open), 2(Closed), 8(Open), 1(Closed)


← Row 15 [RS]: 1(Closed), 2(Open), 4(Closed), 2(Open), 2(Closed), 7(Open), 2(Closed), 17(Open), 1(Closed)


→ Row 16 [WS]: 1(Closed), 17(Open), 3(Closed), 6(Open), 8(Closed), 2(Open), 1(Closed)


← Row 17 [RS]: 1(Closed), 4(Open), 15(Closed), 17(Open), 1(Closed)


→ Row 18 [WS]: 1(Closed), 17(Open), 9(Closed), 1(Open), 3(Closed), 6(Open), 1(Closed)


← Row 19 [RS]: 1(Closed), 4(Open), 4(Closed), 8(Open), 3(Closed), 4(Open), 5(Closed), 8(Open), 1(Closed)


→ Row 20 [WS]: 1(Closed), 8(Open), 12(Closed), 8(Open), 5(Closed), 3(Open), 1(Closed)


← Row 21 [RS]: 1(Closed), 3(Open), 4(Closed), 8(Open), 15(Closed), 6(Open), 1(Closed)


→ Row 22 [WS]: 1(Closed), 6(Open), 10(Closed), 2(Open), 3(Closed), 15(Open), 1(Closed)


← Row 23 [RS]: 1(Closed), 15(Open), 2(Closed), 2(Open), 12(Closed), 5(Open), 1(Closed)


→ Row 24 [WS]: 1(Closed), 5(Open), 12(Closed), 2(Open), 3(Closed), 14(Open), 1(Closed)


← Row 25 [RS]: 1(Closed), 14(Open), 2(Closed), 3(Open), 5(Closed), 1(Open), 6(Closed), 5(Open), 1(Closed)


→ Row 26 [WS]: 1(Closed), 5(Open), 5(Closed), 1(Open), 6(Closed), 3(Open), 2(Closed), 14(Open), 1(Closed)


← Row 27 [RS]: 1(Closed), 14(Open), 3(Closed), 2(Open), 6(Closed), 2(Open), 3(Closed), 6(Open), 1(Closed)


→ Row 28 [WS]: 1(Closed), 11(Open), 6(Closed), 2(Open), 5(Closed), 7(Open), 3(Closed), 2(Open), 1(Closed)


← Row 29 [RS]: 1(Closed), 2(Open), 5(Closed), 3(Open), 8(Closed), 1(Open), 7(Closed), 10(Open), 1(Closed)


→ Row 30 [WS]: 1(Closed), 10(Open), 6(Closed), 1(Open), 3(Closed), 1(Open), 12(Closed), 3(Open), 1(Closed)


← Row 31 [RS]: 1(Closed), 3(Open), 11(Closed), 3(Open), 2(Closed), 2(Open), 6(Closed), 9(Open), 1(Closed)


→ Row 32 [WS]: 1(Closed), 8(Open), 2(Closed), 6(Open), 2(Closed), 4(Open), 11(Closed), 3(Open), 1(Closed)


← Row 33 [RS]: 1(Closed), 4(Open), 10(Closed), 5(Open), 1(Closed), 7(Open), 2(Closed), 7(Open), 1(Closed)


→ Row 34 [WS]: 1(Closed), 6(Open), 2(Closed), 7(Open), 2(Closed), 5(Open), 7(Closed), 7(Open), 1(Closed)


← Row 35 [RS]: 1(Closed), 6(Open), 10(Closed), 3(Open), 3(Closed), 7(Open), 2(Closed), 5(Open), 1(Closed)


→ Row 36 [WS]: 1(Closed), 3(Open), 5(Closed), 6(Open), 3(Closed), 4(Open), 10(Closed), 5(Open), 1(Closed)


← Row 37 [RS]: 1(Closed), 5(Open), 10(Closed), 4(Open), 4(Closed), 4(Open), 6(Closed), 3(Open), 1(Closed)


→ Row 38 [WS]: 1(Closed), 3(Open), 6(Closed), 3(Open), 3(Closed), 1(Open), 2(Closed), 3(Open), 10(Closed), 5(Open), 1(Closed)


← Row 39 [RS]: 1(Closed), 6(Open), 8(Closed), 3(Open), 3(Closed), 2(Open), 2(Closed), 3(Open), 3(Closed), 1(Open), 2(Closed), 3(Open), 1(Closed)


→ Row 40 [WS]: 1(Closed), 3(Open), 1(Closed), 2(Open), 2(Closed), 4(Open), 3(Closed), 1(Open), 3(Closed), 2(Open), 7(Closed), 8(Open), 1(Closed)


← Row 41 [RS]: 1(Closed), 9(Open), 6(Closed), 2(Open), 1(Closed), 1(Open), 1(Closed), 2(Open), 3(Closed), 11(Open), 1(Closed)


→ Row 42 [WS]: 1(Closed), 10(Open), 2(Closed), 4(Open), 1(Closed), 4(Open), 4(Closed), 11(Open), 1(Closed)


← Row 43 [RS]: 1(Closed), 13(Open), 2(Closed), 4(Open), 1(Closed), 16(Open), 1(Closed)


→ Row 44 [WS]: 1(Closed), 16(Open), 2(Closed), 3(Open), 1(Closed), 14(Open), 1(Closed)


← Row 45 [RS]: 1(Closed), 18(Open), 1(Closed), 17(Open), 1(Closed)


Rows 46-47: Dc in every stitch across the row. Tie off.

Seam together panels

Lay panels together WRONG SIDES TOGETHER (meaning, the right side of your purse is facing toward you. Jump to that part of the YouTube video here.

With a crochet hook, starting at the top left corner, place two single crochets per row along the left side of your purse, capturing the front and back panel together.

Once you get to the bottom corner, place 4 single crochet stitches in the same stitch and turn your work to work along the bottom of your purse. Seam the bottoms together by placing one sc in every stitch across the row, capturing both the front and back panel.

Once you get to the next corner, place 4 single crochet stitches in the same stitch. Then work up the other side of your purse using the same 2 stitches per row technique you used on the first side. Once you get to the last stitch, tie off, leaving the top of your purse open. Tie off.

Scalloped edges

Starting back on the left side of the top of your purse, attach your working yarn, and chain 1. Check out that part of the video tutorial, here.

Skip the next 3 stitches, and place 7 double crochet stitches in the same stitch. Skip the next 3 stitches. Add a single crochet stitch in the next stitch. Skip 3 stitches. Repeat all the way along the side of your purse. When you get to the end, tie off.

Repeat on the other side of the purse. Tie off.

Adding fringe

Make 154-160 strands of yarn in equal length ~ 15-20″ in length.

Find the center of your purse, and find the first filet row along the bottom (the row after your double crochet rows. Check out that part of the tutorial, here.

Each fringe will consist of 14 strands of your fringe yarn. Count out 14, and fold them in half.

Take a crochet hook, and find that center box. Insert your crochet hook in the chain stitch bar between the two filet row and loop around the center of your 14 fringe yarn pieces.

Pull that loop through and remove your crochet hook. Grab that loop and pull the ends of your fringe through the loop, pulling tight.

Add your fringe in every 4th box. You should have 9 total fringe knots along the bottom of your bag.

Closure & strap (option 1)

Make an i-cord that is 4x the length of your purse. I used an automatic i-cord maker, but you can crochet a version using this tutorial. Or you can knit one using this tutorial.

Once you have your i-cord, lace it through the first filet crochet row along the top of your purse. I wove it through every 4th box, leaving the two ends to exit from the front.

Once you have your i-cord closure, you can make another i-cord in the legth of your choice to attach to each side of your purse. You can make this short for an over-the-shoulder, or longer for a cross-body. You could also use leather or fabric straps and sew them onto the sides.

Closure & straps (option 2)

Make 2 i-cords of equal length- each about double with width of your purse. Weave your first i-cord from one side to the other, leaving each end poking out each side of your front side of the purse. Video tutorial, here.

Do the same with the backside.

You should have 2 ends on each side of your purse. Knot those together, and you can optionally add a tassel to each knot area. When you lift your bag up, your bag will cinch together.

Leave a Reply

I’m Callie

Welcome to The Morning Crafter, where I bring my love for fiber arts to life. From crochet and knitting to sewing and embroidery, this is my cozy corner of the internet where every stitch tells a story. Whether you’re a seasoned crafter or just dipping your toes into the world of handmade goods, you’ll find inspiration, tutorials, and plenty of creative energy here. I’m all about turning yarn and fabric into something special, with a touch of whimsy and a lot of heart. Let’s embark on this fiber-filled journey together and create something truly magical!

Discover more from The Morning Crafter

Subscribe now to keep reading and get access to the full archive.

Continue reading