Measure Your Sofa and Choose Your Fabric
Before you cut a single piece of cloth, you need exact measurements of your sofa and a fabric that will hold up to regular use. Measure the length, width, and height of each section you plan to cover: the seat cushion, the back, the arms, and any welting or trim. Write these down. Add 2 inches to each dimension for seam allowance, and another 2 to 4 inches for tucking fabric into crevices and under cushions—this slack is what keeps the cover from pulling tight and splitting.
Choose a medium-weight upholstery fabric rather than quilting cotton or lightweight linen. Upholstery fabric is woven tighter, resists pilling, and handles the friction of sitting better. Linen blends, canvas, and performance fabrics (like Sunbrella) all work. Avoid anything stretchy or slippery—knits and satins will shift and bunch under weight. Buy 10 to 15 percent more yardage than your math suggests, because pattern matching, mistakes, and the way fabric lies on a cutting table all eat into your total.
Key Takeaways
- Measure each section of your sofa separately and add 4 to 6 inches per dimension for seams and tucking before calculating yardage.
- Use upholstery-weight fabric, not quilting cotton, because it resists pilling and holds up to the friction of regular sitting.
- Cut and sew the seat cushion cover first as a test piece, because mistakes there are cheaper than mistakes on the back.
- Sew seams with a 1/2-inch allowance using a heavy-duty needle and thread rated for upholstery, and backstitch at the start and end of every seam.
- Finish raw edges with a zigzag stitch or serger to prevent fraying, especially on seams that will be tucked and hidden.
Cut Your Pattern Pieces and Label Them
Lay your fabric on a clean, flat surface and cut one piece for each section of the sofa. For a basic three-cushion sofa, that means one piece for the seat front, one for the seat back, one for each arm, one for the sofa back, and one for the underside if you want full coverage. Use a rotary cutter and ruler for straight edges, or mark your cutting lines with tailor's chalk and cut with sharp fabric scissors. Dull scissors will drag the weave and create a ragged edge that frays easily.
Label each piece on the back with a fabric pen or chalk: "Seat Front," "Left Arm," "Back," and so on. This saves confusion when you are at the sewing machine and have been working for two hours. Also mark the grain line (the direction the weave runs) on each piece with an arrow. Grain matters because fabric stretches slightly along the bias, and you want your seams to run parallel to the weave so the cover does not sag unevenly.
Sew the Seat Cushion Cover as Your Test Piece
Start with the seat cushion cover, not the back or arms. If something goes wrong—a seam that puckers, a measurement that was off by an inch—you have lost one cushion cover, not the whole project. A basic cushion cover is a rectangle with four sides. Sew the front to the left side, then the left side to the back, then the back to the right side, then the right side back to the front. Use a 1/2-inch seam allowance throughout, and backstitch at the beginning and end of every seam to lock the thread.
Sew with the fabric right sides together (the pretty sides facing each other), so the seams end up on the inside of the finished cover. Use a heavy-duty needle—size 16 or 18—and upholstery thread, which is thicker and stronger than regular sewing thread. A regular needle will bend or break under the pressure needed to push through multiple layers of upholstery fabric. Sew slowly and let the machine do the work; forcing the fabric through will jam the needle.
Once all four sides are sewn, turn the cover right side out through an opening you left unsewn (usually one of the short ends), and press the seams flat with an iron on medium heat. Tuck the raw edges of the opening inward and sew it closed with a ladder stitch (also called an invisible stitch), which hides the seam inside the fold. This is the seam that will show when the cushion is on the sofa, so take your time.
Finish Raw Edges to Prevent Fraying
Before you sew pieces together, finish the raw edges of each fabric piece with a zigzag stitch or a serger. This step takes five minutes per piece and prevents the edges from unraveling every time the cover is washed or sat on. Set your sewing machine to a medium-width zigzag (width 2.5 to 3, length 2 to 2.5) and run it along each raw edge, about 1/4 inch from the edge. The zigzag stitches over the edge and locks the fibers in place.
If you have access to a serger, use it instead—a serger finishes an edge in one pass and creates a neater, more professional look. A serger is not required, but if you plan to sew more than one cover, it saves time and frustration. If you do not have either tool, a straightforward straight stitch 1/4 inch from the edge is better than nothing, though it will not prevent fraying as effectively.
Sew the Back and Arm Pieces to the Seat
Once the cushion cover is done and you have confirmed your measurements are correct, sew the back panel to the back edge of the seat. Align the top corners and pin every 4 inches, then sew with a 1/2-inch seam. Press the seam open (fold it flat to either side) to reduce bulk. Repeat with each arm: sew the arm panel to the side edge of the seat, then sew the arm to the back panel where they meet at the corner.
Corners are where most covers fail. When three pieces meet at a corner, you have six layers of fabric and thread all trying to occupy the same space. Trim the seam allowance at each corner to 1/4 inch before you turn the cover right side out. This reduces bulk and lets the corner fold cleanly without puckering. If the corner still puckers after you turn it, clip into the seam allowance (cut a small notch perpendicular to the seam, but not through the stitching) to release the tension.
Attach Elastic or Ties to Hold the Cover in Place
A sofa cover that is not anchored will shift and bunch with every person who sits down. The easiest solution is to sew elastic straps to the underside of the cover and loop them around the sofa legs. Cut strips of 1-inch-wide elastic, each about 8 to 12 inches long. Fold each strip in half and sew the fold to the underside of the cover at points where it will reach a leg—usually the four corners and the center of each long side.
Alternatively, sew fabric ties (strips of leftover upholstery fabric, folded and sewn into tubes) to the same points. Ties are slower to attach but look neater if the cover ever shifts and the attachment points show. Either way, test the fit before you sew: drape the cover over the sofa, pull the elastic or ties under the frame, and loop them around the legs. Mark where each strap lands, then sew it down. This takes an hour but saves hours of readjusting the cover later.
Press, Fit, and Make Final Adjustments
Before you put the cover on the sofa, press all seams with an iron on medium heat. Pressing sets the stitches and makes the cover hang evenly. Put the cover on the sofa and smooth it into place, tucking fabric into seams and under cushions. Stand back and look for wrinkles, bunching, or areas where the fabric is pulling. If a seam is pulling, you may have cut a piece too small; if fabric is bunching, a piece may be too large.
Small adjustments can be made by unpicking a seam (use a seam ripper to cut the thread every few stitches, then pull the thread out) and resewing it with a slightly different seam allowance. If a piece is significantly off, you may need to cut a new one. This is frustrating but faster than living with a cover that does not fit. Once the cover fits smoothly, sew the elastic or ties in place if you have not already, and the cover is done.
Frequently Asked Questions
Can I use regular sewing thread instead of upholstery thread?
Regular thread will break under the stress of upholstery seams, especially on a sofa that is sat on daily. Upholstery thread is thicker and stronger. It costs a few dollars more per spool and is worth it. If you cannot find upholstery thread, use two strands of regular thread in the needle at once, but this is slower and less reliable.
What if my sofa has a pattern and I need to match it at the seams?
Pattern matching requires extra yardage and careful cutting. Lay out all your pieces on the fabric before cutting, and shift them so the pattern aligns at the seams. This often means wasting 15 to 20 percent of your fabric, so buy accordingly. Mark the grain line and pattern direction on each piece so you do not accidentally flip a piece during sewing.
How do I sew around the sofa legs if they are attached to the frame?
If the legs are fixed, you have two options: sew the cover to fit around them (measure carefully and cut notches in the fabric to fit over each leg), or sew the cover to fit the sofa without the legs and tuck it under the frame. The second option is easier and looks cleaner. The first option requires precise measurement and is worth attempting only if the legs are decorative and visible.
Do I need a serger to finish edges?
No. A zigzag stitch on a regular sewing machine works fine. A serger is faster and looks more professional, but it is not required. If you are making only one cover, a zigzag stitch is sufficient.
Can I wash the finished cover?
Yes, but check the fabric care instructions first. Most upholstery fabrics are machine-washable on a gentle cycle in cold water. Dry on low heat or air-dry to prevent shrinkage. Avoid bleach and fabric softener, which can damage the weave. If the fabric is dry-clean-only, the cover can be spot-cleaned but not fully washed.