
In this tutorial, I am making a drawstring produce bag with second-hand cotton fabric dyed with onion skins and a mesh window cut from an old tent. A drawstring produce bag is a practical small project perfect to use up scraps and make in an afternoon. You can use it for loose fruit at the shop, for storing vegetables at home, or for keeping small items grouped together in a cupboard, basket, or travel bag. Because it is opened, closed, filled, emptied, and washed regularly, I wanted to make a bag that is sturdy and can handle daily use.
The mesh window makes it easy to see what is inside without opening the bag. It also adds airflow, which is useful when the bag is used for fruit, vegetables, or other items that should not be stored in a fully closed fabric pouch. The body of the bag is sewn with one flat felled seam and three French seams. These finishes enclose the raw edges, which makes the inside neater and helps the bag hold up to regular use and washing.
For detailed instructions on these seam finishes, you can use my post on seams and finishes. The construction is also similar to the main body of my lavender eye pillow tutorial, so that post is useful if you want to see the same basic method applied to another simple rectangular project.
You can also adapt this tutorial to make a full mesh version of the bag. In that case, you skip the mesh window step and start with the body construction. You can also make the bag slightly larger and use it as a shoe bag, storage bag, or general-purpose drawstring bag for organising items at home.
Tools and setup for drawstring produce bag
You can sew this drawstring produce bag by machine or by hand.
Basic tools:
- Sewing needle or machine
- Thread
- Pins or clips
- Scissors
- Iron
- Safety pin (for threading the drawstring)
Materials:
- Mesh fabric: 30 cm x 17 cm (11 3/4 in x 6 3/4 in)
- Cotton fabric (onion skin dyed):
- 30 cm x 38 cm (11 3/4 in x 15 in)
- 30 cm x 24 cm (11 3/4 in x 9 1/2 in)
- Fabric for channel: 2 pieces, 26 cm x 6 cm (10 1/4 in x 2 3/8 in)
- String or tape:
- 2 pieces, 1 cm x 80 cm (3/8 in x 31 1/2 in)
Final size:
27 cm x 35 cm (10 5/8 in x 13 3/4 in)

Materials used in this drawstring produce bag
The main fabric in this drawstring produce bag is cotton from second-hand bedsheets dyed with onion skins. Bedsheet cotton is tightly woven, stable, and easy to handle, which makes it a reliable choice for a bag that will be opened and closed often. It presses cleanly, holds its shape, and works well with seam finishes like French seams and flat felled seams. The onion skin dye is a great way to add natural colour using kitchen scraps. It is also easily re-dyed when the colour starts to eventually fade. If you want to dye your own fabric, make sure to check out my post on how to dye with onion skins.
Want to experiment with more kitchen-scrap colours? Dyeing with Kitchen Scraps explores 11 everyday dye materials on cellulose fabrics, with more than 130 photographed colours and hues. Explore the ebook →
The mesh in this project comes from an old tent. This type of mesh is designed to be durable and breathable, which makes it suitable for a drawstring produce bag. It allows airflow, reduces moisture build-up, and lets you see the contents of the bag without opening it. Not all mesh is made the same, so it is worth checking a few things before you start:
- Heat resistance: Some synthetic mesh melts under an iron. Test a small piece first and always use a pressing cloth if you are unsure.
- Stretch: Mesh can be stable or elastic. A non-stretch mesh is easier to sew and keeps the shape of the bag more consistent.
- Edges: Some mesh frays or distorts at the cut edge, while others stay clean. This affects how easy it is to handle during construction.
This drawstring produce bag works best with non-stretch mesh because it keeps the front panel stable and makes the seam finishes easier to control. If you only have stretch mesh, you can still use it, but it helps to stabilise it first.
For the string you can use bias tape folded and sewn, ribbon, twill tape, or cord. Here I used 1 cm wide twill tape, for the mesh bag I used a cut out side seam from a shirt. Make sure the string is not more than 1 cm so that it fits through the channel, you can try out different lengths and see what is the most comfortable for you.

