The Three Main Ways to Make a Buttonhole

A buttonhole in knitting is a deliberate gap in your fabric that you create by binding off stitches on one row and casting them back on the next row. The three most common methods are the one-row buttonhole (fastest, works on any yarn weight), the two-row buttonhole (strongest, best for heavy coats), and the eyelet buttonhole (smallest, good for delicate garments). Which one you choose depends on your button size, yarn weight, and how much stress the buttonhole will take.

All three methods follow the same principle: you remove a set number of stitches to create the opening, then fill that space back in on the next row or rows. The difference is in how many rows you work the gap across and how you reinforce the edges. None of these methods requires special tools—just your needles, yarn, and the stitches already on your needle.

Key Takeaways

  • The one-row buttonhole is the fastest method and works on any yarn weight, but the two-row buttonhole creates a stronger, more durable edge for heavy fabrics.
  • You must know your button diameter before you knit; measure across the button and add one stitch to your bind-off count to account for the fabric stretch.
  • The eyelet buttonhole uses a yarn-over and decrease on a single row, making it the smallest option and best for lightweight garments.
  • Always test your buttonhole size on a swatch before you commit to your garment, because yarn weight and tension change how much space you actually need.
  • Reinforce the edges of one-row and two-row buttonholes with a single crochet stitch or duplicate stitch after you finish knitting to prevent fraying and stretching.

Measuring Your Button and Planning Stitch Count

Before you cast off a single stitch, measure your button. Lay it flat on a ruler and measure the diameter straight across the widest point. Write this number down. Now add one stitch to that measurement—this accounts for the fact that your knit fabric will stretch slightly when the button pushes through. If your button is 0.75 inches wide and you are working at 5 stitches per inch, you need to bind off 4 to 5 stitches for your buttonhole.

Test this on a swatch before you knit your actual garment. Knit a small rectangle in the same yarn and stitch pattern you are using for your project, make a buttonhole using your calculated stitch count, and try pushing your button through. The button should slide through with gentle pressure—not so tight that you have to force it, and not so loose that it falls through on its own. If it is too tight, add one more stitch to your bind-off count. If it is too loose, subtract one. Write down the final number and use it for every buttonhole in your garment.

The One-Row Buttonhole (Fastest Method)

The one-row buttonhole is worked entirely on a single row. It creates a clean, rectangular opening and works equally well on light and heavy yarns. This is the method most home knitters use because it is fast and the results are reliable.

