Calculating curtain fabric with a pattern repeat means rounding every cut length up to the next whole repeat of the design before multiplying by the number of fabric widths. The basic curtain-fabric math stays the same: track width multiplied by fullness ratio, divided by fabric width and rounded up, gives the number of fabric widths to cut. The change with patterns is the cut length. Instead of using the finished drop plus hem allowance directly, each cut length must be rounded up to the next whole repeat so the design lines up cleanly across adjoining widths and across the pair of curtains. That extra rounding almost always adds fabric, and on large repeats it can add a lot — sometimes 30%, 40%, or more on top of a plain-fabric estimate. It is the single step most home sewers forget. The Curtain Fabric Calculator runs the plain-fabric widths and total length live; the repeat-rounding step is the one piece you apply on top, because every patterned fabric wastes differently depending on its repeat height.

how to calculate curtain fabric with pattern repeat
how to calculate curtain fabric with pattern repeat

Why Pattern Repeat Changes the Numbers

A plain curtain can be cut at any length. Drop plus hem, and that is your cut. A patterned curtain cannot, because the design has to start at the same point on every width so the motif lines up horizontally when the curtains are drawn, and vertically where one drop meets the next inside a single panel. To enforce that, every cut length is forced to a whole number of repeats. The arithmetic is simple — divide the cut length by the repeat, round up, and multiply back — but the effect on fabric usage is dramatic. A 64 cm repeat on a 180 cm drop pushes a 202 cm cut to 256 cm. A 90 cm repeat on the same drop pushes it to 270 cm. A short 16 cm repeat on a 180 cm drop rounds up to 192 cm, barely noticeable. The wider the repeat, the more fabric you buy for the same finished curtain.

The Three Core Numbers Behind Every Curtain

Every curtain calculation, patterned or not, is built from three numbers. The first is the number of fabric widths. The Curtain Fabric Calculator computes it as track width multiplied by fullness ratio, divided by your fabric width, then rounded up to the next whole number because you cannot buy half a width. The second is the cut length per width — your finished drop plus a hem and heading allowance, which is usually 20–25 cm combined, but you can set your own to match your heading tape and hem style. The third is total fabric, which is widths multiplied by cut length, with a 10% margin added for pattern matching, shrinkage, and cutting mistakes. For plain fabric those three numbers are the whole job. For patterned fabric, the second number must be rounded up to a whole repeat, and that is where the extra fabric comes from. The widths figure does not change because of pattern. If you want the underlying arithmetic written out longhand, the step-by-step formula guide walks through the plain-fabric calculation in metres.

Calculate Curtain Fabric With Pattern Repeat (Step by Step)

  1. Measure the track or pole width across the full window, then measure the finished drop from the hook or track down to where the hem should sit.
  2. Open the Curtain Fabric Calculator and pick your units — centimetres or inches. Every measurement you enter must be in the same unit.
  3. Enter the track width, finished drop, fullness ratio that matches your heading style, and the width of your chosen fabric. The widths number updates live as you type.
  4. Set the hem and heading allowance to match your hem depth and heading tape. Twenty to 25 cm (about 8 to 10 in) is a sensible default, but a deeper hem, a buckram heading, or a specific tape will push it higher or lower.
  5. Read the live results: number of fabric widths, cut length per width, and the total fabric to buy with a 10% margin. The 10% margin is a built-in buffer for shrinkage and small cutting mistakes; for patterned fabric you will replace it on the next step.
  6. Note the vertical pattern repeat from the bolt or product page. Divide the calculator's cut length by the repeat, round up to the next whole number, and multiply back. Replace the cut length with this repeat-rounded value.
  7. Recompute the total: repeat-rounded cut length multiplied by number of widths. Then add the buying margin on top — 10% for small repeats and small motifs, 15% or more for stripes or large-scale designs that have to match at every seam.

Worked example. Take a 240 cm track, a 180 cm finished drop, a 137 cm wide fabric, a 2× fullness ratio, a 22 cm hem and heading allowance, and a 64 cm vertical pattern repeat. The calculator gives 4 fabric widths — 240 × 2 = 480, divided by 137 = 3.5, rounded up to 4 — and a 202 cm plain cut length (180 + 22). Applying the repeat: 202 ÷ 64 = 3.156, rounded up to 4 repeats, gives 4 × 64 = 256 cm per cut. Total fabric is 4 × 256 = 1024 cm, or about 10.24 m. With a 10% buying margin, that is roughly 11.3 m off the roll. The same curtain in plain fabric would need only 4 × 202 = 808 cm (about 8.1 m), plus 10% for 8.9 m. The pattern repeat has added roughly 2.4 m of fabric to the same finished curtain.

Fullness Ratio by Heading Style

Fullness is the multiplier that turns a flat track width into gathered curtain width. Too little and the curtain looks mean and skimpy; too much and it is heavy, stacks poorly when drawn, and burns through extra fabric. The right value depends on the heading you plan to use, and the calculator lets you set your own — the table below is a starting point, not a fixed rule.

Heading styleTypical fullnessWhat to expect
Pencil pleat2.0–2.5×Classic gathered look, holds its shape well across the full track
Pinch pleat2.0–2.5×Sharper folds, slightly heavier appearance, suits formal rooms
Eyelet1.5–2.0×Soft even waves, lighter look, easier to draw
Tab top1.2–1.5×Flat-hanging, minimal gathering, casual style
Wave or S-fold2.0–2.25×Designed for S-fold tracks, continuous even folds

Below 1.5×, curtains look flat; above 2.5×, they look generous but heavy. If you are unsure, 2× is the safest middle for pencil and pinch pleat on a 137 cm or 140 cm decorator fabric.

Pattern Repeat Size and the Fabric It Eats

Pattern repeats vary from a few centimetres on small geometric prints to a metre or more on large scenic or floral designs. The wider the vertical repeat, the more fabric the rounding step tends to eat. The table below describes the direction and rough magnitude of that effect; the exact rounded figures for your own drop and repeat come from the round-up rule applied to the calculator's cut length.

Pattern repeatDirection of waste vs plainTypical impact on total fabric
Under 20 cm (small geometric)SmallOften under 5% extra fabric
20–50 cm (mid-scale motif)ModerateTypically 5–15% extra
50–80 cm (large floral)LargeOften 15–30% extra
80 cm and up (oversize print)Very large30% or more in many cases

The relationship is not strictly step-by-step — a 75 cm repeat can sometimes waste less than a 64 cm repeat on the same drop, because of how the cut length divides into the repeat. That is why the calculator stays on the plain-fabric math and lets you apply the round-up yourself with your specific repeat value.

Splitting Widths for a Pair and Buying Extra

The widths number from the calculator covers the whole track. For a pair of curtains, split that total roughly in half. If the total is odd — 5 widths, for example — add one extra width to the wider panel so each side stays symmetric and gathers evenly. Some makers prefer to put the extra width on the side away from the main light source so the seam sits in shadow.

The calculator's 10% margin is a sensible default for plain fabric. For patterned fabric, push the margin higher: 10% on a small geometric, 15% on a mid-scale floral, and 20% or more on a wide stripe or a large repeat that has to match at every horizontal seam. Order from the same dye lot if the fabric is printed, pre-wash natural fibres to take shrinkage out before cutting, and measure the window twice before ordering. All of the math runs in your browser, so the figures stay private and update as you change the inputs.