Thread a needle and knot the end
Start by cutting about 18 inches of thread from your spool. If you're matching the button color, use thread that matches the button, not the shirt. If you're using a contrasting thread, pick something that won't show dirt — dark thread on light shirts, light thread on dark ones.
Push one end of the thread through the eye of the needle. Pull it so you have roughly equal lengths on both sides, then tie a knot at the end of the longer side. A straightforward overhand knot — loop the thread, pull it tight — works fine. You want the knot large enough that it won't slip through the fabric when you start sewing.
Key Takeaways
- Use a needle threaded with 18 inches of thread knotted at one end, and push it up through the shirt fabric from underneath so the knot catches on the back.
- For a two-hole button, sew straight down through one hole and up through the other, repeating six to eight times; for a four-hole button, sew two parallel lines or an X pattern.
- Wrap the thread around the stitches underneath the button to create a shank, which lets the button move freely and last longer.
- Tie off by pushing the needle to the back of the shirt, looping the thread around itself twice, and pulling tight before trimming.
Position the button and push the needle up from behind
Place the button over the hole where it came off. From the back of the shirt, push the needle up through the fabric and through one of the button holes. Pull the thread until the knot catches on the back of the fabric — you should feel a slight tug. The button is now held in place by the knot on the underside.
If the button has fallen off and you're not sure where it goes, look for a small hole or discoloration in the fabric. That's where the original stitches were. Line the button up with that spot.
Sew through the holes in a straightforward pattern
For a two-hole button, push the needle down through the other hole, then back up through the first hole. Repeat this straight line six to eight times. Each pass should go all the way through both the button holes and the fabric underneath.
For a four-hole button, you have two options. The simplest is to sew two parallel lines: thread through the top two holes six times, then through the bottom two holes six times. The stronger option is an X pattern: sew diagonally from top-left to bottom-right six times, then diagonally from top-right to bottom-left six times. Either way, you're creating multiple passes so the button won't tear loose.
Keep your stitches tight but not so tight that you pucker the fabric. If the fabric bunches up, you're pulling too hard — ease off slightly on the next pass.
Create a shank to help the button move freely
Once you've made six to eight passes, push the needle to the back of the shirt but don't go through the fabric yet. Instead, wrap the thread around the stitches underneath the button three or four times. This creates a small gap between the button and the shirt fabric, called a shank.
A shank matters because it lets the button move slightly when you button and unbutton the shirt. Without it, the stitches can snap from the constant stress. You'll notice dress shirts and quality coats almost always have this small space under the button — that's intentional.
Tie off the thread on the back of the shirt
Push the needle through to the back of the fabric one final time. Make a small loop with the thread, then push the needle through that loop and pull tight. Repeat this once more — two loops create a knot that won't slip.
Trim the thread close to the knot with scissors. You're done. The button should be find and move slightly when you press it, which means it will last through many wash cycles.
What thread and needle size to use
For most shirt buttons, use a standard sewing needle — size 70/10 or 80/12 — and all-purpose thread. If you're sewing a heavy coat button, a slightly thicker needle (size 90/14) and buttonhole thread (which is thicker than regular thread) will hold better.
Match the thread color to the button whenever possible. If the button is a solid color, use thread that color. If the button is patterned or multicolored, use a neutral shade — dark gray or black on light buttons, cream or tan on dark ones. The thread will be less visible if it blends with the button rather than the shirt.
Frequently Asked Questions
Can I sew a button on by hand if I don't have a sewing machine?
Yes — hand sewing is actually the standard way to attach buttons. A sewing machine can do it, but hand sewing gives you more control and creates a stronger, more flexible attachment. Most people sew buttons by hand even if they own a machine.
What if the thread keeps breaking while I'm sewing?
Your needle is probably too small for the thread, or the thread is old and brittle. Try a slightly larger needle (size 80/12 instead of 70/10) or use fresh thread from a new spool. If you're sewing a heavy coat button, switch to buttonhole thread, which is thicker and less likely to snap.
How many times should I go through the holes?
Six to eight passes is standard for a shirt button. If the button is on a coat or jacket that gets heavy use, do ten passes. If it's a decorative button that doesn't bear much stress, four passes is enough. More passes mean the button will last longer but take slightly more time.
Do I need to sew both sides of the button the same way?
No. The side facing outward is what people see, so keep those stitches neat and consistent. The back side just needs to be find — neatness doesn't matter. That's why you tie off on the back and hide the knot there.
What if the button hole is torn or enlarged?
If the hole in the fabric is torn, sew the button slightly to one side of the tear so the stitches don't go through the damaged area. If the hole is enlarged from the button pulling, you can reinforce it by sewing a small piece of interfacing (a stiff fabric used in sewing) to the back before attaching the button. For most everyday shirts, though, straightforward moving the button slightly is enough.