How to sew a drawstring produce bag
This method applies to the mesh window version. For a full mesh drawstring produce bag, start from Step 2.
Step 1 — Make the front panel
Join the mesh piece (30 cm x 17 cm / 11 3/4 in x 6 3/4 in) to the front fabric piece (30 cm x 24 cm / 11 3/4 in x 9 1/2 in) using a flat felled seam with a 1.5 cm seam allowance (5/8 in). Align the top edge of the mesh with the corresponding edge of the cotton piece, keeping the right sides together for the initial seam.
After sewing the first pass, trim the seam allowance on the cotton side to reduce bulk. Fold the wider mesh allowance over the trimmed cotton edge, then fold it again to fully enclose the raw edge. This creates a clean, enclosed seam on the inside of the bag. Stitch close to the folded edge to secure the flat felled seam in place. Press the seam thoroughly so it lies flat. Use a pressing cloth if needed, especially if the mesh is sensitive to heat.

Step 2 — Join the bottom
Take the front panel you prepared and the back piece (30 cm x 38 cm / 11 3/4 in x 15 in). Decide which edge will form the bottom of each piece, then place them wrong sides together, aligning the raw edges carefully. Pin or clip along the bottom edge to keep everything in place.
Sew the first pass of the French seam with a narrow seam allowance of around 0.5 cm (1/4 in). Trim the seam allowance evenly to reduce bulk, then turn the pieces so they are now right sides together. Press the seam flat, rolling it slightly between your fingers so the stitching sits right on the edge. This step helps keep the final seam clean and even.
Sew the second pass of the French seam with a scant 1 cm seam allowance (3/8 in), fully enclosing the raw edges inside the seam. Press the seam upwards, towards the body of the bag.
Step 3 — Sew the side seams
With wrong sides together, sew both side seams using French seams. Before sewing the second pass, trim the bottom corners slightly at an angle. This removes excess fabric and helps the corners turn cleanly later without bunching.
Turn the bag right side out, gently push out the corners, and press the seams well. The side seams should sit cleanly, and the bottom seam will naturally fold upwards slightly, giving the base of the bag a defined shape. Press the side seams flat, rolling the seam edge slightly so the first line of stitching sits right on the fold. This step keeps the finished seam neat

Step 4 — Prepare the channels
Take each channel piece (26 cm x 6 cm / 10 1/4 in x 2 3/8 in) and fold it lengthwise, wrong sides together, so it becomes 3 cm wide (about 1 1/8 in). Press the fold firmly to set the shape. Open it again so you can work on the short edges.
On each short end, fold the raw edge inwards by 0.5 cm (1/4 in), then fold it in again by another 0.5 cm (1/4 in) to fully enclose the edge. This creates a clean, finished end that will not fray with use. Stitch close to the inner fold to secure both layers in place. Repeat on all four short edges.
Once the ends are finished, fold each strip lengthwise again along the original centre crease, wrong sides together, and press well. You now have two clean channel pieces with enclosed edges and a defined fold.
To help with placement later, mark the centre point of each channel. You can do this by folding the strip in half and making a small notch at the fold, or by marking it with chalk. This centre mark will be used to align the channel evenly with the bag.

Step 5 — Attach the drawstring channel
Turn the bag wrong side out so the raw top edge is visible and easy to work with. Fold the top edge of the bag inwards by 0.5 cm (1/4 in) all the way around and press.
Use the centre notches to align each channel piece with the bag. Match the centre of the channel to the centre of the bag on each side. Position the channel so it sits just below the folded edge, leaving a small gap of a few millimetres. This space allows the top edge to fold cleanly over the channel without shifting it out of place.
Once both channels are aligned, fold the top edge of the bag over again, enclosing the channel and all raw edges inside. Adjust as needed so everything sits evenly and the channels stay straight. Pin or clip in place, then stitch all the way around the top edge, close to the fold. This secures the channels and creates a clean, enclosed finish that will form the drawstring casing.


