What you are making and why it works

A grocery bag holder is a fabric tube that hangs on your kitchen wall or inside a cabinet door and stores plastic bags in a compressed stack. You pull one bag out from the bottom opening, and the rest stay bundled above it. The design is straightforward: a rectangle of fabric sewn into a tube, with elastic or a drawstring at the top to cinch it closed, and an open bottom to retrieve bags.

This project takes two to three hours for a beginner and requires only a sewing machine, thread, scissors, and fabric scraps. Most people use quilting cotton or home décor fabric because it holds its shape and washes well. The finished holder measures roughly 5 inches wide and 12 to 14 inches tall — large enough to hold 20 to 30 bags without bulging.

Key Takeaways

  • Cut a rectangle of fabric 10 inches wide by 24 inches long, then fold it in half lengthwise and sew the long edge closed to form a tube.
  • Fold the top edge down one inch, press it flat, and sew around the folded edge to create a casing for elastic or drawstring.
  • Thread elastic through the casing at the top and sew the ends together, or use a drawstring tied in a knot instead.
  • Leave the bottom of the tube open so you can pull bags out from underneath.
  • Attach a hook or loop to the top so the holder hangs on a wall or cabinet door.

Choosing and preparing your fabric

Pick a medium-weight cotton fabric that does not fray excessively and holds creases. Quilting cotton, canvas, or home décor fabric all work well. Avoid stretchy knits or very thin fabrics, which will sag under the weight of plastic bags. A solid color or small print hides wrinkles better than large patterns.

Wash and dry your fabric before cutting if you plan to wash the finished holder. This prevents shrinkage later. Press the fabric flat with an iron to remove wrinkles, then measure and mark your cutting lines with a ruler and fabric pencil or chalk. You need one rectangle 10 inches wide by 24 inches long. If your fabric is narrower than 10 inches, cut two pieces and sew them together along the short edge first, then proceed.

Sewing the tube

Fold your rectangle in half lengthwise with the right side of the fabric facing inward. Line up the long edges so they are even. Pin along the length to hold the fold in place. Using a straight stitch and a quarter-inch seam allowance, sew from one end to the other, staying parallel to the folded edge. Backstitch at the beginning and end to lock the thread.

Turn the tube right-side out by reaching into one end and pulling the fabric through. Use a blunt tool like a chopstick or the handle of a wooden spoon to push the corners out fully. Press the seam flat with an iron so it lies along one side of the tube. The tube should now measure roughly 9 inches wide and 24 inches long.

Creating the casing for elastic or drawstring

Fold the top edge of the tube down one inch toward the inside. Press this fold flat with an iron. Pin the fold in place all the way around. Sew a straight line around the tube one-quarter inch below the folded edge, creating a channel or casing. This is where your elastic or drawstring will sit. Backstitch at the start and end.

If you are using elastic, cut a piece 6 to 8 inches long and one-half inch wide. Attach a safety pin to one end and thread it through the casing by pushing the pin ahead of the elastic as you work it around the tube. Once the elastic is threaded all the way through, overlap the ends by one inch and sew them together with a small rectangle of stitches to find them. If you prefer a drawstring, thread a 12-inch cord or ribbon through the casing instead and tie the ends in a knot.

Finishing the bottom and adding a hanger

Leave the bottom of the tube open — do not sew it closed. This is where you will pull plastic bags out from. If the raw edges at the bottom fray, fold them up one-quarter inch and sew them down, or explore a thin line of fabric glue to seal them.

To hang the holder, sew a fabric loop or ribbon tab to the top seam on the inside of the tube. Make the loop 2 to 3 inches long so it fits over a hook or nail. Alternatively, sew a small hook directly to the seam, or attach adhesive-backed hook-and-loop fastener (like Velcro) to the back of the tube and stick it to your cabinet door or wall. Test the attachment with a few plastic bags inside to make sure it holds the weight.

Customizing and troubleshooting

If your finished holder is too loose and bags fall out the bottom, the casing is too wide. Next time, sew the casing line closer to the fold — one-eighth inch instead of one-quarter inch — so the elastic or drawstring pulls tighter. If the tube is too narrow and bags jam, cut a wider rectangle next time, such as 12 inches instead of 10.

To make the holder more decorative, use patterned fabric, add a ruffle along the bottom edge before sewing the tube closed, or embroider your initials on the front. You can also line the tube with a contrasting fabric by cutting two rectangles, sewing them together with right sides facing, and then turning and pressing as usual. Wash finished holders in cool water on a gentle cycle and air-dry them to preserve the fabric and elastic.

Frequently Asked Questions

Can I use knit fabric or old t-shirts?

Knit fabric stretches and will sag under the weight of bags. Cotton or canvas is much better. If you want to use old t-shirts, cut them into strips and sew the strips together to make a thicker, more stable fabric first.

What if I do not have elastic?

Use a drawstring instead. A piece of ribbon, cord, or even a strip of fabric works. Tie it in a knot after threading it through the casing so it does not slip out.

How do I attach the holder if I cannot drill or nail?

Sew a loop to the top and hang it on an adhesive hook rated for fabric weight. Or use adhesive-backed hook-and-loop fastener on the back of the tube and press it to a smooth cabinet door or wall. Test it with bags inside before trusting it fully.

Can I make the holder wider to hold more bags?

Yes. Cut a rectangle 12 to 14 inches wide instead of 10, and adjust the elastic or drawstring length to match. The wider the tube, the more bags it holds, but it also takes up more wall space.

What thread color should I use?

Match the thread to your fabric color, or use a neutral like gray or tan that blends with most fabrics. If you want the seams to show as a design detail, use a contrasting color.