What you need to sew a cloth diaper

A cloth diaper is a rectangle of absorbent fabric with elastic sewn into the leg openings and waistband to contain wetness. You can make one from cotton flannel, cotton jersey, or prefold cloth using a basic sewing machine, elastic, and thread. The finished diaper takes about an hour to sew once you have your pieces cut.

Gather these materials before you start: two pieces of absorbent fabric (flannel or jersey work well) cut to roughly 14 by 16 inches, two pieces of waterproof fabric like PUL or fleece cut to the same size, elastic (half-inch wide works best), a sewing machine, thread that matches your fabric, scissors, pins, and a measuring tape. You will also need a serger or zigzag stitch if you want the seams to last through many washings, though a straight stitch works in a pinch.

Key Takeaways

  • Cut two layers of absorbent fabric and two layers of waterproof fabric to roughly 14 by 16 inches, then stack them in pairs so the waterproof side faces outward.
  • Sew elastic into the leg openings and waistband using a zigzag or serger stitch so the elastic stretches as you sew, creating a gathered fit.
  • Sew the two fabric sandwiches together around all four sides, leaving a 2-inch opening to turn the diaper right-side out.
  • Close the opening by hand or machine after turning, then topstitch around the perimeter to flatten the seams and add durability.
  • Wash the finished diaper in hot water before use so the elastic and fabric shrink to their final size.

Cutting and stacking your fabric layers

Start by cutting your fabric pieces to size. Measure and mark a rectangle 14 inches wide by 16 inches long on your absorbent fabric, then cut two identical pieces. Do the same with your waterproof fabric. The exact size matters less than consistency—if you prefer a smaller or larger diaper, keep both pieces the same dimensions.

Stack your layers so the waterproof side faces outward on both the front and back. Lay one piece of absorbent fabric flat, then place one piece of waterproof fabric on top with the waterproof side facing up. This becomes your front panel. Make an identical stack for the back panel. Pin the two layers of each stack together around the edges so they do not shift while you sew.

Attaching elastic to the leg openings

The leg openings need elastic so the diaper fits snugly around the baby's thighs without leaking. Cut two pieces of elastic, each about 8 inches long. Fold one piece in half and pin it to the inside of one leg opening on your front panel, positioning the fold at the corner and the raw ends pointing toward the center of the diaper.

Set your sewing machine to a zigzag stitch with medium width and length. Sew over the elastic using the zigzag stitch, stretching the elastic gently as you sew so it gathers the fabric evenly. The zigzag stitch allows the elastic to move without breaking the thread. Repeat on the other leg opening of the front panel, then do the same on both leg openings of the back panel.

Sewing elastic into the waistband

The waistband elastic holds the diaper up and prevents leaks at the top. Cut a piece of elastic about 12 inches long. Fold it in half and pin it to the inside of the waistband (the top edge) on your front panel, with the fold at one corner and the raw ends pointing toward the center.

Using the same zigzag stitch, sew over the waistband elastic while stretching it gently so the fabric gathers evenly across the width. Repeat on the back panel. The elastic should gather the waistband so it curves slightly inward—this helps the diaper sit against the baby's body without gaps.

Joining the front and back panels

Place your front and back panels together with the waterproof sides facing each other and the elastic sandwiched between them. Pin around all four sides. Using a zigzag stitch or serger, sew around the entire perimeter, but leave a 2-inch opening along one of the long sides (the side seam works well). This opening is how you will turn the diaper right-side out.

Trim the corners at a 45-degree angle close to the stitching line, being careful not to cut through the thread. This reduces bulk when you turn the diaper and gives you cleaner corners. Clip small notches into the seam allowance along the curved leg openings so the fabric lies flat after turning.

Turning and closing the diaper

Reach through the 2-inch opening and pull the diaper right-side out so the waterproof fabric is now on the outside. Use a blunt tool like a chopstick or the eraser end of a pencil to push the corners out fully. Press the diaper flat with an iron on low heat, making sure the seams are crisp and the opening is folded inward neatly.

Close the opening by hand using a ladder stitch (also called a slip stitch), which is nearly invisible when done well. Thread a needle, knot the end, and slide the needle through the fold of fabric on one side of the opening. Bring it out about a quarter-inch along, then cross over and enter the fold on the opposite side. Continue this zigzag pattern, pulling the thread snug every few stitches so the opening closes. Knot off the thread inside the fold when you reach the end.

Topstitching for strength and finish

Topstitching—a line of stitching visible on the outside of the finished diaper—serves two purposes: it flattens the seams so they do not create uncomfortable ridges, and it adds durability so the diaper withstands many washings. Set your machine to a straight stitch and sew about a quarter-inch from the edge all the way around the diaper perimeter.

You can topstitch in a matching thread color to blend in, or use a contrasting color if you want the stitching to show. Some sewers add a second line of topstitching a half-inch from the edge for extra reinforcement. Once topstitching is complete, trim any loose threads and wash the diaper in hot water before use so the elastic and fabric shrink to their final size.

Frequently Asked Questions

Can I use regular cotton fabric instead of waterproof fabric?

Regular cotton will absorb liquid instead of blocking it, so the diaper will leak through to clothing. You need at least one waterproof layer—PUL (polyurethane laminate), fleece, or wool work well. Some sewers use wool on the outside because it naturally repels water and breathes better than plastic-backed fabrics.

What if I do not have a serger—can I use a straight stitch?

Yes, a straight stitch works, but the seams may fray and weaken after many washings. A zigzag stitch is stronger because it locks the thread into the fabric on both sides. If you only have a straight stitch available, sew the seams twice—once at the edge and once a quarter-inch inward—to add strength.

How do I know if the elastic is too tight or too loose?

The diaper should fit snugly around the legs and waist without leaving red marks on the skin. If it leaves deep grooves, the elastic is too tight—you can carefully cut it out and replace it with a slightly longer piece. If it gaps away from the body, the elastic is too loose and needs to be shorter or stretched more while sewing.

Do I need to wash the diaper before using it?

Yes. Washing in hot water shrinks the fabric and elastic to their final size, and it removes any sizing or residue from manufacturing. If you skip this step, the diaper may fit differently after the first wash. Wash in hot water with detergent, dry on medium heat, and the diaper is ready to use.