Choose what to find, then enter the width (or thickness), grain direction, species and moisture content. Choosing a species fills in its typical total shrinkage, which you can change. 30% is used for the fiber saturation point if left blank.
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
- From the width (or thickness) of a board and the change in moisture content (such as 12% → 8%), get the shrinkage in inches, the shrinkage percentage and the new size
- Choose the grain direction (flatsawn = tangential, quartersawn = radial, or along the length) and the species (red oak, white oak, maple, cherry, walnut, pine and more), and the typical total shrinkage fills in automatically (you can change it)
- When the moisture content goes up, it calculates swelling (how much larger the wood gets). Moisture above the fiber saturation point (30% by default) is treated as having no effect on size
- Work backward from the movement you can accept, such as "no more than 1/8 in", to how far the moisture content may change (the moisture range to aim for)
- From the seasonal change in equilibrium moisture content indoors (about 6% in winter to 12% in summer in much of the US), see how much a tabletop or a door moves in a year, and how much room to leave for it
What is this calculation used for?
A flatsawn red oak tabletop 36 in wide, in a home where the equilibrium moisture goes from 6% in winter to 12% in summer, changes width by \(36 \times 0.086 \times 6 \div 30 \approx 0.62\) in, about 5/8 in. Kiln-dried stock often moves less than this in practice, but movement of a good fraction of an inch cannot be avoided.
This is why tabletops are attached to the aprons with slotted holes or tabletop fasteners (Z-clips or figure-8 fasteners) that let the top move across its width. The numbers tell you how long the slots need to be.
A flatsawn cherry drawer front 16 in wide, finished at 6% moisture in winter, grows by \(16 \times 0.071 \times 5 \div 30 \approx 0.19\) in (about 3/16 in) when the moisture rises to 11% in a humid summer (swelling). With only 1/16 in of clearance on each side, it may stick.
Working back from the total clearance tells you how far the moisture may change. If holding the moisture that closely is not realistic, the result points to design changes: use quartersawn stock, split the width, or leave larger gaps.
For the same moisture change, flatsawn (tangential) wood shrinks across its width about twice as much as quartersawn (radial), and species differ too: eastern white pine (tangential about 6.1%) against hickory (about 10.5%) is about 1.7 times. Between quartersawn white pine (radial 2.1%) and flatsawn hickory (tangential 10.5%), the shrinkage differs by about 5 times for boards of the same width.
Choose quartersawn stock or a stable species for doors, drawers and frames where movement matters, and flatsawn for shelves or outdoor siding where it matters less.
Outdoor wood goes through rain and dry spells, so its moisture changes more than indoors. A flatsawn southern yellow pine deck board 5.5 in wide that moves between 20% and 10% moisture changes by \(5.5 \times 0.074 \times 10 \div 30 \approx 0.14\) in per board, about 1/8 in.
Dry boards laid tight can buckle when rain swells them, so leave gaps that allow for this movement. Pressure-treated boards that are still wet from treatment will shrink instead, which is why they are often laid tight and left to open up as they dry. Plan the gaps together with the board count.
A Douglas fir 2×10 joist (9.25 in deep, using the tangential value to be on the safe side, since a joist has both grain directions) stamped KD19 at 19% moisture that dries to 10% indoors shrinks by \(9.25 \times 0.076 \times 9 \div 30 \approx 0.21\) in. Green lumber over 30% shrinks from the fiber saturation point of 30% down to 10%, so \(9.25 \times 0.076 \times 20 \div 30 \approx 0.47\) in.
Numbers like these explain cracks and gaps in drywall and trim after a house is built, and why dry lumber is worth it. Moisture control affects building quality directly, so rely on a moisture meter on site and the lumber grade stamp for the actual values.
Precise work such as guitar tops, wooden rulers and jigs is done after the wood has settled to the equilibrium moisture of the room where it will be used. Guitar tops use stable quartersawn spruce, but even so, an 8 in wide quartersawn Sitka spruce top (radial about 4.3%, entered with "Other") that goes from 12% to 8% moisture moves \(8 \times 0.043 \times 4 \div 30 \approx 0.046\) in, which matters in precise assembly. Flatsawn stock (tangential about 7.5%) would move nearly twice as much.
Checking in numbers how much the wood would move if worked before acclimating shows why drying and resting the wood takes time.
This formula is a pure proportion: original amount × rate × change ÷ reference amount. Thermal expansion of metal and paper stretching in humid air follow the same pattern, where you first find the change per unit and then multiply by the size of the change.
Seeing everyday materials move a fraction of an inch with humidity shows how proportions are used in real design.
Formulas and figures
Symbols and terms
Symbols
| \(W\) | W | The original size of the part (in). From "width". It can also be the thickness or length if that is what you want to know (choose the grain direction by how that dimension runs relative to the rings). |
| \(\Delta W\) | delta W | The change in size (in). The Greek letter delta \(\Delta\) is often used for a change or difference. A positive value is shrinkage (smaller), and a negative value is swelling (larger). |
| \(W\prime\) | W prime | The new size (in). \(W\prime = W - \Delta W\). |
| \(S\) | S | The total shrinkage (%). From "shrinkage". How much the wood shrinks as its moisture drops from the fiber saturation point to 0%. Use \(T\) (tangential), \(R\) (radial) or \(L\) (longitudinal) to match the grain direction. |
| \(T\) | T | The tangential total shrinkage (%). Along the growth rings, the shrinkage across the width of a flatsawn board. The largest of the three. |
| \(R\) | R | The radial total shrinkage (%). From the center of the log outward, the shrinkage across the width of a quartersawn board. About half the tangential value. |
| \(L\) | L | The longitudinal total shrinkage (%). Along the length of a board, very small at about 0.1 to 0.3% for most species. The default in this calculator is 0.2%. |
| \(m_1,\ m_2\) | m sub 1, m sub 2 | The moisture content (%). From "moisture". \(m_1\) is the moisture now and \(m_2\) the moisture later, and \(m_1 - m_2\) is the change (positive when it drops). |
| \(F\) | F | The fiber saturation point (%), also written FSP. Usually about 28 to 30%, and 30% by default in this calculator. Above it the size does not change, so any higher moisture content is capped at this value. |
| \(r\) | lowercase r | The shrinkage percentage (%). From "rate". What percent of the original size the wood shrinks, \(r = S \times (m_1 - m_2) \div F\). Not the same as the radial total shrinkage \(R\) (capital). |
| \(\Delta m\) | delta m | The allowed change in moisture (%). In working-backward mode, how far above and below its current value the moisture may go to keep the movement within the limit. |
| \(\Delta W_{\max}\) | delta W max | The movement you can accept (in). The input for working-backward mode, the most the size may change. |
| \(\approx\) | approximately equal to | The symbol for "approximately equal to". Used when a value that does not divide evenly is rounded. |
Terms
| moisture content | The weight of the water in wood as a percent of the weight of the fully dry (oven-dry) wood, written MC. Freshly cut green wood is usually over 30%, kiln-dried framing lumber is 19% or less, and furniture that has settled indoors is about 6 to 10%. A moisture meter measures it. |
| fiber saturation point | The moisture content when all the free water in the hollow centers of the cells is gone and only the bound water in the cell walls is left, usually about 28 to 30%. Above it the size does not change, and below it the wood starts to shrink as the bound water leaves. It is the "zero point" for wood shrinkage. |
| equilibrium moisture content | The moisture content where wood stops drying or taking on water because it is in balance with the humidity and temperature of the air, written EMC. Indoors in much of the US, it is about 6% in the heated winter and about 11 to 12% in the humid summer. This swing is why furniture and doors move with the seasons. |
| total shrinkage | How much wood shrinks (%) as its moisture drops from the fiber saturation point (about 30%) to 0% (oven-dry). It differs by direction and gets smaller from tangential to radial to longitudinal. The shrinkage values in species tables, such as the USDA Wood Handbook, are usually this value (green to oven-dry), not the value per 1% of moisture. |
| dimensional change coefficient | The change in size for each 1% change in moisture, written as a fraction of the size (in/in per %). It is roughly the total shrinkage divided by the fiber saturation point and by 100. For example, 8.6% tangential total shrinkage gives \(8.6 \div 30 \div 100 \approx 0.0029\). Multiply a coefficient by 100 and by 30 to turn it back into a total shrinkage. |
| sawing pattern | Where in the log, and in which direction, a board is cut. Whether the width of a board runs along the rings (flatsawn) or across them (quartersawn) is decided here, and that changes the shrinkage across the width by about 2 times. |
| flatsawn | A board sawn tangent to the growth rings, also called plainsawn, with a cathedral (arch-shaped) grain on its face. It is the most common and economical cut, but it shrinks a lot across its width and tends to cup. Its width uses the tangential shrinkage and its thickness uses the radial shrinkage. |
| quartersawn | A board sawn across the growth rings (radial), with straight, parallel grain on its face. It shrinks about half as much across its width as flatsawn and stays flatter, so it is prized for doors, drawers and fine furniture. Its width uses the radial shrinkage and its thickness uses the tangential shrinkage. |
| tangential | The direction along the growth rings (around the log). Wood shrinks the most in this direction, and the width of a flatsawn board runs this way. The total shrinkage is about 5 to 12% depending on the species. |
| radial | The direction from the center of the log outward (across the rings). The shrinkage is about half the tangential value, and the width of a quartersawn board runs this way. The total shrinkage is about 2 to 7% depending on the species. |
| longitudinal | The direction the trunk grows, the length of a board or beam. The cells run lengthwise, so the shrinkage is only about 0.1 to 0.3%, and in practice the length can be treated as not changing. |
| anisotropy | Having different properties in different directions. Wood shrinks very differently in the tangential, radial and longitudinal directions (roughly 10 to 5 to 0.2). This is why flatsawn and quartersawn boards move differently, and why wood cups and checks. |
| shrinkage | Wood getting smaller as its moisture content drops. It happens below the fiber saturation point, roughly in proportion to the moisture change. |
| swelling | Wood getting larger as its moisture content rises, the opposite of shrinkage. It happens when dry wood is moved to a damp place, and the same formula works with a negative moisture change. |
| green wood | Wood that has not been dried since the tree was cut. Its moisture content is over 30%, and can be over 100% for some species. Its size does not change until it dries to the fiber saturation point, so this calculator caps it there. |
| kiln-dried | Lumber dried in a kiln with controlled temperature and humidity, marked KD. Framing lumber stamped KD19 is 19% or less, and furniture hardwood is usually dried to 6 to 8%. The closer it is to the equilibrium moisture where it will be used, the less it moves after you build with it. |
| allowance for movement | Gaps, or ways of fastening, that let wood move without causing problems. Examples are attaching a tabletop with slotted holes or tabletop fasteners (Z-clips), gapping deck boards, and leaving clearance around a drawer front. |
| SPF | Spruce-pine-fir, a group of North American softwoods sold together as one grade of dimensional lumber (2×4s and so on). The species are mixed, so the shrinkage varies. Use "Other" and enter a value such as spruce's if you need it. |
| end grain | The surface cut straight across the grain, where you see the growth rings like a tree stump. The drawings on this page show the end grain from the front, to show how the rings and the board line up. |
Good to know before you start
Here is what helps to understand before you start, so that you can use the calculations on this page with a clear understanding.
If you get stuck, going back to these topics is the fastest way forward.
| Percents (Grade 6) |
|
| Proportional relationships (Grade 6 to 7) |
|
| Positive and negative numbers (Grade 6 to 7) |
|
| Expressions and solving equations (Grade 7 to 8) |
|
| Properties of wood (technology or shop class) |
|
How to calculate it in Excel
| Original size W (in) | 24 |
| Total shrinkage S (%) | 8.6 |
| Moisture now m1 (%) | 12 |
| Moisture later m2 (%) | 8 |
| Fiber saturation point F (%) | 30 |
| Change in size ΔW (in) | =B1*(B2/100)*(MIN(B3,B5)-MIN(B4,B5))/B5 |
| New size W' (in) | =B1-B6 |
| Total shrinkage S (%) | 10.5 |
| Moisture now m1 (%) | 11 |
| Moisture later m2 (%) | 6 |
| Fiber saturation point F (%) | 30 |
| Shrinkage r (%) | =B1*(MIN(B2,B4)-MIN(B3,B4))/B4 |
| Original size W (in) | 30 |
| Total shrinkage S (%) | 7.8 |
| Fiber saturation point F (%) | 30 |
| Movement you can accept ΔWmax (in) | 0.125 |
| Change in size per 1% moisture (in) | =B1*(B2/100)/B3 |
| Allowed change in moisture Δm (%) | =B4/B5 |
The 1st table is flatsawn red oak (8.6%) 24 in wide going from 12% to 8% moisture. B6 is 0.2752 (in) and B7 is 23.7248 (in). MIN(B3,B5) caps the moisture at the fiber saturation point when it is higher. The 2nd table is flatsawn white oak (10.5%) going from 11% to 6%, and B5 is 1.75 (%). The 3rd table is flatsawn black walnut (7.8%) 30 in wide with 1/8 in allowed, and B5 is 0.078 (in) and B6 about 1.60 (%).
When the moisture goes up (swelling), enter the larger value in m2, and B6 becomes negative, meaning the wood gets larger by that much. "*" is multiply and "/" is divide.
How to calculate it in Google Sheets
| Original size W (in) | 24 |
| Total shrinkage S (%) | 8.6 |
| Moisture now m1 (%) | 12 |
| Moisture later m2 (%) | 8 |
| Fiber saturation point F (%) | 30 |
| Change in size ΔW (in) | =B1*(B2/100)*(MIN(B3,B5)-MIN(B4,B5))/B5 |
| New size W' (in) | =B1-B6 |
| Total shrinkage S (%) | 10.5 |
| Moisture now m1 (%) | 11 |
| Moisture later m2 (%) | 6 |
| Fiber saturation point F (%) | 30 |
| Shrinkage r (%) | =B1*(MIN(B2,B4)-MIN(B3,B4))/B4 |
| Original size W (in) | 30 |
| Total shrinkage S (%) | 7.8 |
| Fiber saturation point F (%) | 30 |
| Movement you can accept ΔWmax (in) | 0.125 |
| Change in size per 1% moisture (in) | =B1*(B2/100)/B3 |
| Allowed change in moisture Δm (%) | =B4/B5 |
How to calculate it in Python
width_in = 24 # original size W (in)
shrinkage_total = 8.6 # total shrinkage S (%), typical for flatsawn red oak (tangential)
moisture_now = 12 # moisture content now m1 (%)
moisture_after = 8 # moisture content later m2 (%)
fsp = 30 # fiber saturation point F (%)
# moisture above the fiber saturation point does not change the size, so cap it
m1 = min(moisture_now, fsp)
m2 = min(moisture_after, fsp)
# shrinkage dW = W x (S / 100) x (m1 - m2) / F
delta_in = width_in * (shrinkage_total / 100) * (m1 - m2) / fsp
shrink_rate = shrinkage_total * (m1 - m2) / fsp # shrinkage r (%)
width_after = width_in - delta_in # new size
per_percent = width_in * (shrinkage_total / 100) / fsp # change in size per 1% moisture
print(f"Change in size: {delta_in:.4f} in (positive = shrinks, negative = swells)")
print(f"Shrinkage: {shrink_rate:.3f} %, new size: {width_after:.4f} in")
print(f"Per 1% moisture: {per_percent:.5f} in")
# working backward: moisture change allowed to keep the movement within allow_in
allow_in = 0.125
delta_moisture = allow_in / per_percent
print(f"To stay within {allow_in} in, keep the moisture change within +/-{delta_moisture:.2f} %")
# yearly movement: equilibrium moisture swings between 6% and 12%
swing_in = width_in * (shrinkage_total / 100) * (12 - 6) / fsp
print(f"Yearly movement: {swing_in:.4f} in (+/-{swing_in / 2:.4f} in if built at the middle)")
How to write it in LaTeX and other math languages (copy and paste)
ΔW = W × (S ÷ 100) × (m₁ − m₂) ÷ F
\Delta W = W \cdot \frac{S}{100} \cdot \frac{m_1 - m_2}{F}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Δ</mi><mi>W</mi><mo>=</mo><mi>W</mi><mo>⋅</mo>
<mfrac><mi>S</mi><mn>100</mn></mfrac><mo>⋅</mo>
<mfrac><mrow><msub><mi>m</mi><mn>1</mn></msub><mo>−</mo><msub><mi>m</mi><mn>2</mn></msub></mrow><mi>F</mi></mfrac>
</mrow>
</math>
Delta W = W * (S / 100) * (m_1 - m_2) / F
W*(S/100)*(m1 - m2)/F
DeltaW := W*(S/100)*(m1 - m2)/F;
DeltaW = W*(S/100)*(m1 - m2)/F; % W is the size (in), S the total shrinkage (%), m1 and m2 the moisture content (%), F the fiber saturation point (%)
ΔW = W (S/100) (m_1 − m_2)/F
r = S × (m₁ − m₂) ÷ F, ΔW = W × r ÷ 100
r = S \cdot \frac{m_1 - m_2}{F},\quad \Delta W = W \cdot \frac{r}{100}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>r</mi><mo>=</mo><mi>S</mi><mo>⋅</mo>
<mfrac><mrow><msub><mi>m</mi><mn>1</mn></msub><mo>−</mo><msub><mi>m</mi><mn>2</mn></msub></mrow><mi>F</mi></mfrac>
<mo>,</mo>
<mi>Δ</mi><mi>W</mi><mo>=</mo><mi>W</mi><mo>⋅</mo><mfrac><mi>r</mi><mn>100</mn></mfrac>
</mrow>
</math>
r = S * (m_1 - m_2) / F, Delta W = W * r / 100
{S*(m1 - m2)/F, W*(S*(m1 - m2)/F)/100}
r := S*(m1 - m2)/F; DeltaW := W*r/100;
r = S*(m1 - m2)/F; DeltaW = W*r/100; % r is the shrinkage (%)
r = S (m_1 − m_2)/F, ΔW = W r/100
Δm = ΔW_max ÷ (W × S ÷ 100) × F
\Delta m = \frac{\Delta W_{\max}}{W \cdot S / 100} \cdot F
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Δ</mi><mi>m</mi><mo>=</mo>
<mfrac><mrow><mi>Δ</mi><msub><mi>W</mi><mi>max</mi></msub></mrow><mrow><mi>W</mi><mo>⋅</mo><mi>S</mi><mo>/</mo><mn>100</mn></mrow></mfrac>
<mo>⋅</mo><mi>F</mi>
</mrow>
</math>
Delta m = (Delta W_max) / (W * S / 100) * F
DeltaWmax/(W*S/100)*F
Deltam := DeltaWmax/(W*S/100)*F;
Deltam = DeltaWmax/(W*S/100)*F; % DeltaWmax is the movement you can accept (in)
Δm = ΔW_max/(W S/100) F
How to have ChatGPT do the calculation
You are an assistant for wood shrinkage calculations. Do the following calculation by actually running Python code, and base your answer only on the numbers from the run (do not answer from mental math or guesses). A flatsawn red oak board 24 in wide (tangential total shrinkage 8.6%, the value from 30% fiber saturation point to 0% moisture) dries from 12% to 8% moisture. Find each of the following. Treat any moisture above the fiber saturation point (30%) as 30%. 1. The shrinkage in inches (dW = width × (total shrinkage ÷ 100) × (moisture now − moisture later) ÷ fiber saturation point) 2. The shrinkage percentage (total shrinkage × moisture change ÷ fiber saturation point) and the new width in inches 3. The shrinkage in inches if the same board were quartersawn (radial total shrinkage 4.0%) 4. For the flatsawn board, the moisture change allowed to keep the movement within 1/8 in (%; 0.125 ÷ (width × total shrinkage ÷ 100 ÷ fiber saturation point)) Show the formulas you used and the numbers from the run.
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.
