How to Calculate Fabric Yardage for a Sofa

I've done this calculation thousands of times. I still use a tool for it, because one missed zone or one wrong pattern repeat offset costs more than the 2 minutes it takes to run the numbers right.

Here's the method I use — and the method behind the StitchDesk calculator — broken into steps you can follow for any sofa.

TL;DR

  • How To Calculate Sofa yardage depends on fabric width, construction details, pattern repeat, and nap direction.
  • Plain 54-inch fabric requires a baseline calculation plus 10-15% waste allowance for a standard how to calculate sofa job.
  • Patterned fabric adds 20-35% to base yardage depending on repeat size and the number of cutting zones that must align.
  • Directional fabrics add 15-25% over plain fabric because layout optimization is restricted by nap direction.
  • Always verify fabric width before finalizing yardage; COM fabric often comes in non-standard widths.
  • Calculating yardage at the quote stage, not mid-job, eliminates reorders and protects your profit margin.

Step 1: Identify and Measure Every Cutting Zone

A sofa is not one piece of fabric. It's 10–14 distinct cutting zones. Most yardage errors happen because someone forgot a zone — usually the deck, the welt cording, or the seat cushion back panels.

For a standard 3-cushion sofa, measure:

  1. Inside back: Width × height. Width is typically sofa width minus arm widths. Height is from seat level to top of back.
  2. Outside back: Width × height. Often the same or slightly smaller than inside back.
  3. Inside arm (left): Width × height. Width is typically arm depth front to back. Height is from seat to arm top.
  4. Inside arm (right): Same as left.
  5. Outside arm (left): Width (typically arm depth + any return) × height (seat to top of arm).
  6. Outside arm (right): Same as left.
  7. Seat deck: Width × depth. This is the surface the cushions sit on. Often done in cambric or utility fabric, but some shops use decorative fabric.
  8. Front border: Width × height. The vertical panel at the front of the sofa below the seat cushions.
  9. Seat cushion top faces (3): Each cushion face width × depth.
  10. Seat cushion bottom faces (3): Same dimensions as top.
  11. Seat cushion boxing strips (3): Total perimeter of each cushion × boxing depth.
  12. Welt cording: Estimate 20–25 linear yards on a standard sofa × cording strip width.

Add back cushions if loose:

  1. Back cushion fronts: Width × height per cushion.
  2. Back cushion backs: Same.
  3. Back cushion boxing: If applicable.

Optional zones:

  • Skirt (if applicable): Perimeter × skirt drop.
  • Pull-over under arm: Some arm styles have a panel that wraps under the arm rail.

Write all measurements down before you calculate anything. Missing a zone in the measurement phase is where the error starts.

Step 2: Calculate Panel Yardage for Each Zone

Work with 54-inch fabric (52-inch usable) as the standard.

For each panel:

  • Determine how many panels fit side by side across 52-inch usable width.
  • The "row height" needed for that panel is the panel height plus seam allowances (add 1 inch total for 0.5-inch seam on each side).
  • Linear yards needed = row height / 36.

Example calculation for a 3-cushion sofa:

| Zone | Panel Size | Panels per row | Row height | Yards |

|---|---|---|---|---|

| Inside back | 36" x 24" | 1 | 25" | 0.69 |

| Outside back | 36" x 24" | 1 | 25" | 0.69 |

| Inside arms (both) | 24" x 22" each | 2 | 23" | 0.64 |

| Outside arms (both) | 24" x 14" each | 2 | 15" | 0.42 |

| Seat deck | 78" x 20" | 1 | 21" | 0.58 |

| Front border | 78" x 8" | 1 | 9" | 0.25 |

| Seat cushion faces (top+bottom, 3 cushions) | 24" x 24" each | 2 per row | 50" | 1.39 |

| Cushion boxing all 3 | Strips at 5" | — | 24" | 0.67 |

| Welt cording (22 yards) | 2.5" bias strips | — | 24" | 0.67 |

| Subtotal | | | | 6.0 yards |

Add 10% cutting buffer: 0.6 yards. Practical order: 7 yards for plain fabric.

Step 3: Add Pattern Repeat Waste

For each zone, calculate the "repeat roundup" — how much extra bolt length you need to start the cut at the beginning of a repeat.

Formula per zone:

  1. Divide the panel height by the repeat length.
  2. Take the fractional remainder and multiply by the repeat length to get the waste inches for that zone.
  3. Sum the waste inches across all zones and divide by 36 to get waste yards.

