Enter the rod width and the height from the carriers (or rings) to the floor or the window sill, in cm. The fullness, fabric width and hems work with their default values. The fabric price can be left blank (then no cost is calculated).
Table of Contents
-
What you can do on this page
-
What is this calculation used for?
-
How to Use
-
Formulas and figures
-
Symbols and terms
-
Good to know before you start
-
How to calculate it in Excel
-
How to calculate it in Google Sheets
-
How to calculate it in Python
-
How to write it in LaTeX and other math languages (copy and paste)
-
How to have ChatGPT do the calculation
-
DataChef Features
-
Related Features
-
NumberChef Calculators List
What you can do on this page
- Enter the rod width and the extra width (ease, 5% by default), and you get the finished width of the curtains (per panel for a pair) on the spot
- From the height between the carriers (or rings) and the floor or the window sill, you get a finished length that clears the floor or blocks light below the sill (1/2 in above the floor for floor length, 4 in below the sill for apron length; both can be changed)
- From the fullness (1.5×, 2×, flat or your own value) and the fabric width (54 in and others), you get the widths of fabric and the yards needed to sew your own, including side hems, header, hem and rounding up for the pattern repeat
- Enter the fabric price per yard to get an estimated cost. The nearest standard ready-made panel sizes (lengths of 63, 84, 95 and 108 in) are shown too as a guide
- A front view of the window, rod and curtains shows how the rod width relates to the finished width and length. A plain-language explanation of the formulas and copy-and-paste formulas for Excel, Google Sheets and Python are all on this page
What is this calculation used for?
Ready-made curtain panels are sold by width and length, and the most common lengths are 63, 84, 95 and 108 in. For a 72 in rod over a sliding door, the finished width is \(72 \times 1.05 = 75.6\) in, or 37.8 in per panel, so a pair of panels at least 38 in wide covers it (the calculator suggests the nearest standard width).
If it is 84 in from the carriers to the floor, the finished length is 83.5 in, but ready-made lengths jump from 63 to 84 in. An 84 in panel would just touch the floor, so you might hang the rod 1/2 in higher, or choose 84 in for a slight "kiss" on the floor. Knowing how far each standard size is from your length helps you decide.
Price lists for custom drapes are often set by the number of widths (1.5, 2, 2.5 …) and the length, so changing the fullness from 2× to 1.5× can lower the price by reducing the widths.
For example, a panel with a 37.8 in finished width needs a cut width of \(37.8 \times 2 + 6 = 81.6\) in at 2× fullness, which is 2 widths of 54 in fabric (in half widths), but only 62.7 in, or 1.5 widths, at 1.5×. These formulas let you check whether the widths on a quote match your own calculation.
When you buy fabric off the bolt, you need to know how many yards to ask for. The widths are sewn side by side, so the length you need is "number of widths × cut length per width".
For 3 widths with a 99.5 in cut length, that is \(3 \times 99.5 \div 36 \approx 8.29\) yd. With a patterned fabric and a 27 in repeat, the cut length rounds up to 108 in, and you need \(3 \times 108 \div 36 = 9\) yd. Knowing how much the pattern match adds before you buy saves you from running short or buying far too much.
Curtains that end right at the sill let the morning sun in under them, and in winter cold air flows down from the window. A common guideline is to end about 4 in below the sill (apron length); if it is 40 in from the carriers to the sill, the finished length is 44 in.
To cover more of the wall, use +6 in or more; if furniture sits right under the window, use +1 or +2 in. Change the adjustment to find the length that fits your room.
Fitting rooms, nap areas in daycares and backstage areas at events are often divided with curtains. To close a 12 ft (144 in) opening with a pair, the finished width is \(144 \times 1.05 = 151.2\) in, or 75.6 in per panel. At 2× fullness with 54 in fabric, each panel needs 3 widths, 6 in total. If it is 96 in to the floor (a finished length of 95.5 in) and the cut length after a 27 in pattern match is 135 in, the fabric is \(6 \times 135 \div 36 = 22.5\) yd.
More widths mean more fabric and more sewing cost, so this is a guide for choices such as switching to flat panels (1.0–1.3×) to use fewer widths.
Formulas and figures
Symbols and terms
Symbols
| \(r\) | r | The rod width (the length between the end carriers or rings), from "rail", another word for the rod. |
| \(e\) | e | The extra width, from "ease". For 5%, \(e = 0.05\) and you multiply by \(1 + e = 1.05\). |
| \(p\) | p | The number of panels, from "panel". 2 for a pair, 1 for a single panel. |
| \(W\) | W | The total finished width (with extra width), from "width". Found with \(W = r(1 + e)\). |
| \(W_{1}\) | W sub 1 | The finished width per panel. Found with \(W_{1} = W \div p\). |
| \(h\) | h | The height measured from the bottom of the carriers to the floor (floor length) or to the sill, from "height". |
| \(d\) | d | The adjustment added to or taken from the measured height. −1/2 in for floor length and +4 in below the sill are common guidelines. Think of "d" for "difference". |
| \(L\) | L | The finished length (from the hook position to the hem), from "length". Found with \(L = h + d\). |
| \(f\) | f | The fullness, from "fullness". 1.5 for 1.5× fullness, 2 for 2×, and 1.0–1.3 for flat panels. |
| \(s\) | s | The side hem on one side, from "side". There are two sides, so it is doubled and added. |
| \(w\) | w (lowercase) | The cut width per panel (the fabric width before pleating). Found with \(w = W_{1} f + 2s\). Lowercase, to tell it apart from the finished width \(W\). |
| \(F\) | F (capital) | The fabric width (the width off the bolt), from "fabric". Drapery fabric in the US is usually 54 in wide. |
| \(q\) | q | The width step. 0.5 when counting in half widths, 1 for whole widths. Think of "q" for "quantum" (a step size). |
| \(k\) | k | The fabric widths per panel. Found with \(k = \lceil w \div (Fq) \rceil \times q\), written as 1.5 widths, 2 widths and so on. |
| \(K\) | K (capital) | The total fabric widths to buy. Found with \(K = \lceil k \times p \rceil\) (widths per panel × panels, rounded up). |
| \(t\) | t | The header (the fold at the top that holds the buckram), from "top". About 8 in is a common guideline. |
| \(b\) | b | The bottom hem (folded up twice and sewn), from "bottom". A 4 in double hem takes about 8 in. |
| \(c\) | c | The cut length per width, from "cut". Found with \(c = L + t + b\). |
| \(R\) | R (capital) | The pattern repeat (the length after which the pattern repeats down the fabric), from "repeat". A solid fabric counts as 0. |
| \(c'\) | c prime | The cut length after the pattern match. Found with \(c' = R \lceil c \div R \rceil\) (rounded up to a multiple of the repeat). For a solid fabric it equals \(c\). |
| \(M\) | M | The fabric needed. In yards, \(M = K c' \div 36\) (divide by 36 to turn inches into yards); in meters, divide centimeters by 100. |
| \(u\) | u | The fabric price per yard, from "unit price". |
| \(T\) | T (capital) | The estimated cost (fabric only), from "total". Found with \(T = u M\). |
| \(\lceil x \rceil\) | ceiling of x | The ceiling function: rounds up to the next whole number. (Examples: \(\lceil 2.32 \rceil = 3\), \(\lceil 3 \rceil = 3\)) |
Terms
| curtain rod | The rod that curtains hang from. A traverse rod has carriers that slide inside it, and a decorative rod has rings that slide along a wooden or metal pole. On both, measure the width between the end carriers (or end rings), not the whole rod, and measure the height from the bottom of the carriers or rings. |
| carrier | A small slider that runs inside a curtain rod and holds a curtain hook. The ones at each end that do not move are the end carriers, and both the width and the height are measured from them. |
| floor length | Curtains that reach the floor, used for tall windows and sliding glass doors. They are usually made about 1/2 in short so they do not touch the floor. |
| apron length | Curtains that end about 4 in below the window sill. Stopping below the sill keeps light from leaking under the curtains. (Sill length ends right at the sill.) |
| extra width | The share by which curtains are made wider than the rod, so no gap opens in the middle or at the ends when they are closed. 3–5% is common. |
| finished width | The width of the finished curtains. For a pair, each panel is half of the total. |
| finished length | The length of the finished curtains, from the hook position (the bottom of the carriers) to the hem. |
| pair | Two panels that open from the center to both sides. Most windows use a pair. |
| single panel | One curtain that draws to one side, used for small windows and as a room divider. |
| fullness | How many times the finished width of fabric is gathered into pleats. 1.5× and 2× are common, and higher fullness gives deeper, richer folds. |
| 2-finger pleat | A pinch pleat with two folds. It suits a lighter fullness, such as 1.5×. |
| 3-finger pleat | A pinch pleat with three folds, the classic pinch pleat. It suits 2× fullness or more and gives a rich look. |
| flat panel | A curtain with no pleats, such as a rod pocket or grommet panel. It is often made 1.1–1.3× wide for a soft wave; 1.0× is completely flat. |
| width | In curtain making, one full width of fabric off the bolt counts as 1 width. Widths are sewn side by side to make a panel, described as "2 widths", "1.5 widths" and so on. |
| fabric widths | How many widths of fabric are sewn side by side in one panel. Price lists for custom drapes are often set by the number of widths and the length. |
| half width | A width of fabric split in half lengthwise (0.5 width). Panels of 1.5 or 2.5 widths are made by adding a half width to one or both sides. |
| fabric width | The width of the fabric on the bolt. Drapery fabric in the US is usually 54 in wide, and some wide fabrics are about 118 in. |
| side hem | The extra fabric at each side edge that is folded and sewn. A 1.5 in double-fold side hem takes 3 in per side. |
| header | The extra length folded over at the top to hold the buckram or heading tape (about 8 in around 4 in buckram). The bottom hem is folded up twice (about 8 in for a 4 in double hem). |
| buckram | A stiff band sewn into the top of a curtain. It holds the hooks and keeps the pleats in shape. 4 in buckram is common for pinch pleats. |
| pattern repeat | The length after which the pattern repeats down the fabric. Each cut length is rounded up to a multiple of it so the pattern lines up across the widths. |
| pattern match | Lining up the pattern so it runs on across the seams between widths. It takes extra fabric for each width. |
| ready-made curtains | Curtains made and sold in set sizes. In the US, common lengths are 63, 84, 95 and 108 in, and the choice of widths differs by store and style. |
| custom drapes | Curtains made to the exact size of your window. Prices are often set by a table of widths × length. |
| rounding up | Changing a value with a decimal part to the next whole number (or the next step). The number of widths and repeats must be rounded up so you do not run short. |
Good to know before you start
Here is what helps you use the calculation on this page with real understanding, not just by pressing the button.
| Percentages (Grades 6–7) |
|
| Multiplying and dividing decimals (Grades 5–6) |
|
| Adding positive and negative numbers (Grade 7) |
|
| Converting units of length (Grades 4–5) |
|
| Rounding (Grades 3–4) |
|
| Multiples (Grades 4–5) |
|
How to calculate it in Excel
| Rod width (in) | 72 |
| Extra width (%) | 5 |
| Panels (pair = 2, single = 1) | 2 |
| Finished width (total, in) | =B1*(1+B2/100) |
| Finished width per panel (in) | =B4/B3 |
| Height measured from the carriers (in) | 84 |
| Adjustment (in; floor length -0.5, below the sill 4) | -0.5 |
| Finished length (in) | =B1+B2 |
| Finished width per panel (in) | 37.8 |
| Fullness | 1.5 |
| Side hem (each side, in) | 3 |
| Cut width per panel (in) | =B1*B2+2*B3 |
| Cut width per panel (in) | 62.7 |
| Fabric width (in) | 54 |
| Width step (half = 0.5, whole = 1) | 0.5 |
| Panels | 2 |
| Fabric widths per panel | =ROUNDUP(B1/(B2*B3),0)*B3 |
| Fabric widths to buy (total) | =ROUNDUP(B5*B4,0) |
| Finished length (in) | 83.5 |
| Header (in) | 8 |
| Bottom hem (in) | 8 |
| Pattern repeat (in, 0 if solid) | 0 |
| Cut length per width (in) | =B1+B2+B3 |
| Cut length after pattern match (in) | =IF(B4>0,B4*ROUNDUP(B5/B4,0),B5) |
| Fabric widths to buy (total) | 3 |
| Cut length after pattern match (in) | 99.5 |
| Fabric price ($/yd) | 20 |
| Fabric needed (yd) | =B1*B2/36 |
| Estimated cost ($) | =B3*B4 |
"ROUNDUP(value, 0)" rounds up to a whole number (the ⌈ ⌉ in the formulas). The fourth table divides the cut width by "fabric width × step", rounds up and multiplies back by the step, so the widths come out in half widths (0.5) directly.
"IF(B4>0, …)" in the fifth table skips the rounding when the pattern repeat is 0 (a solid fabric).
With the example numbers, B5 in the first table shows 37.8, B3 in the second 83.5, B4 in the third 62.7, B5 and B6 in the fourth 1.5 and 3, B6 in the fifth 99.5 (108 if you enter a repeat of 27), and B4 and B5 in the sixth about 8.29 and 165.83. Just replace the numbers in column B with your own.
How to calculate it in Google Sheets
| Rod width (in) | 72 |
| Extra width (%) | 5 |
| Panels (pair = 2, single = 1) | 2 |
| Finished width (total, in) | =B1*(1+B2/100) |
| Finished width per panel (in) | =B4/B3 |
| Height measured from the carriers (in) | 84 |
| Adjustment (in; floor length -0.5, below the sill 4) | -0.5 |
| Finished length (in) | =B1+B2 |
| Finished width per panel (in) | 37.8 |
| Fullness | 1.5 |
| Side hem (each side, in) | 3 |
| Cut width per panel (in) | =B1*B2+2*B3 |
| Cut width per panel (in) | 62.7 |
| Fabric width (in) | 54 |
| Width step (half = 0.5, whole = 1) | 0.5 |
| Panels | 2 |
| Fabric widths per panel | =ROUNDUP(B1/(B2*B3),0)*B3 |
| Fabric widths to buy (total) | =ROUNDUP(B5*B4,0) |
| Finished length (in) | 83.5 |
| Header (in) | 8 |
| Bottom hem (in) | 8 |
| Pattern repeat (in, 0 if solid) | 0 |
| Cut length per width (in) | =B1+B2+B3 |
| Cut length after pattern match (in) | =IF(B4>0,B4*ROUNDUP(B5/B4,0),B5) |
| Fabric widths to buy (total) | 3 |
| Cut length after pattern match (in) | 99.5 |
| Fabric price ($/yd) | 20 |
| Fabric needed (yd) | =B1*B2/36 |
| Estimated cost ($) | =B3*B4 |
How to calculate it in Python
import math
rod_width_in = 72 # rod width (between the end carriers, in)
extra_percent = 5 # extra width (%)
panels = 2 # panels (pair = 2, single = 1)
height_in = 84 # height from the bottom of the carriers to the floor (or the sill), in
adjust_in = -0.5 # adjustment (-0.5 for floor length, 4 below the sill, as a guide)
fullness = 1.5 # fullness (1.5x = 1.5, 2x = 2, flat = 1.0 to 1.3)
fabric_width_in = 54 # fabric width (in)
width_step = 0.5 # width step (half widths = 0.5, whole widths = 1)
side_hem_in = 3 # side hem (each side, in)
header_in = 8 # header (in)
bottom_hem_in = 8 # bottom hem (in)
repeat_in = 0 # pattern repeat (in, 0 if solid)
price_per_yd = 20 # fabric price ($ per yard)
finish_width = rod_width_in * (1 + extra_percent / 100) # finished width (total)
panel_width = finish_width / panels # finished width per panel
finish_length = height_in + adjust_in # finished length
cut_width = panel_width * fullness + 2 * side_hem_in # cut width per panel
widths_per_panel = math.ceil(cut_width / (fabric_width_in * width_step)) * width_step # fabric widths per panel (rounded up)
widths_total = math.ceil(widths_per_panel * panels) # fabric widths to buy (total, rounded up)
cut_length = finish_length + header_in + bottom_hem_in # cut length per width
if repeat_in > 0:
cut_length = repeat_in * math.ceil(cut_length / repeat_in) # pattern match (round up to a multiple of the repeat)
fabric_yd = widths_total * cut_length / 36 # fabric needed (yd)
cost = price_per_yd * fabric_yd # estimated cost ($)
print(f"Finished width: {finish_width:.1f} in ({panel_width:.1f} in per panel)")
print(f"Finished length: {finish_length} in")
print(f"Cut width per panel: {cut_width:.1f} in -> {widths_per_panel} widths per panel, {widths_total} in total")
print(f"Cut length per width: {cut_length} in")
print(f"Fabric needed: {fabric_yd:.2f} yd")
print(f"Estimated cost: ${cost:,.2f}")
How to write it in LaTeX and other math languages (copy and paste)
W = r × (1 + e), W₁ = W ÷ p
W = r(1 + e),\quad W_{1} = \frac{W}{p}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>W</mi><mo>=</mo><mi>r</mi><mo>⁢</mo>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>e</mi><mo>)</mo></mrow>
<mo>,</mo>
<msub><mi>W</mi><mn>1</mn></msub><mo>=</mo>
<mfrac><mi>W</mi><mi>p</mi></mfrac>
</mrow>
</math>
W = r (1 + e), W_1 = W / p
W = r*(1 + e); W1 = W/p
W := r*(1 + e); W1 := W/p;
W = r*(1 + e); W1 = W/p;
W = r(1 + e), W_1 = W/p
L = h + d
L = h + d
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>L</mi><mo>=</mo><mi>h</mi><mo>+</mo><mi>d</mi>
</mrow>
</math>
L = h + d
L = h + d
L := h + d;
L = h + d;
L = h + d
w = W₁ × f + 2s
w = W_{1} f + 2s
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>w</mi><mo>=</mo>
<msub><mi>W</mi><mn>1</mn></msub><mo>⁢</mo><mi>f</mi>
<mo>+</mo><mn>2</mn><mo>⁢</mo><mi>s</mi>
</mrow>
</math>
w = W_1 f + 2 s
w = W1*f + 2*s
w := W1*f + 2*s;
w = W1*f + 2*s;
w = W_1 f + 2s
k = ⌈w ÷ (F × q)⌉ × q
k = \left\lceil \frac{w}{F q} \right\rceil q
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>k</mi><mo>=</mo>
<mo>⌈</mo>
<mfrac><mi>w</mi><mrow><mi>F</mi><mo>⁢</mo><mi>q</mi></mrow></mfrac>
<mo>⌉</mo>
<mo>⁢</mo><mi>q</mi>
</mrow>
</math>
k = |~ w / (F q) ~| q
k = Ceiling[w/(F*q)]*q
k := ceil(w/(F*q))*q;
k = ceil(w/(F*q))*q;
k = ⌈w/(F q)⌉ q
c = L + t + b, c′ = R × ⌈c ÷ R⌉
c = L + t + b,\quad c' = R \left\lceil \frac{c}{R} \right\rceil
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>c</mi><mo>=</mo><mi>L</mi><mo>+</mo><mi>t</mi><mo>+</mo><mi>b</mi>
<mo>,</mo>
<msup><mi>c</mi><mo>′</mo></msup><mo>=</mo>
<mi>R</mi><mo>⁢</mo>
<mo>⌈</mo><mfrac><mi>c</mi><mi>R</mi></mfrac><mo>⌉</mo>
</mrow>
</math>
c = L + t + b, c' = R |~ c / R ~|
c = L + t + b; cAdj = R*Ceiling[c/R]
c := L + t + b; c2 := R*ceil(c/R);
c = L + t + b; c2 = R*ceil(c/R);
c = L + t + b, c′ = R⌈c/R⌉
M = K × c′ ÷ 36, T = u × M
M = \frac{K c'}{36},\quad T = u M
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>M</mi><mo>=</mo>
<mfrac><mrow><mi>K</mi><mo>⁢</mo><msup><mi>c</mi><mo>′</mo></msup></mrow><mn>36</mn></mfrac>
<mo>,</mo>
<mi>T</mi><mo>=</mo><mi>u</mi><mo>⁢</mo><mi>M</mi>
</mrow>
</math>
M = (K c') / 36, T = u M
M = kTotal*cAdj/36; T = u*M
M := K*c2/36; T := u*M;
M = K*c2/36; T = u*M;
M = K c′/36, T = u M
How to have ChatGPT do the calculation
You are an assistant for curtain measuring and sewing quantities. Do the following calculation by actually running Python code, and base your answer only on the numbers from the execution result (do not answer by mental math or guessing). The rod width (between the end carriers) is 72 in, the extra width is 5%, and it is a pair of floor-length curtains. The height from the bottom of the carriers to the floor is 84 in (make them 1/2 in short so they do not touch the floor). I use 1.5x fullness, 54 in wide fabric (joined in half widths), side hems of 3 in on each side, an 8 in header, an 8 in bottom hem and a solid fabric. Find each of the following: 1. The total finished width and the finished width per panel 2. The finished length 3. The cut width per panel (finished width × fullness + side hem × 2) 4. The fabric widths per panel (cut width ÷ half width, rounded up, in steps of 0.5) and the total widths to buy 5. The cut length per width (finished length + header + bottom hem) and the yards of fabric needed Show the formulas you used and the numbers from the execution result.
How to Use
-
1Enter your numbersType the numbers you want to calculate with into the input fields
-
2CalculatePress the "Calculate" button
-
3Check the resultThe result appears on the spot. The same page also explains the idea behind the calculation and the formula
DataChef Features
No technical knowledge required.
Intuitive and user-friendly operation.
Can be used without registering personal information.
Automatic file deletion by clicking "download".
and rapid file conversion.
No attribution required.
No need to contact us for commercial use permission.
