Masonry Takeoff With AI: Counting Bricks and Blocks From an Elevation

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Masonry Takeoff With AI: Counting Bricks and Blocks From an Elevation.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Masonry Takeoff With AI: Counting Bricks and Blocks From an Elevation.

Yes, with a condition: AI can do the arithmetic from dimensions you give it, but it should not be trusted to read the drawing alone. Multiply net wall area (gross less openings) by units per square metre, add wastage, then check the result against a count of courses and bricks per course.

Most of the work is in the checking, because a number that looks sensible can be wrong by a pallet. The routine below takes one elevation from raw dimensions to an order quantity, and shows exactly where AI helps and where it quietly goes wrong.

Follow me on Instagram@sagnikteaches

The formula an AI is really running

Every masonry takeoff from an elevation reduces to one line: (gross area minus openings) multiplied by units per square metre, plus wastage. An AI assistant is useful for it because it will not mistype a decimal, but only if you feed it the right inputs.

Connect on LinkedInSagnik Bhattacharya

Units per square metre come from the size of the unit plus its joint. For a brick that is 215 mm long and 65 mm high with 10 mm joints, the coursing module is 225 mm by 75 mm. One divided by 0.225 times 0.075 gives 59.26 per square metre for a single-skin wall laid as stretchers, which most people round to 60. For a standard 440 x 215 mm block with the same 10 mm joint, the module is 450 by 225 mm and the answer is 9.88, rounded to 10.

Subscribe on YouTube@sagnikteaches
Unit (face size)Module (unit plus joint)Per m² single skinRounded for ordering
Brick 215 x 65 mm225 x 75 mm (10 mm joint)59.360
Block 440 x 215 mm450 x 225 mm (10 mm joint)9.8810
Brick 215 x 65 mm, one brick thick225 x 75 mm, two skins118.5120
Modular brick 7 5/8 x 2 1/4 in8 x 2 2/3 in (3/8 in joint)72.7 (6.75 per sq ft)73
Concrete block 15 5/8 x 7 5/8 in16 x 8 in (3/8 in joint)12.1 (1.125 per sq ft)12

If your brick or block is a different size, or your joint is not 10 mm, do not use these figures. Work out your own module, because the answer can change by several percent, and several percent of a 2,000-brick elevation is a lot of bricks. Imperial sizes follow the same logic, as the last two rows show: multiply unit length plus joint by unit height plus joint, and divide the result into 144 square inches. The brick industry's own estimating table gives 675 modular bricks per 100 square feet, which matches the 6.75 worked out here, so the method checks out against a published figure.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

A main example: one front elevation, bricks

Here is an illustrative job. A two-storey side extension has a front elevation 9.0 m wide and 5.0 m from the damp-proof course to the eaves, built as a single skin of facing brick in stretcher bond. Treat the eaves line as level for this example, so the face is a plain rectangle.

The openings read from the elevation, in metres:

  • Two windows, 1.2 wide by 1.35 high: 1.62 m² each, so 3.24 m².
  • One large window, 2.4 by 1.35: 3.24 m².
  • One door, 0.9 by 2.1: 1.89 m².

Gross area is 9.0 x 5.0 = 45.00 m². Openings total 3.24 + 3.24 + 1.89 = 8.37 m². Net area is 36.63 m².

Bricks at 60 per m²: 36.63 x 60 = 2,197.8, so 2,198. Add 5% wastage as an illustrative allowance: 2,198 x 1.05 = 2,308. If your supplier sells in packs of 400 (pack sizes vary between makers, so check yours), you order six packs, 2,400, and carry 92 spare. That last step, rounding to pack size, is one the AI tends to skip unless asked.

The prompt that produced the sum

Brick takeoff. Show every step.
Wall: single skin, stretcher bond, brick 215 x 65 mm, joint 10 mm.
Gross face: 9.0 m wide x 5.0 m high.
Openings (width x height in m): 2 x (1.2 x 1.35); 1 x (2.4 x 1.35); 1 x (0.9 x 2.1).
1. Compute gross area, openings area, net area.
2. Compute bricks per m2 from the module, not from memory.
3. Multiply, then add 5% wastage.
4. Round up to packs of 400.
Then list anything you assumed that I did not tell you.

