Asphalt milling, also known as cold planing, is the process of removing at least part of the surface of a paved area such as a road, bridge, or parking lot. Milling removes anywhere from just enough thickness to level and smooth the surface to a full depth removal. Calculating the volume and weight of the removed material is critical for logistics, trucking, and estimating the amount of Reclaimed Asphalt Pavement (RAP) available for recycling.
How to Calculate Milling Tonnage
To calculate the amount of asphalt removed, you must follow the physics of volume and density. Asphalt is a heavy material, typically weighing between 145 and 150 lbs per cubic foot when compacted. When it is milled into chips, it takes up more space (bulking factor), but the weight remains constant based on its original state.
Realistic Example:
Suppose you are milling a residential street that is 1,000 feet long and 30 feet wide. You plan to remove 2 inches of surface material to prepare for a new overlay.
1. Area = 1,000 × 30 = 30,000 sq. ft.
2. Volume = 30,000 × (2 / 12) = 5,000 cubic feet.
3. Weight = (5,000 × 148 lbs/ft³) / 2,000 = 370 Tons.
4. At 18 tons per dump truck, you would need approximately 21 truckloads to clear the site.
Why Precision Matters in Milling
Underestimating the tonnage of asphalt to be removed leads to project delays and cost overruns. If you don't hire enough trucks to haul away the milled material, the milling machine (planer) must stop and wait, which increases labor costs. Furthermore, many asphalt plants buy back RAP, so knowing your exact tonnage helps you calculate the credit or value of the salvaged material.
Factors Influencing the Calculation
While this calculator provides a highly accurate estimate, keep in mind that "milling depth" can vary across a project if the road has significant rutting or crowning. If the depth varies, it is best to use an average depth or calculate the project in segments. Additionally, density can vary based on the specific aggregate used in the original asphalt mix (granite vs. limestone).
function calculateMilling() {
var length = parseFloat(document.getElementById('millingLength').value);
var width = parseFloat(document.getElementById('millingWidth').value);
var depth = parseFloat(document.getElementById('millingDepth').value);
var density = parseFloat(document.getElementById('millingDensity').value);
var costPerTon = parseFloat(document.getElementById('millingCost').value);
if (isNaN(length) || isNaN(width) || isNaN(depth) || isNaN(density) || length <= 0 || width <= 0 || depth 0) {
var totalCost = totalTons * costPerTon;
document.getElementById('resCost').innerHTML = "$" + totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
costRow.style.display = "flex";
} else {
costRow.style.display = "none";
}
document.getElementById('millingResults').style.display = "block";
}