{
  "id": "compost",
  "version": "251758dd6185",
  "status": "published",
  "name": "Compost Calculator",
  "question": "How much compost do I need to buy?",
  "summary": "Computes the compost to spread over a lawn or garden bed from the area and depth, in cubic yards, cubic feet and cubic metres, with the rate per 1,000 sq ft, the bags and the cost.",
  "category": "construction",
  "subcategory": "garden",
  "url": "https://www.acalculator.org/construction/compost-calculator",
  "markdown": "https://www.acalculator.org/construction/compost-calculator.md",
  "kind": "function",
  "method": "Compost = area × depth; cubic yards per 1,000 sq ft = depth in feet × 1,000 ÷ 27; bags = compost ÷ bag size, rounded up.",
  "assumptions": [
    "NC State Extension suggests 1 to 2 cubic yards per 1,000 sq ft (about 0.3 to 0.65 in) worked into the top 6 to 8 inches of heavy clay or sandy soil.",
    "The volume is of compost as delivered, with nothing added for waste or settling.",
    "The cost is the bulk price per cubic yard × the cubic yards; delivery is not counted."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "area": {
        "title": "Area",
        "description": "The area of lawn or bed to cover with compost.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "area",
        "exclusiveMinimum": 0,
        "maximum": 10000000
      },
      "dep": {
        "title": "Depth of compost",
        "description": "How thick a layer of compost to spread before mixing it in or leaving it on top.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "exclusiveMinimum": 0,
        "maximum": 2
      },
      "bag": {
        "title": "Bag size",
        "description": "The volume of one bag of compost. Leave empty to skip the bag count.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "volume",
        "minimum": 0.0001,
        "maximum": 100
      },
      "price": {
        "title": "Price per cubic yard",
        "description": "The price of bulk compost per cubic yard. Leave empty to skip the cost.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 100000
      }
    }
  },
  "outputs": {
    "yards": {
      "label": "Compost to order",
      "description": "The area × the depth.",
      "format": "quantity",
      "unit": "yd3"
    },
    "feet": {
      "label": "Cubic feet",
      "description": "The same volume in cubic feet.",
      "format": "quantity",
      "unit": "ft3"
    },
    "metres": {
      "label": "Cubic metres",
      "description": "The same volume in cubic metres.",
      "format": "quantity",
      "unit": "m3"
    },
    "rate": {
      "label": "Cubic yards per 1,000 sq ft",
      "description": "The volume spread on each 1,000 square feet: the depth in feet × 1,000 ÷ 27.",
      "format": "number"
    },
    "bags": {
      "label": "Bags",
      "description": "The volume ÷ the bag size, rounded up.",
      "format": "integer"
    },
    "cost": {
      "label": "Estimated cost",
      "description": "The volume in cubic yards × the price per cubic yard.",
      "format": "money"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "area": "1000 ft2",
      "dep": "1 in",
      "bag": "1 ft3"
    },
    "outputs": {
      "yards": 2.359737216,
      "feet": 2.359737216,
      "metres": 2.359737216,
      "rate": 3.0864197530864197,
      "bags": 84
    },
    "text": "1,000 ft² at 1 in deep needs 3.09 yd³ of compost."
  },
  "examples": [
    {
      "given": {
        "area": 92.90304,
        "dep": 0.0254,
        "bag": 0.028316846592
      },
      "expect": {
        "feet": 2.359737216,
        "yards": 2.359737216,
        "rate": 3.0864197530864197,
        "bags": 84
      },
      "source": "NIST Handbook 44, Appendix C, General Tables of Units of Measurement (1 yd³ = 27 ft³; 1 ft = 12 in = 0.3048 m), https://www.nist.gov/pml/owm/nist-handbook-44-current-edition (retrieved 2026-10-03); NC State Extension, Extension Gardener Handbook, chapter 9 Lawns (for heavy clay or sandy soils, mix 1 to 2 cubic yards of compost per 1,000 square feet into the top 6 to 8 inches), https://content.ces.ncsu.edu/extension-gardener-handbook/9-lawns (retrieved 2026-10-03); hand calculation in content.mdx: 1,000 × 1/12 = 83.33 ft³ = 3.09 yd³ → 84 bags"
    },
    {
      "given": {
        "area": 18.580608,
        "dep": 0.0508,
        "bag": 0.042475269888,
        "price": 40
      },
      "expect": {
        "yards": 0.9438948864000001,
        "bags": 23,
        "cost": 49.382716049382715
      },
      "source": "NIST Handbook 44, Appendix C, General Tables of Units of Measurement (1 yd³ = 27 ft³; 1 ft = 12 in = 0.3048 m), https://www.nist.gov/pml/owm/nist-handbook-44-current-edition (retrieved 2026-10-03); hand calculation in content.mdx: 200 × 2/12 = 33.33 ft³ = 1.235 yd³; ÷ 1.5 → 23 bags; × $40 = $49.38"
    },
    {
      "given": {
        "area": 10,
        "dep": 0.05,
        "bag": 0.04
      },
      "expect": {
        "metres": 0.5,
        "bags": 13
      },
      "source": "NIST Handbook 44, Appendix C, General Tables of Units of Measurement (1 yd³ = 27 ft³; 1 ft = 12 in = 0.3048 m), https://www.nist.gov/pml/owm/nist-handbook-44-current-edition (retrieved 2026-10-03); hand calculation in content.mdx: 10 × 0.05 = 0.5 m³ = 500 L; 500 ÷ 40 = 12.5 → 13 bags"
    }
  ],
  "sources": [
    "NC State Extension, Extension Gardener Handbook, chapter 9 Lawns (mix 1 to 2 cubic yards of compost per 1,000 square feet into the top 6 to 8 inches of heavy clay or sandy soils), retrieved 2026-10-03. https://content.ces.ncsu.edu/extension-gardener-handbook/9-lawns",
    "NIST Handbook 44, Appendix C, General Tables of Units of Measurement (1 yd³ = 27 ft³; 1 ft = 12 in = 0.3048 m), retrieved 2026-10-03. https://www.nist.gov/pml/owm/nist-handbook-44-current-edition"
  ],
  "related": [
    "mulch",
    "soil",
    "fertilizer",
    "grass-seed"
  ],
  "changelog": []
}
