The two main ways to make a buttonhole while you knit

A buttonhole in knitting is a deliberate gap in the fabric that you create by binding off stitches on one row and casting them back on the next row. The two methods you'll see most often are the one-row buttonhole (faster, works for small buttons) and the two-row buttonhole (sturdier, better for larger buttons or heavy fabrics). Both are worked into the body of your piece as you knit—you don't go back and cut holes afterward.

Which method you choose depends on your button size and how much stress the buttonhole will take. A one-row buttonhole works well for lightweight garments and buttons under half an inch. A two-row buttonhole gives you more fabric around the opening and holds up better on cardigans, coats, or anything that gets buttoned and unbuttoned often.

Key Takeaways

  • A one-row buttonhole is made by binding off a few stitches on one row, then casting them back on the next row in the same spot.
  • A two-row buttonhole spreads the bind-off and cast-on across two separate rows, creating a stronger, more finished edge.
  • The number of stitches you bind off should match your button diameter—test on a swatch or measure your button first.
  • Both methods are worked in the middle of a row, not at the edges, so you keep your selvage stitches intact.
  • Buttonholes should be positioned on the right front of a garment for women's wear and the left front for men's wear, by convention.

How to work a one-row buttonhole

Knit across your row until you reach the spot where the buttonhole should go. On the next stitch, bind off the number of stitches your button needs—usually 2 to 4 stitches for a small button, up to 6 for a large one. To bind off, knit one stitch, pass the previous stitch over it, and repeat until you've bound off the right number. You'll have one stitch left on your right needle after the bind-off.

Continue knitting across the rest of the row. On the next row (the return row), when you reach the gap where you bound off stitches, use the backward loop cast-on or cable cast-on to add the same number of stitches back onto your left needle. Then knit those new stitches as normal. The gap closes up, and you have a finished buttonhole.

The one-row method is quick because the whole thing happens in two rows. The drawback is that the cast-on edge can look a bit loose or uneven if you're not careful with tension, and it can stretch over time with use.

How to work a two-row buttonhole

Knit to the buttonhole position on Row 1. Bind off the stitches you need (same count as the one-row method), then knit to the end of the row. The gap stays open—you don't cast anything back yet.

On Row 2 (the return row), purl (or knit, depending on your stitch pattern) across until you reach the gap. At the gap, use your chosen cast-on method to add the same number of stitches back onto your left needle. Purl or knit those new stitches, then finish the row. Now the buttonhole is complete.

The two-row method takes one extra row but gives you a more stable buttonhole. The bind-off edge and the cast-on edge are on opposite sides of the fabric, which distributes stress more evenly. This is the better choice for buttons that will be fastened and unfastened many times.

Choosing the right cast-on for the buttonhole edge

The cast-on you use when closing the gap matters because it affects how the buttonhole looks and feels. The backward loop cast-on is the fastest—you straightforward loop yarn around your thumb and pull the needle through—but it can look sloppy and stretch easily. Use it only for one-row buttonholes in lightweight yarn.

The cable cast-on is stronger and neater. Insert your needle between the last two stitches on your left needle, wrap yarn around, and pull through to create a new stitch. Repeat for each stitch you need to add. It takes a bit longer but gives a finished look that matches the rest of your knitting.

The long-tail cast-on works too if you have enough yarn tail left, but it's awkward to do in the middle of a row. Most knitters stick with cable cast-on for buttonholes because it's reliable and looks professional.

Measuring your button and testing the buttonhole size

Before you commit to a buttonhole in your actual garment, measure your button. Lay it flat and measure across the widest point. A buttonhole should be just slightly larger than the button—about one-eighth inch bigger—so the button slides through without forcing but doesn't fall out.

Knit a small swatch in the same yarn and stitch pattern you're using for your garment, then work a test buttonhole in it. Bind off and cast on the number of stitches you're planning to use, then try threading your button through. If it's too tight, you'll need to bind off one more stitch next time. If it's too loose, bind off one fewer. Write down the number that works so you don't have to guess when you reach the real buttonholes.

This step takes ten minutes and saves you from having to rip back an entire front panel because the buttonholes are the wrong size.

Positioning buttonholes on a finished garment

Buttonholes are usually placed vertically along the front edge of a cardigan, coat, or shirt. Space them evenly—if you have five buttons, divide the length of the front opening into six equal sections and place a buttonhole in the center of each section except the top and bottom (which often have buttons at the very edge).

By convention, buttonholes go on the right front of women's garments and the left front of men's garments. This matters if you're knitting a gift or following a pattern. The buttonhole row is typically worked a few rows below where you'll pick up stitches for a button band, so the band can be knitted on afterward and the buttons sewn to it.

If you're working a pattern, it will tell you exactly which row to work each buttonhole. If you're designing your own, mark the positions with stitch markers or a piece of contrasting yarn before you start knitting so you don't lose count.

Fixing a buttonhole that went wrong

If you bound off too many stitches and the hole is too big, or too few and it's too small, you have options. For a small mistake, you can often fudge it by adjusting your cast-on tension—cast on more loosely if the hole is tight, or more tightly if it's loose. This won't fix a major size error but can help with minor ones.

If the buttonhole is truly wrong, your best bet is to rip back to the row before you worked it, fix the stitch count, and redo the buttonhole. This is easier than trying to patch it after the fact. Mark the row number before you start so you know exactly where to rip to.

If you notice the problem only after you've knitted several rows past the buttonhole, you can use a crochet hook to carefully enlarge a too-small hole by pulling the edges outward and securing them with a few stitches. This is a last resort and takes patience, but it works in a pinch.

Frequently Asked Questions

Can I make a buttonhole in a ribbed fabric?

Yes, but it's trickier because you have to maintain the rib pattern while binding off and casting on. Bind off stitches in pattern (knit the knits, purl the purls), and cast them back on in pattern too. A two-row buttonhole is easier in ribbing because you have two chances to get the pattern right.

What if my button is oddly shaped or very large?

Measure the widest point of the button and add one-eighth inch. If it's larger than six stitches, you may need to bind off more stitches than usual, or consider using a two-row buttonhole for extra strength. Test on a swatch first.

Do I need to reinforce the edges of a buttonhole?

For lightweight garments and small buttons, no. For heavy coats or large buttons, you can reinforce by working a row of single crochet around the buttonhole edge after you've finished knitting, or by sewing a small rectangle of interfacing behind the buttonhole on the inside of the garment.

Can I work a buttonhole in the middle of a purl row instead of a knit row?

Yes. The method is the same—bind off stitches in purl, then cast them back on in the next row. The buttonhole will look the same regardless of which row you work it on, as long as you maintain your stitch pattern.

How many rows should I leave between buttonholes?

Space them evenly along the length of your front opening. If you have five buttonholes over a 10-inch opening, that's roughly 2 inches apart. In rows, this depends on your gauge, but a pattern will specify the exact row numbers to use.