I'm pretty lazy, especially when it comes to handsewing buttons. Luckily I can do them by machine! Some sewing machines have a special button you can press that automatically inputs all the settings you need to do buttons, but not everyone has one of those fancy-pants machines. Following these instructions you can do this on any machine that can do a zigzag stitch!
Step 1: Choosing Buttons
This method will only work with buttons that have holes all the way through from top to bottom. It will work with either two holes or four; you'll simply sew one pair of holes at a time. It will NOT work on buttons that have a shank. See photo for examples of each.
Step 2: Button Feet
There are actual "button feet" meant specifically for sewing on buttons. They have a small U-shaped base covered in a rubbery material. The shape of the foot allows you to easily see your button, and the rubbery surface helps grip the button so it doesn't go sliding away.
You can still do this if you don't have a special foot. Choose a foot that would allow you to do a wide zig-zag stitch and tape or glue a small U-shaped piece of rubber or foam to the bottom. It will be harder to see your button holes to set your stitches, but with a little practice you can do it. The first photo above shows both a real button foot and my faux button foot. The second image shows the real button foot attached to the machine, and the third shows the faux button foot on the machine. For purposes of this instructable I'll be using the real one simply because it will be easier for you to see what I'm doing.
Step 3: Setting Up Your Machine
First off, set your machine to sew a zig-zag stitch.
Set your stitch length to zero. This should keep your feed dogs from advancing the fabric. However, sometimes the feed dogs will still move up and down in a motion that will bump your button up and down. If this happens, turn your feed dogs off. Every machine is different, but generally there's a switch at the back of the machine that will do this. Consult your manual if you can't find it.
Place your fabric and button so that the two holes you are going to sew through are centered in the foot directly below your needle. Now adjust your stitch width so that when the needle comes down on the left hand side it goes directly through the center of the left hole, and when it comes down on the right hand side it goes directly through the center of the right hole. Test this out by carefully rotating the handwheel towards you until you see where the needle is going to go. If the needle looks like it's going to impact the button, stop and adjust the stitch width again. Do NOT step on the pedal until you are sure the needle isn't going to hit the button!
Step 4: Sew Your Button!
Once the needle clears the holes on either side you're ready to go. Step on the pedal and let the machine make about ten back and forth stitches. Don't let it make too many stitches; you want just enough to hold the button on firmly.
This particular button is just going to be decorative, but if I was sewing a button that was intended to be functional I might want a little bit of space between the button and the fabric. In that case, I'd make a little U-shaped spacer out of cardboard and slide it between the button and fabric before sewing to create that space.
Step 5: Tie Off Threads
Once your button is sewn on you'll want to make sure it STAYS on. Pull all of the loose threads to the back of your fabric and tie them off so your button doesn't come loose. If you're having trouble getting your threads to the back, pass them through the eye of a sewing needle and push the needle through to the back.
Step 6: TA-DA!
You've done it!
All this was done on a basic sewing machine at TechShop.