Lawn Seeding Rate Calculator
ANA›Life Services Authority›National Calculator Authority›Lawn Seeding Rate Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Lawn Seeding Rate Calculator
Calculate how much grass seed you need based on your lawn area, grass species, and whether you are seeding a new lawn or overseeding an existing one.
Lawn Area
Area Unit
Square Feet (sq ft) Square Meters (m²) Acres
Grass Type
Kentucky Bluegrass Tall Fescue Fine Fescue Perennial Ryegrass Creeping Bentgrass
Bermudagrass (Hulled) Bermudagrass (Unhulled) Zoysiagrass Bahiagrass Centipedegrass Buffalograss
Seeding Type
New Lawn (Full Seeding) Overseeding Existing Lawn
Seed Germination Rate (%)
Seed Purity (%)
Calculate
function lawCalc() { var resultDiv = document.getElementById("law-result");
var area = parseFloat(document.getElementById("law-area").value); var areaUnit = document.getElementById("law-area-unit").value; var grassType = document.getElementById("law-grass-type").value; var seedingType = document.getElementById("law-seeding-type").value; var germination = parseFloat(document.getElementById("law-germination").value); var purity = parseFloat(document.getElementById("law-purity").value);
// --- Validation --- if (isNaN(area) || area Please enter a valid lawn area greater than 0."; return; } if (isNaN(germination) || germination 100) { resultDiv.innerHTML = "Germination rate must be between 1 and 100%."; return; } if (isNaN(purity) || purity 100) { resultDiv.innerHTML = "Seed purity must be between 1 and 100%."; return; }
// --- Convert area to square feet --- var areaSqFt; if (areaUnit === "sqft") { areaSqFt = area; } else if (areaUnit === "sqm") { areaSqFt = area * 10.7639; } else if (areaUnit === "acres") { areaSqFt = area * 43560; }
// --- Base seeding rates (lbs per 1,000 sq ft) for new lawn --- // Source: University Extension Services (Purdue, Penn State, NC State) var baseRates = { kentucky_bluegrass: { new: 2.0, overseed: 1.0, name: "Kentucky Bluegrass" }, tall_fescue: { new: 8.0, overseed: 4.0, name: "Tall Fescue" }, fine_fescue: { new: 4.0, overseed: 2.0, name: "Fine Fescue" }, perennial_ryegrass: { new: 8.0, overseed: 4.0, name: "Perennial Ryegrass" }, creeping_bentgrass: { new: 1.0, overseed: 0.5, name: "Creeping Bentgrass" }, bermuda_hulled: { new: 1.5, overseed: 0.75, name: "Bermudagrass (Hulled)" }, bermuda_unhulled: { new: 3.0, overseed: 1.5, name: "Bermudagrass (Unhulled)" }, zoysia: { new: 2.0, overseed: 1.0, name: "Zoysiagrass" }, bahia: { new: 8.0, overseed: 4.0, name: "Bahiagrass" }, centipede: { new: 0.5, overseed: 0.25, name: "Centipedegrass" }, buffalo: { new: 3.0, overseed: 1.5, name: "Buffalograss" } };
var grassData = baseRates[grassType]; var baseRatePer1000 = grassData[seedingType]; // lbs per 1,000 sq ft
// --- Pure Live Seed (PLS) Adjustment --- // PLS% = (Germination% / 100) * (Purity% / 100) // Adjusted Rate = Base Rate / PLS% // This ensures you apply enough viable seed regardless of label quality. var plsDecimal = (germination / 100) * (purity / 100);
if (plsDecimal PLS cannot be zero. Check germination and purity values."; return; }
// Adjusted rate per 1,000 sq ft var adjustedRatePer1000 = baseRatePer1000 / plsDecimal;
// Total seed needed (lbs) var totalLbs = adjustedRatePer1000 * (areaSqFt / 1000);
// Convert to kg var totalKg = totalLbs * 0.453592;
// Bags (common bag sizes: 5 lb, 10 lb, 25 lb, 50 lb) var bags5 = Math.ceil(totalLbs / 5); var bags10 = Math.ceil(totalLbs / 10); var bags25 = Math.ceil(totalLbs / 25); var bags50 = Math.ceil(totalLbs / 50);
// Area in acres for display var areaAcres = areaSqFt / 43560; var totalLbsPerAcre = (adjustedRatePer1000 * 43.56).toFixed(2);
var seedingLabel = seedingType === "new" ? "New Lawn (Full Seeding)" : "Overseeding Existing Lawn"; var plsPct = (plsDecimal * 100).toFixed(1);
resultDiv.innerHTML = "### Results " + "" + "Grass Type" + grassData.name + "" + "Seeding Type" + seedingLabel + "" + "Lawn Area" + area.toLocaleString() + " " + areaUnit + " (" + areaSqFt.toLocaleString(undefined,{maximumFractionDigits:0}) + " sq ft)" + "Pure Live Seed (PLS)" + plsPct + "%" + "Base Rate (label)" + baseRatePer1000.toFixed(2) + " lbs / 1,000 sq ft" + "Adjusted Rate (PLS)" + adjustedRatePer1000.toFixed(2) + " lbs / 1,000 sq ft" + "Adjusted Rate (PLS)" + totalLbsPerAcre + " lbs / acre" + "Total Seed Needed" + totalLbs.toFixed(2) + " lbs (" + totalKg.toFixed(2) + " kg)" + "" + "#### Bag Quantity Estimates " + "" + "5 lb bags" + bags5 + " bag(s)" + "10 lb bags" + bags10 + " bag(s)" + "25 lb bags" + bags25 + " bag(s)" + "50 lb bags" + bags50 + " bag(s)" + "" + "Tip: Purchase 5–10% extra seed to account for uneven spreading and bare spots.
"; }
#### Formula
Step 1 — Pure Live Seed (PLS):
PLS (%) = (Germination % / 100) × (Purity % / 100)
Step 2 — Adjusted Seeding Rate:
Adjusted Rate (lbs/1,000 sq ft) = Base Rate (lbs/1,000 sq ft) ÷ PLS
Step 3 — Total Seed Required:
Total Seed (lbs) = Adjusted Rate × (Lawn Area in sq ft ÷ 1,000)
The PLS adjustment ensures you apply enough viable seed regardless of the germination and purity printed on the seed label. A bag with 85% germination and 95% purity has a PLS of 80.75%, meaning only ~81% of the seed by weight is capable of producing a plant.
#### Assumptions & References
More Calculators
- Carpet Drying Time Estimator
- Roof Pitch and Shingle Material Calculator
- Planetary Ruler Calculator
- Carpet Patch Size and Material Calculator
- Sun-Moon Compatibility Calculator
- Long-Term Care Insurance Cost Estimator
- California ABC License Fee Estimator
- Chicago Hotel Occupancy Tax Calculator
- Banquet Room Capacity and Pricing Calculator
- Restaurant Profit Margin Calculator
- Event Venue Capacity Planner
Read Next
Event Venue Capacity Planner ANA › Life Services Authority › National Calculator Authority › Event Venue Capacity Planner .calc-container { max-width:...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...