Step 1: Bind off the stitches. Knit to the position where your buttonhole should start. Bind off the number of stitches you calculated (let's say 4 stitches). You now have a gap in your work. The working yarn is still attached to the stitch after the gap.

Step 2: Cast on new stitches. Using the cable cast-on method, cast on the same number of stitches you just bound off (4 new stitches) directly over the gap. Your working yarn is already in position at the base of the gap, so you can begin casting on when ready. When you finish casting on, you will have one extra stitch on your needle—the stitch that was left after you bound off. Knit this stitch together with the first new cast-on stitch to close the gap. Continue knitting the rest of the row.

Step 3: Reinforce on the next row (optional but recommended). On the following row, when you reach the buttonhole, purl across the new stitches. This creates a small ridge on the wrong side that strengthens the edge. If you are working in stockinette stitch, this ridge will be invisible from the front.

The one-row buttonhole is complete. The edges may look a little loose at first, but they tighten up when you block your finished garment.

The Two-Row Buttonhole (Strongest Method)

The two-row buttonhole spreads the bind-off and cast-on across two rows, creating a thicker, more durable edge. Use this method for heavy coats, cardigans that will be buttoned and unbuttoned frequently, or any garment where the buttonhole will take a lot of stress.

Step 1: Bind off on the first row. Knit to the buttonhole position and bind off your calculated number of stitches (4 stitches). Knit to the end of the row. Do not cast on anything yet.

Step 2: Cast on on the next row. On the following row, purl (or knit, depending on your stitch pattern) to the gap. Using the cable cast-on, cast on the same number of stitches you bound off (4 stitches). Purl to the end of the row.

Step 3: Reinforce on the third row. On the next row, knit to the buttonhole. Slip the first new cast-on stitch, then knit the remaining new stitches. This creates a chain-like edge that is very strong. Knit to the end of the row.

The two-row buttonhole takes longer than the one-row version, but the result is noticeably more durable. The edges are thicker and less likely to stretch or fray with repeated use.

The Eyelet Buttonhole (Smallest Method)

The eyelet buttonhole is the smallest of the three methods and is worked on a single row using a yarn-over and a decrease. It works best for lightweight yarns and small buttons. Because it is so small, it is not suitable for large buttons or heavy fabrics.

Step 1: Work the yarn-over and decrease. Knit to two stitches before your buttonhole position. Knit two stitches together (a right-leaning decrease). Yarn over once. This creates a one-stitch hole. Continue knitting to the end of the row.

Step 2: Purl the next row normally. On the following row, purl across the yarn-over stitch as if it were a regular stitch. The hole is now complete.

The eyelet buttonhole is so small that it works best for buttons under 0.5 inches in diameter. If your button is larger, use the one-row or two-row method instead. The eyelet method is popular for baby garments, shawls, and delicate cardigans where the buttonholes are more decorative than functional.

Reinforcing Buttonhole Edges After Knitting

After you finish knitting your garment and before you weave in your ends, reinforce the buttonhole edges. This prevents the stitches from unraveling and keeps the opening from stretching out of shape. The two easiest methods are single crochet and duplicate stitch.

Single crochet method: Thread a crochet hook with a length of yarn that matches your garment. Insert the hook under the first stitch at the edge of the buttonhole, pull the yarn through, and single crochet around the entire opening. Work one stitch in each knit stitch and two stitches in each corner. Fasten off and weave in the end. This creates a smooth, finished edge that looks intentional.

Duplicate stitch method: Thread a tapestry needle with yarn and trace over the stitches that form the edge of the buttonhole, following the path of the knit stitches. Work around the entire opening once. This method is less visible than crochet and works well if you want the buttonhole to blend into the fabric.

Common Mistakes and How to Fix Them

The most common mistake is calculating the buttonhole size incorrectly. If your buttonhole is too small, the button will not fit through without stretching the fabric, and repeated buttoning will eventually tear the edges. If it is too large, the button will fall through and the garment will not close properly. This is why testing on a swatch is essential—it takes 10 minutes and saves you from ripping back rows or starting over entirely.

The second common mistake is forgetting to reinforce the edges. Unreinforced buttonholes, especially one-row buttonholes, can develop loose stitches that unravel. If this happens after you have finished your garment, you can still fix it by working single crochet or duplicate stitch around the opening. It is easier to do this before you weave in your ends, but it is not impossible to do afterward.

The third mistake is using the wrong cast-on method for the new stitches. The cable cast-on is the best choice because it creates a firm edge that matches the bind-off edge. Avoid the long-tail cast-on or thumb cast-on for buttonholes, because these methods create a looser edge that will stretch.

Frequently Asked Questions

Can I make a buttonhole in the middle of a row, or does it have to be at the edge?

You can make a buttonhole anywhere on your fabric, including the middle of a row. The method is the same—bind off the stitches, cast them back on, and reinforce the edges. Buttonholes in the middle of the fabric are common on cardigans and button-front sweaters.

What if I made a buttonhole too small and my button does not fit?

If the buttonhole is only slightly too small, you can carefully stretch it by inserting a tapestry needle through the opening and gently pulling the edges apart. If it is much too small, you will need to rip back to the buttonhole row, recalculate your stitch count, and reknit that section. This is why testing on a swatch first is so important.

Do I need to use a special yarn to reinforce buttonholes?

No. Use the same yarn you used for the rest of your garment, or a yarn that matches it in weight and color. If you are working with a variegated or textured yarn, you may want to use a solid-colored yarn for reinforcement so the stitches blend in, but this is optional.

How many rows before my buttonhole should I start planning its position?

Plan your buttonhole positions before you start knitting. Measure your finished garment length and divide it by the number of buttons you need. This tells you how far apart each buttonhole should be. Mark these positions on your pattern or write them down so you do not forget where they go.

Can I knit buttonholes in ribbed fabric?

Yes, but it is trickier because you have to maintain the rib pattern around the buttonhole. Bind off and cast on the same number of stitches as you would in stockinette stitch, but make sure the new stitches line up with the rib pattern on either side. If your rib is knit-purl-knit-purl, your buttonhole should start and end on a knit stitch so the pattern stays balanced.