*Estimates based on standard pea gravel density (approx. 2,800 lbs/cubic yard).
How to Use the Pea Gravel Calculator
Planning a new walkway, patio, or playground? Our pea gravel calculator helps you determine exactly how much material you need to order. Ordering the right amount prevents multiple delivery fees and ensures you don't have a massive surplus of stones left on your driveway.
Understanding the Math
Calculating gravel coverage involves three primary dimensions: length, width, and depth. Because most landscaping projects are measured in feet but depth is measured in inches, we use the following formula:
Step 1: Multiply Length (ft) × Width (ft) to get Square Footage.
Step 2: Convert Depth from inches to feet (Depth / 12).
Step 3: Multiply Square Footage by Depth in feet to get Cubic Feet.
Step 4: Divide Cubic Feet by 27 to find Cubic Yards.
Step 5: Multiply Cubic Yards by 1.4 to estimate the weight in Tons.
Standard Depth Recommendations
The ideal depth of your pea gravel depends on its application:
Walkways and Patios: 2 to 3 inches is standard for a comfortable walking surface.
Driveways: 4 to 6 inches is recommended to support vehicle weight.
Playgrounds: 8 to 12 inches is often required for impact safety and drainage.
Drainage/French Drains: Depth varies based on trench size, usually 12+ inches.
Example Calculation
Suppose you have a garden path that is 30 feet long and 3 feet wide. You want a depth of 3 inches.
Pea gravel is typically sold by the ton or the cubic yard. Prices vary based on your location and the color/type of stone. When calculating costs, remember to account for delivery fees, which can often be as much as the gravel itself for small loads. For large projects, buying in bulk by the ton is significantly cheaper than buying individual bags at a hardware store.
function calculateGravel() {
var length = parseFloat(document.getElementById("areaLength").value);
var width = parseFloat(document.getElementById("areaWidth").value);
var depthInches = parseFloat(document.getElementById("areaDepth").value);
var price = parseFloat(document.getElementById("pricePerTon").value);
if (isNaN(length) || isNaN(width) || isNaN(depthInches) || length <= 0 || width <= 0 || depthInches 0) {
var totalCost = totalTons * price;
document.getElementById("resCost").innerHTML = "$" + totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("costContainer").style.display = "block";
} else {
document.getElementById("costContainer").style.display = "none";
}
document.getElementById("gravelResult").style.display = "block";
}