Woodworking Math Center

Calculate · Explore · Learn

Woodworking Math Center

Lumber, cut lists, panels, joints, shop costs and project planning. 50 tools with purposes, formulas and worked examples.

Simple mode uses starting defaults for extra scenario controls. Advanced exposes those controls where available. Change an entry, then press Calculate.

Formula, calculation steps & example

    All 50 tools: purposes and formulas
    • Rough board metric volume — Rough board metric volume using your entered measurements and assumptions.

      Result = (((A × B) × C) ÷ 1000000000); A = Length mm, B = Width mm, C = Thickness mm

    • Board mass from measured density — Board mass from measured density using your entered measurements and assumptions.

      Result = (A × B); A = Volume m³, B = Density kg/m³

    • Sheet panel mass — Sheet panel mass using your entered measurements and assumptions.

      Result = (((A × B) × C) × D); A = Length m, B = Width m, C = Thickness m, D = Density kg/m³

    • Rectangular panel edge banding — Rectangular panel edge banding using your entered measurements and assumptions.

      Result = (((A + B) × 2) × C); A = Length m, B = Width m, C = Number of identical panels

    • Panel face veneer area — Panel face veneer area using your entered measurements and assumptions.

      Result = (((A × B) × C) × D); A = Panel length m, B = Panel width m, C = Faces per panel, D = Panel count

    • Board broad-face finishing area — Board broad-face finishing area using your entered measurements and assumptions.

      Result = (((A × B) × C) × D); A = Board length m, B = Board width m, C = Face count, D = Board count

    • Board price per meter — Board price per meter using your entered measurements and assumptions.

      Result = (A ÷ B); A = Board price, B = Board length m

    • Panel price per area — Panel price per area using your entered measurements and assumptions.

      Result = (A ÷ (B × C)); A = Panel price, B = Panel length m, C = Panel width m

    • Planing material thickness removed — Planing material thickness removed using your entered measurements and assumptions.

      Result = (A - B); A = Starting thickness mm, B = Finished thickness mm

    • Planed material volume — Planed material volume using your entered measurements and assumptions.

      Result = (((A × B) × C) ÷ 1000000); A = Length mm, B = Width mm, C = Removed thickness mm

    • Equal slat width with gaps — Equal slat width with gaps using your entered measurements and assumptions.

      Result = ((A - ((B - 1) × C)) ÷ B); A = Opening width mm, B = Number of slats, C = Gap mm

    • Equal gaps between slats — Equal gaps between slats using your entered measurements and assumptions.

      Result = ((A - (B × C)) ÷ (B - 1)); A = Opening width mm, B = Slat count, C = Slat width mm

    • Total saw kerf consumption — Total saw kerf consumption using your entered measurements and assumptions.

      Result = (A × B); A = Kerf mm, B = Cuts

    • Linear cut-list stock length — Linear cut-list stock length using your entered measurements and assumptions.

      Result = ((A × B) + ((B - 1) × C)); A = Piece length mm, B = Piece count, C = Kerf mm

    • Equal-piece stock yield — Equal-piece stock yield using your entered measurements and assumptions.

      Result = floor(((A + C) ÷ (B + C))); A = Usable stock length mm, B = Piece length mm, C = Kerf mm

    • Usable stock after end trimming — Usable stock after end trimming using your entered measurements and assumptions.

      Result = (A - (B × 2)); A = Stock length mm, B = Trim per end mm

    • Linear cut-list waste share — Linear cut-list waste share using your entered measurements and assumptions.

      Result = ((A ÷ B) × 100); A = Unused length mm, B = Purchased length mm

    • Inset rail length between stiles — Inset rail length between stiles using your entered measurements and assumptions.

      Result = (A - (B × 2)); A = Overall width mm, B = Stile width mm

    • Rail length including two tenons — Rail length including two tenons using your entered measurements and assumptions.

      Result = (A + (B × 2)); A = Shoulder-to-shoulder length mm, B = Tenon length each mm

    • Panel diagonal layout — Panel diagonal layout using your entered measurements and assumptions.

      Result = sqrt(((A ^ 2) + (B ^ 2))); A = Panel length mm, B = Panel width mm

    • Centered fitting edge margin — Centered fitting edge margin using your entered measurements and assumptions.

      Result = ((A - B) ÷ 2); A = Panel width mm, B = Fitting width mm

    • Equal shelf clear opening — Equal shelf clear opening using your entered measurements and assumptions.

      Result = ((A - (B × C)) ÷ (B + 1)); A = Inside height mm, B = Shelf count, C = Shelf thickness mm

    • Evenly spaced hole interval — Evenly spaced hole interval using your entered measurements and assumptions.

      Result = (A ÷ (B - 1)); A = First-to-last hole span mm, B = Hole count

    • Cylindrical dowel volume — Cylindrical dowel volume using your entered measurements and assumptions.

      Result = ((π × (A ^ 2)) × B); A = Dowel radius mm, B = Length mm

    • Dowel batch mass — Dowel batch mass using your entered measurements and assumptions.

      Result = ((A × B) × C); A = Single dowel volume cm³, B = Density g/cm³, C = Dowel count

    • Straight rabbet removed volume — Straight rabbet removed volume using your entered measurements and assumptions.

      Result = (((A × B) × C) ÷ 1000); A = Length mm, B = Width mm, C = Depth mm

    • Straight groove removed volume — Straight groove removed volume using your entered measurements and assumptions.

      Result = (((A × B) × C) ÷ 1000); A = Length mm, B = Width mm, C = Depth mm

    • Square corner diagonal cut width — Square corner diagonal cut width using your entered measurements and assumptions.

      Result = (A × sqrt(2)); A = Board width mm

    • Regular frame joint half-angle — Regular frame joint half-angle using your entered measurements and assumptions.

      Result = (180 ÷ A); A = Polygon side count

    • Board taper angle — Board taper angle using your entered measurements and assumptions.

      Result = ((atan((A ÷ B)) × 180) ÷ π); A = Width change mm, B = Taper run mm

    • Finish volume from label coverage — Finish volume from label coverage using your entered measurements and assumptions.

      Result = ((A × B) ÷ C); A = Finish area m², B = Coat count, C = Label coverage m²/L

    • Finish containers needed — Finish containers needed using your entered measurements and assumptions.

      Result = ceil((A ÷ B)); A = Required finish L, B = Container size L

    • Glue cost from measured use — Glue cost from measured use using your entered measurements and assumptions.

      Result = ((A ÷ 1000) × B); A = Measured glue use grams, B = Glue price per kg

    • Estimated clamp station count — Estimated clamp station count using your entered measurements and assumptions.

      Result = (ceil((A ÷ B)) + 1); A = Glue line length mm, B = Planned spacing mm

    • Fasteners at planned stations — Fasteners at planned stations using your entered measurements and assumptions.

      Result = ((A × B) × C); A = Stations per assembly, B = Fasteners per station, C = Assemblies

    • Hinge hardware budget — Hinge hardware budget using your entered measurements and assumptions.

      Result = ((A × B) × C); A = Doors, B = Hinges per door, C = Cost per hinge

    • Drawer width after side clearances — Drawer width after side clearances using your entered measurements and assumptions.

      Result = (A - (B × 2)); A = Opening width mm, B = Required clearance per side mm

    • Drawer bottom rectangular area — Drawer bottom rectangular area using your entered measurements and assumptions.

      Result = ((A × B) ÷ 1000000); A = Bottom length mm, B = Bottom width mm

    • Circular tabletop area — Circular tabletop area using your entered measurements and assumptions.

      Result = (π × (A ^ 2)); A = Table radius m

    • Circular tabletop edge band length — Circular tabletop edge band length using your entered measurements and assumptions.

      Result = (π × A); A = Table diameter m

    • Project labor budget — Project labor budget using your entered measurements and assumptions.

      Result = (A × B); A = Work hours, B = Hourly cost

    • Project material subtotal — Project material subtotal using your entered measurements and assumptions.

      Result = ((A + B) + C); A = Lumber cost, B = Hardware cost, C = Finish cost

    • Project shop overhead allocation — Project shop overhead allocation using your entered measurements and assumptions.

      Result = ((A ÷ B) × C); A = Monthly overhead, B = Monthly billable hours, C = Project hours

    • Project quote with markup — Project quote with markup using your entered measurements and assumptions.

      Result = (A × (1 + (B ÷ 100))); A = Project cost, B = Markup %

    • Shop tool electricity use — Shop tool electricity use using your entered measurements and assumptions.

      Result = ((A × B) ÷ 1000); A = Average measured watts, B = Run hours

    • Abrasive budget — Abrasive budget using your entered measurements and assumptions.

      Result = (A × B); A = Sheets used, B = Cost per sheet

    • Repeated assembly work time — Repeated assembly work time using your entered measurements and assumptions.

      Result = ((A × B) + C); A = Minutes per unit, B = Units, C = Setup minutes

    • Batch labor per unit — Batch labor per unit using your entered measurements and assumptions.

      Result = ((A ÷ B) × 60); A = Batch labor hours, B = Units completed

    • Finished wood volume yield — Finished wood volume yield using your entered measurements and assumptions.

      Result = ((A ÷ B) × 100); A = Finished volume L, B = Purchased volume L

    • Reusable offcut inventory value — Reusable offcut inventory value using your entered measurements and assumptions.

      Result = (A × B); A = Reusable offcut length m, B = Replacement cost per m

    Definitions and source references

    Unit definitions and selected model references:

    Save this math resource for later
    Save to Pinterest