How to Make a Modern Sofa
Learn to build a comfortable modern sofa from scratch with premium upholstery techniques.

Materials & Tools Needed
Step-by-Step Instructions
Design and Measure Your Space
Start by measuring the space where your sofa will go. Standard sofas are 72-96 inches long and 32-40 inches deep. Sketch your design including armrest style, back height, and overall proportions. Consider ergonomics: seat height should be 17-18 inches, seat depth 20-22 inches.
💡 Pro Tip
Take photos of sofas you like and note their dimensions. This helps visualize your final product.
Cut and Assemble the Frame
Cut your hardwood to size: front and back rails, side rails, and corner blocks. Use 2x4 or 2x6 lumber for main frame pieces. Join pieces with wood glue and 3-inch screws, reinforcing corners with corner blocks. Ensure frame is perfectly square by measuring diagonals.
💡 Pro Tip
Pre-drill all screw holes to prevent wood splitting. Use a carpenter's square to check angles.
Install Support System
Install sinuous springs or webbing across the frame for seat support. Space springs 4-6 inches apart, securing with specialized clips. Springs should curve upward in the middle when installed. Add a support rail down the center for sofas longer than 60 inches.
💡 Pro Tip
Sinuous springs provide better support than webbing and last longer. They're worth the extra investment.
Add Base Padding Layer
Cut a piece of 1-inch foam to cover the spring system, creating a barrier layer. This prevents the main cushion foam from wearing against the springs. Secure with spray adhesive, ensuring complete coverage with no gaps.
Build Armrests and Back Frame
Construct armrest frames using 2x2 lumber, determining height (typically 24-26 inches from floor). Build back frame with vertical supports every 12 inches. Attach armrests and back to main frame with screws and brackets, ensuring everything is level and secure.
💡 Pro Tip
Sloped armrests (slightly lower at front) are more comfortable than flat ones.
Apply Foam Padding to Frame
Wrap 2-inch high-density foam around armrests and back frame. Cut foam slightly larger than needed and compress it into place for a plump appearance. Use spray adhesive to secure foam, smoothing out any wrinkles or bumps as you work.
Create Seat Cushions
Cut high-density foam for seat cushions (4-6 inches thick). Add a 1-inch soft foam topper for comfort. Wrap in batting to smooth edges. Measure and sew cushion covers with zippers, leaving 1/2 inch smaller than foam dimensions for a tight, professional fit.
💡 Pro Tip
Use 2.5-3.0 lb density foam for seats - it balances comfort with durability.
Cut and Prepare Upholstery Fabric
Lay out your fabric and cut pieces for each section: back, arms, front rail, and sides. Add 3-4 inches extra on all sides for pulling and stapling. Mark fabric pieces clearly. If using patterned fabric, ensure patterns align across sections.
Upholster the Back
Start at the top center of the back frame. Pull fabric taut and staple at center, then work outward to corners, stapling every 1-2 inches. Fold corners neatly (hospital corners work well). Trim excess fabric, leaving 1/2 inch beyond staples.
💡 Pro Tip
Pull fabric firmly but not overly tight - it should have slight give when pressed.
Upholster Armrests
Begin at the top outside edge of each armrest. Pull fabric over foam padding, creating smooth lines without wrinkles. Staple underneath and at back, spacing staples 1 inch apart. Pleat fabric at curved areas for a professional finish.
Complete Bottom and Front Rail
Attach fabric to front rail (the board below seat cushions), pulling tight and stapling underneath. Add dust cover fabric to bottom of sofa, folding edges under for a clean finish. This protects internal structure and gives a professional appearance.
Final Assembly and Details
Attach furniture legs using mounting plates and screws. Add cushions and test comfort. Check all staples are secure and fabric is smooth. Add decorative piping or trim if desired. Vacuum thoroughly to remove any fabric fibers or dust from construction.
💡 Pro Tip
Let the sofa settle for 24 hours before using. Foam will compress slightly and fabric will adjust.