Step 6 — Secure the channel
Press the channel upwards so it sits flat against the inside of the bag, pointing towards the top edge. Work slowly around the opening, shaping the fabric with your hands first, then pressing to set the fold. You can place it over a sleeve ham or a rolled towel to keep the shape while pressing. Once the channel is pressed in position, topstitch all the way around the bag opening from the inside.


Step 7 — Insert the strings
Turn the bag right side out and shape it gently with your hands so the seams sit flat and the corners are defined. Check that the channel runs smoothly all the way around and that the openings are clear.
Take one of the strings (1 cm wide x 80 cm long / 3/8 in x 31 1/2 in) and attach a safety pin to one end. Use the pin to guide the string through the first channel opening. Feed it all the way around the channel until it comes back out on the same side where you started. Both ends of this string should now sit on one side of the bag. Take the second string and repeat the process from the opposite side. Insert it through the other opening and guide it all the way around until it exits on that same side. You should now have two string ends on each side of the bag.
Even out the lengths, then tie each pair of ends together securely. Test the closure by pulling both sides at the same time. The top of the bag should gather evenly, and the drawstring produce bag should open and close smoothly without catching inside the channel.


Variations and alternative approaches to drawstring produce bag
You can adjust this drawstring produce bag in several ways depending on how you plan to use it and what materials you have available.
Full mesh version
Skip Step 1 and cut both front and back pieces from mesh. This creates a lighter drawstring produce bag with maximum airflow, which works well for produce that benefits from ventilation. The trade-off is reduced structure. The bag will collapse more easily and can stretch under weight, especially if the mesh has any elasticity.

Different fabrics
The main body fabric changes how the drawstring produce bag performs in use. Linen creates a firmer bag with a slightly textured surface that holds its shape well. Lightweight cotton produces a softer version that is easier to fold and store. Heavier fabrics such as denim improve durability and resistance to wear, but they add bulk at the seams and can make the drawstring channel thicker and more difficult to sew. When combining fabric with mesh, choose materials with a similar weight so the seam sits flat and does not pull to one side.

Simplified seams
You can replace the French seams and flat felled seam with standard seams for a faster build. This simplifies construction, especially if you are making several bags at once. Finish the raw edges using a serger, an overcast stitch, or a zig-zag stitch to prevent fraying. This approach is quicker, but the finish is less enclosed, so the seams may wear faster with frequent washing and use.
Channel variations
This tutorial uses two separate channels to create a balanced drawstring closure that cinches from both sides. You can simplify this by using a single continuous channel and one string. This reduces steps and materials, but the closure will pull from one side only, which can make the bag gather unevenly.
Size adjustments
You can scale the drawstring produce bag up or down without changing the method. A larger version works well for shoes or bulk storage, while a smaller version suits garlic, snacks, or organising small items. When adjusting the size, keep the channel width and string size in proportion so the closure continues to move smoothly. These variations are straightforward to apply and depend on how you plan to use the bag, how much time you want to spend, and what materials you already have available.

Final Thoughts
This drawstring produce bag is built from simple materials and a clear, repeatable method, which makes it easy to sew and easy to use. The combination of one flat felled seam and three French seams keeps all raw edges enclosed, so the inside stays clean and the seams hold up to regular use and washing. This matters in a bag that is opened, filled, and handled often. The structure stays stable, and the seams do not weaken quickly with friction or weight.
The mesh window adds a practical layer without changing the construction in a complicated way. It lets you see what is inside at a glance and improves airflow, which is useful for produce and other items that should not be stored in a fully closed fabric bag. At the same time, the solid fabric sections keep the bag structured and easier to handle than a full mesh version.
Make one drawstring produce bag this week using fabric you already have. Use it for a few days, pay attention to how the closure moves, how the seams sit, and how the size works for your needs. From there, adjust the next version to fit your routine more closely.
