A good market tote earns its keep. It needs to be light enough to carry empty, strong enough to haul produce, and ideally attractive enough that you don't stash it in the trunk the moment you leave the farmers' market. This diamond mesh tote checks all three. The openwork stitch creates a fabric that breathes, stretches just enough to accommodate oddly shaped vegetables, and folds flat when not in use.
Unlike garment mesh patterns that require careful shaping, this bag is worked as a simple rectangle folded in half and seamed on two sides. The diamond mesh stitch repeats every two rows and is easy to memorize by the third or fourth repeat. If you can chain, single crochet, and double crochet, you have every skill this pattern requires. No armhole shaping. No neckline calculations. Just rhythmic mesh until the bag reaches the height you want.
Why You'll Love This Diamond Mesh Tote
The diamond mesh stitch creates a fabric that's open enough to see your groceries inside but structured enough not to sag into a shapeless puddle. Each diamond motif interlocks with the ones above and below it, distributing weight evenly across the entire bag surface. This matters when you're carrying a quart of strawberries and a jar of honey — the mesh flexes without stretching out permanently.
Cotton is the only fiber that makes sense here. It doesn't stretch into oblivion like acrylic, doesn't require hand-washing like wool, and costs far less than linen. A 14-ounce skein of basic kitchen cotton in a natural undyed shade runs about $6-8 and covers this entire bag with yarn to spare. I've taken versions of this tote to farmers' markets, beach days, and library hauls for years, and the mesh keeps its shape through all of it.
Reusable market bags remain one of the most popular crochet accessory categories on Ravelry through early 2026, with mesh stitch variations trending in the top 20 free bag patterns each month. People want practical makes that replace single-use plastic, and a well-made crochet tote does that beautifully.
Materials Needed
Yarn
- 350-400 yards of worsted weight (#4) cotton. Lion Brand 24/7 Cotton in "Ecru" or "Natural" ($5.99 per 186-yard skein at Joann — 2 skeins needed). The mercerized finish means the bag glides against your clothing rather than catching, and the sheen makes the diamond pattern look crisp.
- Budget alternative: Lily Sugar'n Cream in "Jute" or "Tea" ($2.49 per 120-yard ball at Michaels — 3 balls needed). Slightly rougher feel but identical stitch definition and excellent durability.
Hooks & Notions
- H/8 (5.0 mm) crochet hook for the bag body. A Clover Amour ($8.99) is comfortable for the repetitive mesh rounds.
- Stitch markers (4 locking markers) for marking the bag fold line and strap attachment points.
- Tapestry needle for weaving ends.
- Measuring tape for checking bag depth and strap length.
Best Yarn Choices for an Openwork Market Bag
Market bags live hard. They get stuffed, stretched, set on wet grass, and occasionally washed with garden dirt still clinging to the fibers. Cotton handles all of this without complaint. It's machine washable, gets stronger when wet, and doesn't pill from friction against canvas shopping totes or car trunks.
The openwork mesh means you can use a slightly heavier yarn without the bag feeling bulky. Worsted weight hits the sweet spot — the mesh holes stay defined, but the strands are thick enough to carry weight. DK weight cotton produces a lacier, more delicate bag that works beautifully for lightweight items but may struggle with heavy produce. If you go DK, double your strand or plan to line the bag with fabric.
For the strap, I strongly recommend reinforcing with a row of slip stitches worked across every strap row. Cotton straps without reinforcement will stretch over time, especially if you carry the bag on your shoulder. The slip stitch reinforcement row takes five minutes and adds years to the bag's useful life. More reinforcement tips in my best yarn for crochet projects guide.
Gauge, Size Guide & Must-Have Tools
Gauge: 4 diamond mesh pattern repeats (16 rows) = 4 inches with H/8 (5.0 mm) hook. The gauge is measured over the mesh pattern, not over solid fabric. Because this is an openwork stitch, exact gauge matters less than it does for garments — the bag will function beautifully if you're within a half-inch of the target.
Finished Measurements: 13 inches wide x 14 inches tall (excluding straps). Straps add 11 inches of drop length. The bag folds flat for storage.
Size Adjustments:
- Wider bag: Add 6 chains to the foundation for each additional inch of width. The mesh pattern repeat is 6 stitches, so adjust in multiples of 6.
- Taller bag: Add pattern repeats before the final solid border rounds. Each 2-row repeat adds approximately 0.5 inches.
- Longer straps: Chain more in the strap foundation. Each additional 2 chains adds roughly 1 inch of strap drop.
For more on customizing bag dimensions, my how to resize crochet patterns guide covers the math in detail.
Pattern Notes & Tips Before You Start
Mesh Stitch Rhythm: The diamond pattern alternates two rows. Row A creates the open diamonds by working double crochets into chain spaces and skipping stitches. Row B anchors the diamonds with single crochets into the chain spaces from Row A. By your third repeat, you'll feel the rhythm and stop checking the pattern. It's one of those stitches that looks intricate but becomes intuitive quickly.
Strap Attachment Point: The straps are worked directly into the bag opening rather than sewn on afterward. This distributes the weight better and eliminates the need for sewing. Mark your strap attachment stitches before starting the strap rows — the placement determines whether the bag hangs centered or tilted. Measure from the side seams to ensure both straps are evenly positioned.
Bag Stretch Management: Even cotton stretches slightly under load. For an especially sturdy bag, work the body rows with slightly tighter tension than your swatch. The mesh should be firm, not floppy. If your mesh holes look elongated or loose, drop down a hook size. The fabric will relax with use but shouldn't start out saggy.
Finishing the Opening: The bag opening gets a solid border of single crochet and a final round of reverse single crochet. This firms the edge, prevents curling, and creates a clean finish where the straps emerge. Don't skip the reverse sc round — it's the difference between a bag that looks homemade and one that looks handcrafted.
Abbreviations Explained
US crochet terms throughout.
| Abbreviation | Meaning |
|---|---|
| ch | chain |
| ch-sp | chain-space |
| sc | single crochet |
| dc | double crochet |
| sl st | slip stitch |
| st(s) | stitch(es) |
| sk | skip |
| RS/WS | right side / wrong side |
Full reference with photos available in my crochet abbreviations guide.
Step-by-Step Diamond Mesh Market Tote Pattern
Part 1: The Bag Body (Worked Flat)
Foundation: Ch 62 (or any multiple of 6, plus 2).
Row 1 (RS): Sc in 2nd ch from hook and in each ch across. Turn. (61 sc)
Row 2: Ch 3 (counts as dc here and throughout), sk first 2 sc, *dc in next sc, ch 2, sk 2 sc; rep from * across to last sc, dc in last sc. Turn.
Row 3: Ch 1, sc in first dc, *ch 2, sk ch-2 sp, sc in next dc; rep from * across, ending with sc in top of turning ch. Turn.
Row 4: Ch 3, sk first sc, *dc in next sc, ch 2, sk ch-2 sp; rep from * across, ending with dc in last sc. Turn.
Rows 5-56: Repeat Rows 3 and 4 (the 2-row diamond mesh pattern). At end of Row 56, your rectangle should measure approximately 13 x 14 inches.
Row 3 is the solid anchor row that creates the diamond definition. Row 4 is the openwork row that forms the mesh openings. Together they create one full diamond motif.
Final Solid Border Rows:
Row 57: Ch 1, sc in first dc, *2 sc in ch-2 sp, sc in next dc; rep from * across. Turn. (61 sc)
Row 58: Ch 1, sc in each sc across. Turn. (61 sc)
Row 59: Rep Row 58. Fasten off.
Part 2: Assembly (Fold and Seam)
Step 1: Fold the rectangle in half, RS facing in, so that Row 1 meets Row 59. The fold forms the bottom of the bag. The two open sides will become the side seams.
Step 2: Thread your tapestry needle with matching yarn. Starting at the fold, whip stitch along one side edge up to the top opening. Work through both layers, keeping stitches firm and even.
Step 3: Repeat for the second side seam.
Step 4: Turn the bag RS out. The side seams should be neat and unobtrusive.
For seaming guidance, see my how to sew crochet pieces together tutorial.
Part 3: Bag Opening and Strap Placement
Opening Border: With RS facing, attach yarn at one side seam. Ch 1, sc evenly around the entire bag opening (one sc per stitch across the front, one sc per row-end along the seam edges approximately). Sl st to first sc to join.
Flatten the bag. Place stitch markers at the front opening at the following positions:
- 6 stitches in from the right edge
- 12 stitches from the right edge
- 12 stitches from the left edge
- 6 stitches from the left edge
These markers define your two strap zones. Each strap will be 6 stitches wide, positioned symmetrically.
Repeat the same marker placement on the back opening.
Part 4: The Straps (Make 2)
Straps are worked directly from the bag opening, so there's no sewing later.
First Strap (Front):
With RS facing, attach yarn at the first stitch marker (6 stitches in from right edge). Ch 1, sc in same st and in next 5 sts (6 sc total — up to the second marker). Turn.
Strap Row 1: Ch 1, sc in each of the 6 sc. Turn.
Repeat Strap Row 1 until strap measures 11 inches (or your desired drop length). Do not fasten off.
Reinforcement Round: Ch 1, work a round of sc evenly around all four edges of the strap (both long sides and both short ends). Then work a round of sl st into each sc around. This reinforcement prevents stretching. Fasten off, leaving a 12-inch tail.
Attaching Strap to Back: Thread the tail onto your tapestry needle. Align the strap end with the corresponding stitch markers on the back opening. Whip stitch the strap end securely to the 6 marked stitches on the back. Knot and weave in end.
Second Strap: Repeat identical process on the left side of the bag.
Final Opening Round: Attach yarn at one side seam. Ch 1, work reverse sc (crab stitch) evenly around the entire bag opening, including around the base of each strap attachment. Sl st to join, fasten off. Weave all remaining ends using the split-the-plies method.
Easy Variations & Custom Ideas
Color-Blocked Bottom: Work the lower third of the bag body (Rows 1-18) in a contrasting color, then switch to the main color for the remainder. This adds visual weight at the base and uses up partial skeins. The color change line should fall at a Row 4 (openwork row) so the transition blends into the mesh pattern.
Mini Produce Bag Version: Stop the body after 36 rows and attach shorter straps (7-inch drop). The resulting smaller bag is perfect for loose produce like apples or lemons — light enough to use inside the grocery store without adding weight to the scale.
Striped Mesh: Change colors every 8 rows as you work the body. Carry the unused yarn up the side seam (it'll be hidden inside when you seam). A two-color stripe creates a beachy, cabana-stripe effect that looks especially good in cream with navy or coral.
Drawstring Closure: Skip the strap attachment. Instead, weave a 40-inch i-cord through the opening border stitches and add cord locks or a wooden bead toggle. The bag becomes a drawstring backpack-style sack.
Common Troubleshooting and Fixes
"The mesh holes look uneven." Check your chain-2 tension on Row 2/Row 4. If some chains are looser than others, the diamonds will vary in size. Try to match the chain tension to the height of your double crochet — they should feel similarly taut. If chains are consistently loose, drop down a hook size for more control.
"My bag is twisting." This happens when stitch counts drift. At the end of each row, count that you have the same number of dc or sc anchors as the previous row. The pattern should produce exactly 21 dc anchors in Row 2 and 21 sc anchors in Row 3. If your count is off, you probably skipped or added a stitch. My guide on how to count stitches and rows helps catch errors early.
"The straps stretch too much." Did you do the reinforcement rounds? The sl st round is what prevents strap stretch. If you skipped it, go back and add it now. If you did it and still have stretch, work a second sl st round or add a row of sc worked into the back bump of the previous sl st row for extra reinforcement.
"The bag opening is tight." Your border rows may have been worked at a tighter tension than the mesh. The opening should be stretchy. If it feels rigid, carefully remove the border and rework with slightly looser tension, or go up one hook size for the border only.
Next-Level Tips
Blocking for Professional Finish: Wet-block the finished bag in cool water for 15 minutes, gently squeeze in a towel, and lay flat to dry with the mesh stretched open slightly. The diamonds will look crisp and uniform. Do this before the first use and once a season after washing.
Market-Weight Upgrade: For a bag that can haul a full gallon of milk, use two strands of worsted cotton held together and a J/10 (6.0 mm) hook. The fabric becomes substantially stronger, though the bag will be heavier. Increase foundation chain to 68 to maintain proportions.
Produce Bag Set Idea: Make three bags in graduated sizes — a small one for berries, a medium one for greens, and the full-size tote for everything else. Roll them together and tie with a cotton ribbon. This set sells for $35-45 at craft fairs and uses about $15 in yarn.
Final Thoughts
This tote has been a constant in my market-going life for several years now. The mesh means I can shake out sand, dirt, or the inevitable loose blueberry without turning the bag inside out. It washes in the machine and hangs dry by the back door, ready for the next trip. I've given versions to friends who were skeptical about crochet bags and later confessed it became their go-to beach tote.
The diamond mesh stitch is one of those techniques that rewards you quickly — ten rows in, you'll already see the pattern emerging, and the repetition feels meditative rather than tedious. If you enjoy seeing structure emerge from open spaces, this bag will make you happy. Tag me when yours is finished; I always love seeing what colors people choose.