The last line is the useful habit. When AI is asked to list its assumptions, it often admits that it ignored corners, reveals at openings or bond cuts, and that is exactly the list you need to check by hand.

The hand-count that catches a wrong answer

You should be able to check any AI figure in five minutes without a calculator beyond the phone. Count courses instead of using area.

  1. Course height is 75 mm (65 plus a 10 mm joint). A 5.0 m face is 5,000 / 75 = 66.7, call it 67 courses.
  2. Bricks per course: 9,000 mm / 225 mm = 40 bricks.
  3. Gross by count: 40 x 67 = 2,680 bricks.
  4. Gross by area method: 45 x 60 = 2,700. The two are within 1%, which is a pass.

Then subtract openings by the same method. The large window is 2.4 m wide: 2,400 / 225 = 10.7 bricks across and 1,350 / 75 = 18 courses, so about 192 bricks. Twice the small window: 1.2 / 0.225 = 5.3 across, 18 courses, 96 each, 192 for both. The door is 0.9 / 0.225 = 4 across, 2.1 / 0.075 = 28 courses, 112. Openings total 192 + 192 + 112 = 496. Net by count: 2,680 - 496 = 2,184, against 2,198 by area. A gap of 14 bricks, well under 1%, is rounding, not error.

If the two methods disagree by more than about 3%, stop and find out why before you order. The usual culprits are a dimension typed in wrongly or an opening counted twice.

Blocks: a boundary wall with piers

A second illustration, because blocks go wrong in a different way. A garden boundary wall runs 12.0 m long and 1.8 m high in 440 x 215 mm blocks, with two 450 mm square piers at the ends built as part of the same wall.

The straight run is 12.0 x 1.8 = 21.6 m². At 9.88 per m² that is 213.4 blocks, or 216 using the rounded 10. Add 5%: about 224 to 227. The check by course: 1,800 / 225 = 8 courses; 12,000 / 450 = 26.7 blocks per course; 8 x 26.7 = 213. The piers are where AI tends to forget. A 450 mm square pier on a wall of 100 mm-wide blocks occupies ground the straight run never counts: its footprint less the wall's own width is about 450 by 350 mm, roughly three and a half blocks per course once cuts are allowed for, so about 28 per pier over eight courses and around 56 for the pair. Pier bonding varies, so take the real figure from the pier detail rather than from this rule of thumb. Total with piers: about 269 before wastage, roughly 282 with 5%, so order around 285.

The lesson: an assistant given only a length and a height treats the wall as one clean rectangle, and adjusts only once it is told about piers and corners. Mention every return, pier and corner in your prompt, because it will not discover them from a rectangle's dimensions.

Where AI misreads an elevation

If you upload a drawing and ask for a count, expect a few failure modes. Here is a realistic mistake, illustrative, and how it would show up.

Say the main example's elevation is drawn at 1:100, but the sheet came from a 1:50 set and the title block still says 1:50. The AI measures a window as 12 mm on the sheet, applies 1:50 and returns 0.6 m instead of 1.2 m. Every opening it measured is half its real width and half its real height, so a quarter of its real area: 2.09 m² of openings instead of 8.37 m². The overall width and height came from dimension strings, so they are right, which makes the answer look plausible. Net area rises from 36.63 to 42.91 m², and the count comes out about 375 bricks, or 17%, too high. The sum is internally consistent. It simply starts from wrong numbers, which is why ticking every opening against the dimension strings or the window schedule is worth more than rereading the AI's arithmetic.

Ways to protect yourself:

  • Read the overall width and height from the dimension strings on the drawing, not by measuring.
  • Give the AI the scale and an overall dimension, and ask it to confirm one known length as a test before it counts anything.
  • Name the sheet's levels. Floor, damp-proof course (DPC) and eaves heights decide where the brickwork starts and stops, and AI often counts below the DPC where the wall is blockwork.
  • Have it list every opening in a table with width, height, area, and the sheet reference. You can then tick each against the drawing.

Further cases worth doing once

A gable end

