Fabric Yardage Calculator logoFabricYardageCalculator

Calculation Methodology

This page documents the formulas, assumptions, and rounding rules used by our calculator. Last reviewed on April 11, 2026.

Global Rules

  • Primary output is rounded up to the nearest quarter yard.
  • Meters are converted from rounded yard values using 1 yard = 0.9144 meters.
  • Pattern repeat is modeled as a multiplier for project types where repeat class is selected.
  • Where appropriate, default overage is included to reduce the chance of under-ordering.

Upholstery Formula

We start from a furniture-type base range at 54 inch width, take the midpoint, then apply repeat, piece count, overage, and width normalization.

base = (min + max) / 2
withRepeat = base * repeatMultiplier
withPieces = withRepeat * pieces
withOverage = withPieces * (1 + overagePercent/100)
totalYards = withOverage * (54 / fabricWidth)
result = ceil(totalYards * 4) / 4

Sewing Formula

Garment base yardage depends on garment type and size, normalized from 45 inch width.

base = garmentTable[garment][size]
withRepeat = base * repeatMultiplier
perItem = withRepeat * (45 / fabricWidth)
totalYards = perItem * quantity
result = ceil(totalYards * 4) / 4

Curtains Formula

Curtain yardage uses fullness, panel count by width, header allowance, optional repeat alignment, and optional lining estimate.

fabricNeededWidth = windowWidth * fullnessRatio
panels = ceil(fabricNeededWidth / fabricWidth)
cutLength = repeat > 0 ? ceil((drop + headerAllowance)/repeat) * repeat : drop + headerAllowance
yardsPerWindow = (panels * cutLength) / 36
totalYards = yardsPerWindow * windows

Quilting Formula

Quilting estimates include a 15% top-fabric overage plus optional backing and binding.

totalSqIn = width * height
perColour = (totalSqIn / colours / 1296) * 1.15
binding = includeBinding ? quarterRound(((perimeter + 20) / 42) * 2.5 / 36 * 4) : 0
backing = includeBacking ? quarterRound(((height + 8) / 36) * (width > 42 ? 2 : 1)) : 0
total = quarterRound(perColour) * colours + binding + backing

Cushions Formula

Cushion estimates use panel area, boxing area, 15% waste allowance, optional piping, and repeat adjustment.

panelArea = width * height * 2
boxingArea = (2 * (width + height)) * depth
totalArea = (panelArea + boxingArea) * 1.15
perCushion = totalArea / (fabricWidth * 36)
withRepeat = perCushion * repeatMultiplier
total = (withRepeat + pipingAdjustment) * quantity

Important Limits

Results are planning estimates, not cut plans. Complex tailoring details, directional nap, railroaded fabrics, and motif centering can increase required yardage. For professional jobs, confirm measurements with your upholsterer or workroom.

Related Pages

Quick links to our core policy, editorial, and company information pages.