Asphalt calculator
A lane 10 m long and 4 m wide with a 0.05 m compacted lift holds 2 m³ of asphalt, or 4.8 tonnes at 2.4 t/m³. Enter your own mix density from the plant ticket to size trucks and orders. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Length
- 10
- Width
- 4
- Depth
- 0.05
- Density
- 2.4
- Volume
- 2
- Tonnage
- 4.8
Paving estimators, municipal crews, and driveway contractors need the asphalt tonnage for a rectangular area before they order mix from the plant, size dump trucks, or write a unit-price bid. This asphalt calculator accepts four strictly positive numbers—length, width, compacted lift depth, and the bulk density of the mix—and returns the tonnage as volume times density. Volume is length times width times depth in one consistent length unit; density must be mass per cubic unit of that same system, for example tonnes per cubic metre with metres. Compacted hot-mix asphalt often sits near 2.4 tonnes per cubic metre, but density is an input so a mill ticket or a laboratory bulk specific gravity can replace a handbook guess.
How asphalt tonnage is computed from length, width, depth, and density
A rectangular pavement lift is modelled as a right rectangular prism. Volume is length times width times depth when those three lengths share one unit: metres with metres, feet with feet, yards with yards. Tonnage is that volume multiplied by the bulk density of the asphalt mix, using mass per cubic unit that matches the volume: tonnes per cubic metre with cubic metres, or US short tons per cubic yard with cubic yards.
The identity is the definition of density rearranged for mass: mass equals density times volume, so tonnage equals length times width times depth times density when the units are consistent. Compacted dense-graded hot-mix asphalt in SI work often sits near 2.4 tonnes per cubic metre, which is about 2400 kilograms per cubic metre; some agencies use 2.3 or 2.5 depending on aggregate specific gravity and air voids.
Passing density as a required number rather than hiding a single table is deliberate: a job that places stone-mastic asphalt or a high-void open-graded friction course would be billed the wrong tons if the page silently assumed 2.4. Depth is the compacted lift thickness, not the loose truck volume; if a specification calls for 50 millimetres, convert to 0.05 metres before calling when you work in SI.
The calculator does not add a waste or compaction factor, does not convert millimetres to metres, and does not subtract saw-cut keys or taper at joints; those are job-specific multipliers applied after the geometric take-off so a quote stays transparent. All four inputs must be strictly positive finite numbers. A zero or negative length cannot be a paving lane, a zero thickness is not a lift, and a non-positive density is not a physical mix.
What you send, which units to use, and how validation fails
Convert millimetres to metres by dividing by one thousand before you call; convert inches of depth to feet by dividing by twelve if you work in US customary units with density in tons per cubic foot. Mixing millimetres of depth with a density of 2.4 tonnes per cubic metre without converting would understate tonnage by three orders of magnitude, so the contract keeps one unit set and leaves conversion to the caller.
A ten-metre by four-metre by 0.05-metre lane at 2.4 tonnes per cubic metre yields 2 cubic metres and 4.8 tonnes. Validation failures name the offending field so a form can highlight length when someone types zero, or density when a spreadsheet leaked a negative. Upper and lower limits keep intermediate products finite: each field must be at least 1e-15 and at most 1e12.
Where an asphalt tonnage calculator earns its keep
Asphalt plants and paving contractors estimate mix tons before they batch a truck so they can quote a lane, a parking stall, or a trench patch instead of guessing from a previous job. Municipal street desks and airport apron crews need a tonnage figure that matches the public calculator when a resident or a consultant pastes length, width, and thickness into a storefront. Homeowners overlaying a driveway, landscape contractors building a small court, and estimators checking a 50-millimetre mill-and-fill against a bid tab all want the same four-input contract.
Curriculum authors and quantity-survey trainers can pin goldens: ten by four by 0.05 at 2.4 must stay 4.8 tonnes. If you later need concrete slab volume, gravel base weight, paver piece counts, or millimetre-to-metre conversion as a first-class form, treat those as separate search intents rather than overloading this asphalt landing. The tool is a rectangular lift take-off, not a substitute for a nuclear-gauge density test, a core, or a plant ticket that already weighs the load.
Failed validation is not billed, which keeps exploratory scripts cheap when you deliberately send a zero depth to verify error handling. Round-trip checks are easy: recompute length times width times depth by hand, multiply by density, and confirm the published volume and tonnage match within the same twelve-decimal rounding used for all numeric fields.
What you can do with it
Order hot-mix for a driveway overlay
Contractors enter length, width, compacted depth, and mix density to size the plant ticket for a rectangular driveway or parking pad before the first truck leaves.
Municipal mill-and-fill take-off
Street desks convert a lane length, width, and specified lift thickness into tons so the bid tab and the public calculator quote the same mix quantity.
Classroom density checks on pavement prisms
Instructors and LMS auto-graders verify that volume times 2.4 t/m³ yields the expected tonnage for a measured rectangular pavement sample.
FAQ
How do I calculate asphalt tonnage for a paved area?
Send positive length, width, and compacted depth in one length unit plus mix bulk density in mass per cubic unit.
What density should I use for hot-mix asphalt?
Compacted dense-graded hot-mix asphalt is often about 2.4 t/m³ (2400 kg/m³). Use the mill, mix design, or agency figure for the product you will actually place; density is a required input so the solver does not guess the mix.
What happens if a dimension is zero or negative?
Length, width, depth, and density must all be positive; a non-positive dimension cannot be a physical pavement lift and is not billed.
Are the dimensions in millimetres or metres?
Use one consistent length unit for length, width, and depth. In SI, metres with density in t/m³. Divide millimetre readings by 1000 before calling. Mixing millimetres with 2.4 t/m³ without converting would understate the tons.
Does the tonnage include waste or a compaction allowance?
No. The result is the geometric tonnage of the compacted lift only. Waste, loose-to-compacted allowances, saw-cut keys and tapered joints vary by job, so apply those multipliers afterwards to keep the estimate transparent.
Related tools
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/build/asphalt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"length":10,"width":4,"depth":0.05,"density":2.4}'const res = await fetch("https://api.kit.forhosting.com/build/asphalt", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"length": 10,
"width": 4,
"depth": 0.05,
"density": 2.4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/build/asphalt",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"length": 10,
"width": 4,
"depth": 0.05,
"density": 2.4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/build/asphalt", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"length":10,"width":4,"depth":0.05,"density":2.4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"length":10,"width":4,"depth":0.05,"density":2.4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/build/asphalt", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"length": 10,
"width": 4,
"depth": 0.05,
"density": 2.4
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "build.asphalt",
"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.
Limits
max_dim | 1000000000000 |
min_dim | 1e-15 |
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. |
Technical notes
Missing, zero, or negative dimensions fail with invalid_input and are not billed.
How asphalt tonnage is computed from length, width, depth, and density
The same four numbers always produce the same volume and the same tonnage after fixed twelve-decimal rounding, so goldens, widgets, and API clients never disagree on a 4.8-tonne overlay that is ten metres by four metres by fifty millimetres at 2.4 tonnes per cubic metre.
What you send, which units to use, and how validation fails
Send four required numeric fields. length is a finite positive number for the long edge of the paved rectangle. width is a finite positive number for the second plan dimension. depth is a finite positive number for the compacted lift thickness; aliases thickness, thick, height, D, and d are accepted so overlay take-offs do not need a rename. density is a finite positive number for mix bulk density in mass per cubic unit; aliases rho, asphalt_density, and bulk_density are recognized. Strings that parse as finite numbers are accepted the same as JSON numbers. On success the response echoes the cleaned inputs, publishes volume as the product of the three lengths, tonnage as that volume times density, and formula as the string tonnage equals length times width times depth times density. Failed tasks return invalid_input and do not consume prepaid balance. Successful API calls use the published base of $0.002 per item.
Technical questions
What does the asphalt calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.