The triangular top is half the base times the height. A gable 9.0 m wide with a 2.2 m rise adds 0.5 x 9.0 x 2.2 = 9.9 m² to the rectangle below it. At 60 per m² that is 594 bricks, but gable work involves many cut bricks along the rake, so many estimators lift the wastage on that portion. Use a higher figure there and say why in your notes. Ask the AI to compute the gable as a separate line so the extra wastage is visible.

A cavity wall, two leaves

A cavity wall has an outer leaf of brick and an inner leaf of blocks, each with its own count. Run the same elevation twice: once for bricks (60 per m²) and once for blocks (10 per m²) on the net area. Using the main example's 36.63 m², that is 2,198 bricks and 366 blocks before wastage. The inner leaf often has different openings (no reveal on the outer face, for example), so check whether the sizes you used belong to the leaf you are counting.

Reveals and returns

Brick corners and window reveals use cut or special bricks. A typical takeoff leaves them inside the wastage figure, but if the job has many small windows, the cuts add up. A useful sanity test is to count corners and reveal edges, multiply by courses, and see whether your wastage covers the number of cut bricks. Ten corners and reveal jambs by 18 courses is about 180 half bricks, which is a lot of the 110 spare bricks in the main example, so on a window-heavy elevation 5% may be low.

A half-brick versus one-brick wall

The most expensive typo in masonry takeoff is wall thickness. A one-brick-thick wall (two skins, 215 mm) takes about 120 per m², double the figure for half-brick. If the AI used 60 where the section shows a solid one-brick wall, you under-order by half. Put wall thickness in the prompt every time.

Wastage, packs and what to tell the supplier

Wastage is an allowance, not a fact. The brick industry's own estimating guidance suggests adding at least 5% to net brick quantities as a general rule, and more where job conditions warrant it. Beyond that floor, different estimators use different figures and the right one depends on bond, number of openings, the quality of the bricks and how careful the crew is. Use a figure you can defend, write it next to the quantity, and ask your merchant what they advise for that brick.

StepMain example, bricksCheck
Gross area45.00 m²9.0 x 5.0
Openings8.37 m²Tick against drawing
Net area36.63 m²Course count differs under 1%
Bricks at 60 per m²2,198Module worked out, not remembered
Wastage 5%2,308Supplier advice noted
Packs of 4002,400 (6 packs)Pack size confirmed

A last point on ordering: a facing brick batch can vary in colour between deliveries, so a short order topped up later can show in the finished wall. That is one reason why under-ordering is a costlier error than a modest over-order, and why the check matters.

A reusable prompt for the whole elevation

Once you have done this once, keep the prompt as a template and fill the brackets each time. It can be used for brick or block.

You are doing a masonry quantity check, not reading a drawing. Use only the figures I give.
Unit: [brick/block], face [length] x [height] mm, joint [x] mm.
Wall: [half-brick / one-brick / cavity: outer brick, inner block], bond [stretcher].
Gross face: [width] x [height] m. Extra shapes: [gable base x rise; piers; returns].
Openings: [list width x height x number].
Wastage allowance: [x]%, because [reason]. Pack size: [n].
Return: a table of areas, units per m2 with the module shown, the net count, the count with wastage, and packs to order.
Then do a second count by courses (courses x units per course), compare the two, and flag any difference over 2%.
Finally list everything you assumed.

Asking for the second count by courses makes the AI check itself, and you then check the check. When the two numbers match, you can trust the arithmetic; the dimension inputs remain your responsibility.

A sample reply, and what you would fix in it

Here is an illustrative answer to the main prompt, the kind an assistant returns when the instructions are clear but not airtight.

Gross 45.00 m². Openings 8.37 m². Net 36.63 m². Module 225 x 75 mm gives 59.26 per m². Net bricks 2,171. With 5% wastage, 2,280. Order 2,400 in six packs of 400. Assumptions: no returns or piers; openings as listed; bond cuts inside wastage.

Three things to notice. First, 2,171 is correct for the unrounded 59.26 per m², while the earlier figure of 2,198 used 60; both are legitimate, but you must know which one is on your order and be consistent between estimates. Second, it still lands on six packs either way, so the choice changes nothing here, though on a larger job it would. Third, the assumptions line says "no returns or piers", which is the AI quietly telling you what it left out. If your elevation has a return wall or a chimney breast, that line is your cue to add them.

What you would fix: replace "2,171" with whichever convention your firm uses, add the missing returns as separate lines, and record the wastage reason. What you would not fix is the structure of the answer, which was clear and checkable.

A small-firm walkthrough: three elevations in one morning

Say a four-person bricklaying firm is pricing a two-storey extension with three visible elevations: front, left return and rear. The owner types the dimensions of each into a short table rather than uploading the drawings, then asks for the same calculation on each in one go.

ElevationGross m²Openings m²Net m²Bricks at 60
Front45.08.436.62,196
Left return27.53.224.31,458
Rear45.06.538.52,310
Total117.518.199.45,964

With 5% wastage that is about 6,262, or 16 packs of 400 (6,400). The owner's check is the same two-line routine on the biggest elevation only: count courses on the rear, compare, and if it agrees within 1%, trust the table's layout for the other two. This is a sensible way to spend checking time: an error in method repeats across all three and shows up in the one you count, while an error in one dimension affects only its own elevation, which is why each opening list still gets ticked against the drawing. On these illustrative figures the whole job, including typing the tables, takes about 90 minutes against half a day with a scale rule, and the time saved is mostly in the arithmetic and the neat write-up rather than in any clever reading of drawings.

What the number does not include

A brick or block count is one line of a masonry quote. These are separate and each needs its own takeoff: mortar (by volume or bag count, depending on how your supplier sells it), wall ties for cavity walls, lintels over openings, damp-proof courses, cavity trays, insulation in the cavity, movement joints and the labour to lay it all. A common mistake is to treat the brick count as the cost of the job when it may be only a third of it. For the bid side, reviewing plans and specs for scope gaps shows how to find what is in and out of your price.

If you do takeoffs across trades, a small firm's test of AI takeoffs from drawings compares what AI reads well and badly, the insulation takeoff follows the same verify-by-hand pattern, and the roofing takeoff goes deeper on waste allowances.

A five-minute routine before you send the order

  1. Confirm the unit size and joint with your supplier's data sheet.
  2. Read overall width and height from dimension strings and note the drawing scale.
  3. List openings in a table and tick each against the drawing.
  4. Run the AI sum, with the module shown, and get its assumptions list.
  5. Count courses by hand and compare; stop if the gap is over 3%.
  6. Add the wastage you can defend and round to packs.
  7. Write the units per square metre and the wastage on the order, so the next person can see how it was built.

Done once, this takes an afternoon to set up and a few minutes after that. It gives you what an automated takeoff tool alone cannot: a number you can explain to a client or a supplier, with the reason for each part of it.

Questions about counting masonry with AI

How many bricks are in a square metre of wall?

For a standard 215 x 102.5 x 65 mm brick laid in stretcher bond with 10 mm joints, about 59, usually rounded to 60 for ordering. A one-brick-thick wall doubles that. For another brick size, divide one by the face length plus joint, times the face height plus joint.

Can AI read dimensions straight off a drawing?

Sometimes, but it misreads scales, rounds figures and confuses levels. The reliable route is to read the key dimensions yourself, type them in, and let the AI do the arithmetic, then check the answer by counting courses. If you do upload a drawing, give it the scale and one known dimension to test against first.

What wastage should I add for bricks and blocks?

Brick industry estimating guidance suggests adding at least 5% to net brick quantities as a general rule, and more where cuts, openings or site conditions warrant it. Blocks with many cuts may need more. Ask your supplier what they advise and record the figure you used.

Does the takeoff include mortar and lintels?

Not unless you ask. Bricks and blocks are one line; mortar, ties, lintels, damp-proof courses and cavity trays are separate lines with their own rules. List them as separate items so nothing is assumed. Mortar carries its own waste allowance too: brick industry guidance suggests adding 15 to 25% to net mortar quantities.

Further reads

Sources: Brick Industry Association Technical Note 10, Dimensioning and Estimating Brick Masonry (wall-area method, 675 modular bricks per 100 sq ft, waste of at least 5%). The metric module arithmetic and all worked examples are the author's own illustrations.

Want your takeoff checks built into a repeatable routine?

On a 1:1 call we'll look at how you count materials today, decide where an AI assistant can do the arithmetic, and set up the hand-check that catches its mistakes.

Book a 1:1 call with me