Example: 13.5-inch repeat on the same sofa:

| Zone | Panel height | Waste inches |

|---|---|---|

| Inside back | 24" | 3" (24 mod 13.5 = 10.5; waste = 13.5 - 10.5 = 3") |

| Outside back | 24" | 3" |

| Inside arm | 22" | 5" (22 mod 13.5 = 8.5; waste = 5") |

| Outside arm | 14" | 13.5" (14 is just over 1 repeat; waste ≈ 13") |

| Front border | 8" | 5.5" |

| Cushion face | 24" | 3" (x3 = 9") |

| Total waste | | ~42" = 1.17 yards |

Round up to 1.25 yards. Add to plain fabric total: 7 + 1.25 = 8.25 yards for a 13.5-inch repeat.

For a 27-inch repeat, repeat the same calculation — the waste per zone is generally larger, and total pattern waste for the same sofa is typically 2.5–4 yards.

Step 4: Add Nap Direction Adjustment

If using velvet, chenille, or directional microfiber:

  • Multiply the plain fabric subtotal by 1.15–1.20 (15–20% nap adjustment).
  • 7 yards plain × 1.17 = 8.2 yards. Order 8.5 yards.

If using velvet with a pattern repeat, calculate the pattern waste on the nap-adjusted base, not the plain base.

Step 5: Document and Order

Write down the calculation so you have it. Not just the final number — the zone breakdown. If you need to explain the yardage to a client who brought their own fabric, or if you need to verify a reorder, the breakdown is what you need.

In StitchDesk, the calculator outputs the zone breakdown automatically and saves it to the job ticket. You don't need a separate document — it's on the job.

Common Mistakes

Forgetting welt cording. It's 1–1.5 yards on a sofa. Easy to calculate all the decorative panels correctly and miss this.

Using finished dimensions without seam allowance. Every panel is cut larger than finished. Add 1 inch total (0.5 per side) to each panel height and width in your calculation.

Estimating arm panels. Arm dimensions vary more than back and seat dimensions. Measure the actual arm, not a standard size.

Not accounting for T-cushion style. T-cushion sofas have a different seat front geometry that adds cutting complexity and yardage versus straight-front cushions.

FAQ

How many yards of fabric do I need for a sofa?

A standard 84-inch 3-cushion sofa needs 7–8 yards of 54-inch plain fabric. Add 1–1.5 yards for a 13.5-inch pattern repeat. Add 2.5–4 yards for a 27-inch repeat. Add 15–20% for velvet or other nap-direction fabrics. Sofas with skirts, very high backs, or oversized dimensions need additional yardage.

What is the easiest way to calculate sofa fabric yardage?

The fastest accurate method is the StitchDesk fabric yardage calculator. Enter your sofa dimensions, arm style, cushion count, and fabric details, and it outputs the zone breakdown and total in under 2 minutes. For manual calculation, work zone by zone, calculate how many panels fit per row on your fabric width, and sum the row heights. Don't forget welt cording and seam allowances.

Should I add extra fabric when ordering for a sofa?

Yes. Order at least 10% over your calculated amount as a cutting buffer. For patterned fabrics, use the specific pattern waste calculation rather than a percentage guess. For COM jobs where you can't reorder, add a 15% buffer and confirm with the client before accepting the job with insufficient yardage. Running short mid-job on COM fabric is worse than over-ordering by a yard.

What is the biggest factor in yardage variation for this piece?

Pattern repeat is the biggest source of yardage variation. On plain fabric, the baseline calculation plus a 10-15% waste buffer is usually sufficient. Add a 13-inch pattern repeat and you may need 15-20% more. Add a 27-inch pattern repeat and the additional yardage can be 25-35% over the plain fabric calculation. Nap direction is the second-largest factor, typically adding 15-25% over plain fabric because layout optimization is restricted.

Sources

  • National Upholstery Association
  • Association of Master Upholsterers and Soft Furnishers (AMUSF)
  • Upholstered Furniture Action Council (UFAC)
  • Furniture Today (trade publication)

Get Started with StitchDesk

Getting yardage right on how to calculate sofa jobs is the difference between a profitable quote and an expensive reorder. StitchDesk's fabric calculator accounts for all the variables that cause errors: pattern repeat by zone, nap direction, fabric width, and cushion configuration. Start a free trial and see how accurate yardage calculation affects your bottom line.

StitchDesk | purpose-built tools for your operation.