Distance from the center of one plant to the next.
Square Grid (Standard)
Triangular (Staggered)
Triangular fills gaps faster but uses more plants (~15% more).
$
Total Area:0 sq ft
Plants Needed:0
Estimated Cost:$0.00
*Note: We recommend buying 5-10% extra for edges and replacement.
How to Calculate Groundcover Requirements
Calculating the correct number of groundcover plants is essential for establishing a healthy, dense mat that suppresses weeds and controls erosion. Whether you are planting English Ivy, Pachysandra, Vinca Minor, or Mondo Grass, the math relies heavily on the "On Center" spacing (OC).
1. Determine the Area
First, measure the length and width of your planting bed in feet. Multiply these two numbers to get your total square footage.
Formula: Area = Length × Width
2. Choose Your Spacing (On Center)
Spacing is measured in inches from the center of one plant to the center of its neighbor. Closer spacing results in faster coverage (the "fill-in" time) but costs more initially. Wider spacing saves money but leaves soil exposed to weeds for longer.
Plant Type
Typical Spacing
Avg. Fill Time
Pachysandra
6″ – 12″
2-3 Years
English Ivy
8″ – 12″
2 Years
Vinca Minor
8″ – 12″
1-2 Years
Juniper (Creeping)
36″ – 60″
3+ Years
3. Select a Planting Pattern
There are two primary grid layouts used in professional landscaping:
Square Spacing: Plants are placed in rows and columns aligned perfectly. This is easier to layout but leaves larger gaps in the diagonal centers between plants.
Triangular (Staggered) Spacing: Each row is offset by half the spacing distance. This creates equilateral triangles between plants. It covers the ground roughly 15% more efficiently (meaning fewer gaps), though it requires approximately 15% more plants per square foot than a square grid.
The Formulas
Square Grid:
Plants = (Total Area in Sq. Ft × 144) ÷ (Spacing in inches)²
Triangular Grid:
Plants = (Total Area in Sq. Ft × 144) ÷ ((Spacing in inches)² × 0.866)
Why 0.866?
In a triangular grid, the vertical distance between rows is shorter than the horizontal spacing. Specifically, the row height is the spacing multiplied by the sine of 60 degrees (approx 0.866). This tighter vertical packing is what allows for faster ground coverage.
function calculateGroundcover() {
// 1. Get input values
var lenInput = document.getElementById('gc_len').value;
var widInput = document.getElementById('gc_wid').value;
var spacingInput = document.getElementById('gc_spacing').value;
var pattern = document.getElementById('gc_pattern').value;
var costInput = document.getElementById('gc_price').value;
// 2. Validate inputs
if (lenInput === "" || widInput === "" || spacingInput === "") {
alert("Please enter Length, Width, and Spacing values.");
return;
}
var length = parseFloat(lenInput);
var width = parseFloat(widInput);
var spacing = parseFloat(spacingInput);
var cost = parseFloat(costInput);
if (isNaN(length) || length <= 0 || isNaN(width) || width <= 0) {
alert("Please enter valid positive numbers for dimensions.");
return;
}
if (isNaN(spacing) || spacing 0) {
totalCost = totalPlants * cost;
document.getElementById('cost_row').style.display = 'flex';
document.getElementById('res_cost').innerText = '$' + totalCost.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
} else {
document.getElementById('cost_row').style.display = 'none';
}
// 4. Update Display
document.getElementById('res_area').innerText = areaSqFt.toFixed(2) + " sq ft";
document.getElementById('res_plants').innerText = totalPlants.toLocaleString();
// Show result box
document.getElementById('resultBox').style.display = 'block';
}