LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.
Methodology
Purpose and model boundary
This calculator gives a finish-cost estimate from a floor plan you draw. It prices eight assembly lines, each a quantity taken from the drawing times your unit cost times a regional factor, adds a contingency, and divides the total by the floor area to give the cost per square foot (per square metre under Metric). The lines are flooring and other floor-area work, baseboard and other work along the outline, paint and other wall-area work, and doors and windows by the piece. It is not a construction bid: it does not price structure, labour by trade, markup, tax or escalation, and its default prices are not market prices.
Inputs and units
The drawing is the first input. The drawing tool finds the rooms and writes one row per room (its ID, floor area and enclosing-wall length), one row per wall side of every room, and one row per window and per door with its width and the room it belongs to. The outline is also sent as its corner points, and up to five islands or columns inside the floor as exclusions. Each exclusion can carry a height, set by double-clicking it on the drawing (blank is full height); it is carried for the drawing and its 3D view only, and no figure reads it, since the floor area leaves out every exclusion whatever its height and no line prices a ceiling.
Where the quantities come from
Each room's area comes from the drawing tool's room detection, and each wall segment's length and room, and each window's and door's width and room, from the drawing. The spreadsheet checks the room areas against the floor area it computes from your points, and the walls against each room's circumference and the outline. The floor area is net of islands and columns. The perimeter is the outline's, measured from your points, so interior walls are not perimeter. The wall area is every room side times the one wall height, so an interior wall counts both faces; with "Net of windows and doors" each opening's width times its height comes off, and an interior door comes off one face only.
Heights
There is one wall height for the whole plan, 6 to 20 ft or 1.80 to 6.00 m in the spreadsheet; on the page the drawing accepts the heights valid in both unit systems, 6 to about 19.68 ft (1.83 to 6.00 m), so a unit switch never leaves the wall out of range. Door heights run from 5 ft (1.50 m) up to the wall height; window heights from 1 ft (0.30 m), on a sill of zero or more, with the sill and the window together no taller than the wall. These are the drawing tool's ranges, not building-code limits. On the page the drawing asks for a window at least 1 ft (0.3048 m) and a door at least 5 ft (1.524 m) tall in both systems, so in Metric it refuses a 0.30 m window or a 1.50 m door that the spreadsheet alone would take. Set them on the drawing (the Wall height control and each opening's popover) or in the tables under it. The wall height is one physical height and converts exactly on a switch (8 ft is 2.4384 m). Each unit system keeps its own opening heights; a new opening, and after a switch or when a worked example loads an opening with no height in the current system, gets the drawing's default heights: a door 6 ft 8 in or 2.03 m, no higher than the wall, and a window 4 ft or 1.20 m on a 3 ft or 0.90 m sill, the sill lowered as needed so the window fits below the wall. The 3D view shows the same inputs and computes nothing.
Prices and factors
The inputs beside the drawing are your unit costs: flooring and other floor-area work per square foot (per m²), baseboard and other perimeter work per foot (per m), paint and other wall-area work per square foot of wall (per m²), each door and each window; the wall area basis (the gross wall area, or net of windows and doors); a regional cost factor; and a contingency rate. Prices are plain numbers in your own currency; the page shows no currency symbol. US prices are per sq ft and per ft; Metric prices per m² and per m. The US defaults are the worked examples' prices. The Metric defaults are the US defaults converted (6.50 per sq ft is 69.97 per m², 12.00 per ft is 39.37 per m, 3.25 per sq ft is 34.98 per m²) and rounded to round figures, as placeholders for review. Neither set is a market price; enter your own.
Governing relationships
Floor area = the drawn floor, net of islands and columns
Perimeter = the outline's length, closing side included
Gross wall area = total length of every room side × wall height
Wall area priced = gross wall area, or gross wall area − each window's and door's width × height with "Net of windows and doors"
Line cost = quantity × unit cost × regional factor, for each of the eight lines
Subtotal = the sum of the line costs
Contingency = subtotal × contingency rate
Total = subtotal + contingency
Cost per floor area = total ÷ floor area
The regional factor is yours: a number that scales every unit cost for where the work is, 1 leaving them unchanged. Public pricing guides use the same multiplicative form with their own location factors, which are not used here and are not meant for your own unit costs. Nothing is rounded before the figures are shown.
Calculation sequence
- The spreadsheet measures the outline's perimeter from the points and takes the floor area from the drawing.
- It adds up every room side, multiplies by the wall height, and takes off the openings when the walls are priced net.
- It counts the doors and windows, prices each of the eight lines, and lists in the Cost by assembly table only the lines whose unit cost is above zero.
- It adds the contingency to the subtotal and divides the total by the floor area.
The default plan works through as follows: one 20 by 15 ft room with 8 ft walls has 300 sq ft of floor, a 70 ft perimeter and 70 × 8 = 560 sq ft of wall. Flooring 300 × 6.50 = 1,950.00, baseboard 70 × 12.00 = 840.00 and paint 560 × 3.25 = 1,820.00 make a subtotal of 4,610.00; the 10% contingency is 461.00, the total 5,071.00, and 5,071.00 ÷ 300 = 16.90 per sq ft.
Outputs and interpretation
- Cost: the total, the cost per floor area, the subtotal and the contingency.
- Quantities priced: the floor area, the outline perimeter, the wall area priced, and the door and window counts.
- Cost by assembly: each priced line with what it is priced by, its quantity, unit cost and cost.
- By room: each room's floor area, wall length, wall area, doors and windows. Costs are given as totals only, not by room.
- From the drawing: the gross area inside the outline and the area of each island or column.
Validation and status logic
The status reads OK, CHECK with what to look at, or NOT VALID with what to fix. While it is NOT VALID every quantity and money figure reads zero and the Cost by assembly and By room rows are blank; the drawn areas still show. CHECK shows every figure. The first problem found is reported, in this order:
- NOT VALID: choose US or Metric
- NOT VALID: draw at least three outline points
- NOT VALID: every outline point needs both coordinates
- NOT VALID: every point of exclusion 1 needs both coordinates
- NOT VALID: every point of exclusion 2 needs both coordinates
- NOT VALID: every point of exclusion 3 needs both coordinates
- NOT VALID: every point of exclusion 4 needs both coordinates
- NOT VALID: every point of exclusion 5 needs both coordinates
- NOT VALID: each exclusion needs zero or at least three complete points
- NOT VALID: outline and exclusion points must fill consecutive rows, with no blank row between them
- NOT VALID: the floor outline encloses no area
- NOT VALID: the exclusions leave no floor area
- NOT VALID: room, wall, window and door rows must be complete, with lengths above zero and no negative area, and fill consecutive rows with no blank row between them
- NOT VALID: wall, window and door IDs must each be listed once, and no ID or room ID may contain *, ? or ~ or begin with <, > or =
- NOT VALID: the room areas do not add up to the floor area drawn
- NOT VALID: every room must be listed once, and every wall, window and door must belong to a listed room
- NOT VALID: the walls listed do not go all the way round every room and the outline drawn
- NOT VALID: the wall height must be from 6 to 20 ft (US) or from 1.80 to 6.00 m (Metric)
- NOT VALID: every window needs a height of at least 1 ft (US) or 0.30 m (Metric)
- NOT VALID: every window needs a sill height of zero or more
- NOT VALID: every door needs a height of at least 5 ft (US) or 1.50 m (Metric)
- NOT VALID: a window or door reaches above the wall height
- NOT VALID: an exclusion height must be greater than zero; leave it blank for full height
- NOT VALID: an exclusion height is given for an exclusion that is not drawn
- NOT VALID: the windows and doors in a room cover more than its walls
- NOT VALID: choose how the wall area is priced
- NOT VALID: every unit cost must be zero or more
- NOT VALID: the regional cost factor must be greater than zero
- NOT VALID: the contingency must be zero or more
- CHECK: an exclusion is drawn; the floor area leaves out its footprint, and the wall area leaves out its sides
NOT VALID means the drawing, the tables or the inputs do not describe a plan the spreadsheet can price, and the line says what to fix. CHECK means the answer computed but deserves a look: an exclusion is drawn, so the floor lines leave out its footprint and the wall lines leave out a column's sides. OK means neither applied; a zero total is not a CHECK. The height limits are the drawing tool's own: the spreadsheet holds a direct caller to the drawing tool's range for each unit system (items 18 to 22), and the page narrows the wall and the openings to the ranges valid in both systems.
Assumptions and limitations
- One wall height applies to the whole plan; per-room heights are not used.
- An interior door comes off one face of the wall only, the face of the room it is listed in.
- A column's sides are not wall area; the status reads CHECK while an exclusion is drawn.
- Whether an opening fits the wall it is on is the drawing's check, not the spreadsheet's.
- The eight lines are fixed; a free list of assemblies, cost divisions and a quality level are not offered.
- Nothing is saved between visits. Export keeps the drawing but not the heights typed in the tables.
- The 3D view is for looking only.
Restrictions and non-computing states
The spreadsheet computes nothing while the status is NOT VALID: every quantity and money figure reads zero, and the Cost by assembly and By room rows are blank. Edits on the page stay local until Calculate is pressed.
Errors and warnings
Each NOT VALID line above names the input to fix, and the CHECK line names what to look at. A height outside the drawing's limits, a blank opening height or a blank sill on a window that has a height is refused, because the opening must still fit the wall.
References
Sources and further reading
- National Institute of Standards and Technology, Guide for the Use of the International System of Units (SI), NIST Special Publication 811 (2008 edition), Appendix B.8, "Factors for units listed alphabetically". nist.gov. The exact factors 1 ft = 0.3048 m and 1 ft² = 0.09290304 m², used for the unit labels and to derive the Metric placeholder prices (converted, then rounded).
- U.S. Department of Defense, Unified Facilities Criteria UFC 3-701-01, DoD Facilities Pricing Guide, 17 March 2022, Change 7, 25 July 2025 (preparing activity NAVFAC). wbdg.org. Its Equation 3-1 (paragraph 3-2.2, "Plant Replacement Value (PRV)"), PRV = Q × PUC × ACF × HF × PD × SIOH × CF, is an example of the multiplicative form quantity × unit cost × location factor × … × contingency factor (CF = 1.05). The guide's own factors are for DoD facility programming and are not used here; its paragraph 4-1.1 says not to use its area cost factors to modify user-generated unit costs. Your regional factor is your own.
The default prices, regional factor and contingency are the worked examples' figures, for review before use, not values from these sources; use your own prices and factors. The height defaults and limits are the drawing tool's. These sources describe unit conversions and a cost-estimating form; they certify no particular result.
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.