Skip to main content
Calcimator

Upholstery Spring Calculator

Calculate spring count, layout grid, spring twine, and upholstery fabric yardage for furniture seat and back construction.

About this calculator

Coil springs and sinuous (zig-zag) springs are laid out completely differently, and this calculator switches its math depending on which one you pick. For 4" or 6" coil springs, it builds a grid: usable width and depth (frame dimensions minus the edge setback on both sides) are each divided by your spring spacing to get columns and rows, and total spring count is rows times columns — a true two-dimensional layout, since coil springs need support across the whole seat area. Sinuous springs instead run as continuous strips from front to back, so only one dimension (usable width divided by spacing) matters; each strip counts as one "spring" in the totals. Recommended spring height assumes coil springs compress to about 60% of their free height under a seated load, so free height is set relative to your target cushion thickness (at least the coil's own gauge height of 4" or 6").

Spring gauge recommendations shift toward a firmer wire (lower gauge number, since gauge numbering is inverted) as cushion height increases, favoring firmer support for thicker, softer-feeling cushions. The fabric yardage estimate is built from four separate pieces — seat deck, cushion cover (top, bottom, and boxing per cushion), inside back, and outside back — each with its own margin allowance, summed and then padded 15% for cutting waste and pattern matching, assuming standard 54"-wide upholstery fabric. Twine length is calculated only for coil springs, since sinuous springs are clipped rather than hand-tied in a traditional 8-way pattern.

Inputs

in
in
in
in
in

Results

Seat springs needed

25

Upholstery fabric (yards)

2.1

Spring rows (front-to-back)5
Spring columns / strips5
Back springs needed0
Total springs25
Recommended spring height (in)6
Spring twine needed (ft)57
Spring Gauge11 gauge (medium)
How to Use This Calculator
  1. Enter the Seat Frame Width and Seat Frame Depth in inches (inside dimensions).
  2. Select Spring Type (4" coil, 6" coil, or sinuous/zig-zag) and Spring Spacing in inches.
  3. Enter Cushion Height and Number of Seat Cushions; optionally include back springs.
  4. Review Seat Springs needed, Spring Rows and Columns, and Recommended Spring Height.
  5. Check Spring Twine length for 8-way hand tie and Upholstery Fabric yardage for purchasing.

How the result changes with Spring spacing (in)

Spring spacing (in)Seat springs neededUpholstery fabric (yards)
3.3362.1
4.05252.1
4.95162.1
5.7162.1

What each input means

Seat frame width (in)
Inside width of the seat frame (between rails).
Seat frame depth (in)
Inside depth of the seat frame (front rail to back rail).
Spring type
Coil springs for traditional upholstery; sinuous (zig-zag) for modern.
Spring spacing (in)
Center-to-center distance between springs. 4" is standard.
Edge setback (in)
Distance from frame edge to first spring center.
Cushion height (in)
Desired finished cushion thickness.
Number of seat cushions
1 for bench cushion, 2-3 for sectional seating.
Include back springs
Whether to calculate sinuous springs for the chair back.
Back frame height (in, if included)
Inside height of the back frame. Only used if back springs are included.

What each result means

Seat springs needed
Number of coil springs or sinuous strips for the seat.
Spring rows (front-to-back)
Number of spring rows. 0 for sinuous type.
Spring columns / strips
Columns of coil springs or number of sinuous strips.
Back springs needed
Sinuous springs for the chair back (if included).
Total springs
Combined seat and back spring count.
Recommended spring height (in)
Free height for coil springs based on cushion thickness.
Spring twine needed (ft)
Feet of spring twine for 8-way hand tie (coil springs only).
Upholstery fabric (yards)
Estimated yards of 54"-wide fabric including 15% waste.

How this is calculated

Worked example, using the default values

  1. Identify Input Parameters
    4 parameters
    Seat frame width (in) = 22, Seat frame depth (in) = 22, Spring type = 0, Spring spacing (in) = 4 = 9 input(s) provided
  2. Calculate Seat springs needed
    25 = 25
  3. Calculate Upholstery fabric
    Upholstery fabric = totalYardage * 1.15
    2.1 = 2.1
  4. Calculate Spring rows
    5 = 5
  5. Calculate Spring columns / strips
    5 = 5

Engine last updated . Checked against 2 independently-derived tests — how we verify calculators. Built by Paul Gunder, a software engineer, not a licensed financial, medical, or legal professional.

Frequently Asked Questions

Why does spring count use rows times columns for coil springs but not for sinuous springs?

Coil springs support the seat as a two-dimensional grid, so totalSprings comes from usable width divided by spacing (columns) multiplied by usable depth divided by spacing (rows). Sinuous springs instead run as continuous strips from the front rail to the back rail, so only usable width divided by spacing matters — each strip counts as one spring, and springRows is reported as 0 for that type.

Why does spring gauge get labeled as firmer with a lower number as cushion height increases?

Wire gauge numbering is inverted from what you'd expect — a lower gauge number means a thicker, stiffer wire. The calculator recommends 9 gauge coil (firmer) once cushion height reaches 5" or more and 11 gauge (medium) below that, because a taller, softer-feeling cushion needs firmer springs underneath to avoid bottoming out.

Why is spring twine length only calculated for coil springs?

twineLength is computed from springRows and springCols using a formula that models an 8-way hand-tied pattern, which is specific to how coil springs are traditionally secured to each other and the frame. Sinuous (zig-zag) springs are clipped directly to the frame rather than hand-tied, so twineFeet is set to 0 whenever springType is 2.

What four pieces make up the total fabric yardage estimate?

The calculator sums deckYardage (the seat deck with a margin allowance), cushionYardage (top, bottom, and boxing fabric for all cushions combined), insideBackYardage, and outsideBackYardage — each sized from your seat and back dimensions plus its own margin — then multiplies the total by 1.15 to allow for cutting waste and pattern matching, assuming standard 54"-wide fabric.

The questions that sit next to this one — chosen by subject, including calculators filed under a different category.

More in Crafts, Hobbies & Games.