Brick wall calculator
Planning a brick wall starts with more than dividing the wall by the bare face of one brick.
Run — free
Every bed joint and vertical joint occupies part of the finished surface, so joint thickness changes the number of bricks that fit. This brick wall calculator combines the wall area, exposed brick length and height, and mortar joint thickness into a practical module. It returns the estimated brick count, a waste-adjusted purchasing quantity, and the visible mortar-joint share of the wall so you can prepare a consistent early estimate.
Measure the net wall area and brick face
Begin with the net face area of the wall in square metres. Measure length by height, then subtract doors, windows, vents, and any other openings that will not receive brickwork. Use the dimensions of the face that will actually appear in the wall, not the brick depth. A common brick may be described with three dimensions, but this calculation needs only its horizontal face length and vertical face height. Enter those two values in millimetres. Keep the measurements in the requested units rather than converting everything to one system yourself; the calculator converts the brick module to square metres internally. If the design includes several brick formats, decorative courses, or large areas with a different bond, calculate those sections separately. Adding separate estimates is more dependable than entering an average brick size. The result assumes the stated wall area is covered by a repeating rectangular face module, which is appropriate for an early material count but does not replace a drawing or site measurement for complex masonry details.
Understand how joints change the count
A brick does not occupy the wall alone. The calculation adds one mortar joint thickness to the face length and one to the face height, producing a repeating module of brick plus its share of surrounding joints. It divides the wall area by that module area to obtain the exact theoretical count, then rounds upward because a fraction of a brick still requires material. The visible mortar-joint area is calculated as the portion of each module not covered by the bare brick face. This is reported in square metres and as a percentage of the wall face. It is a surface estimate, not mortar volume or bag quantity. Calculating volume would require brick depth or wall thickness, joint geometry, workmanship assumptions, and a product yield. Those inputs are deliberately not invented here. A thicker joint creates a larger module, so fewer bricks fit in the same face area while the visible mortar percentage increases. A zero-thickness joint is accepted for dry-laid comparisons and produces zero visible mortar area, although it is not a recommendation for structural construction.
Use waste sensibly and interpret the result
The waste percentage increases the exact theoretical brick quantity before the final whole-brick rounding. The default five percent is a useful starting allowance for routine cuts, minor breakage, and selection, but the right figure depends on the project. Simple straight walls using readily available bricks may need only a modest reserve. Corners, returns, piers, angled cuts, patterned bonds, fragile reclaimed stock, or bricks with noticeable colour variation can justify more. The output shows both the rounded count without waste and the final purchasing count, making the allowance transparent. Do not add the waste percentage a second time when ordering. Also remember that this is an area-based planning estimate: bond patterns can change cutting losses, and structural details may require special units that a rectangular module cannot identify. Confirm the final schedule with the construction drawings, brick supplier, or masonry professional. For automation, the same deterministic calculation is available through the API for $0.002 per request. It uses no network lookups, so identical valid inputs always produce identical results.
What you can do with it
Price a garden wall
Turn measured net wall area and the selected brick format into an initial purchase quantity with a visible waste allowance.
Compare joint styles
See how changing a thin or wide mortar joint affects both the brick count and the visible mortar share.
Check a contractor estimate
Create an independent area-based reference count before reviewing a quote or placing a supplier order.
FAQ
Does the estimate include waste?
Yes. The result shows a count without waste and a final required count using the entered waste percentage, which defaults to five percent.
Should openings be subtracted first?
Yes. Enter net wall face area after subtracting doors, windows, vents, and other areas that will not be bricked.
Does mortar-joint area mean mortar volume?
No. It is the visible face area occupied by joints. Mortar volume needs wall depth and further construction assumptions.
What brick dimensions should I enter?
Enter the exposed horizontal length and vertical height of one brick face in millimetres, excluding the mortar joint.
How much does the API calculation cost?
Each API request costs $0.002. The browser calculator can be run free on the page.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/home/brick-wall \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"wall_area":10,"brick_length":215,"brick_height":65,"joint_thickness":10}'const res = await fetch("https://api.kit.forhosting.com/home/brick-wall", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"wall_area": 10,
"brick_length": 215,
"brick_height": 65,
"joint_thickness": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/brick-wall",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"wall_area": 10,
"brick_length": 215,
"brick_height": 65,
"joint_thickness": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/brick-wall", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"wall_area":10,"brick_length":215,"brick_height":65,"joint_thickness":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"wall_area":10,"brick_length":215,"brick_height":65,"joint_thickness":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/brick-wall", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"wall_area": 10,
"brick_length": 215,
"brick_height": 65,
"joint_thickness": 10
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.brick_wall",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |