Clean fill is natural, unprocessed soil that has been excavated from uncontaminated sites that cannot or will not be reused at the site where the soil was excavated and must be removed off-site.

If you have questions about clean fill, you can reach us at:

What is included in clean fill?

Do Acceptable

  • Unprocessed soil
  • Naturally occuring clay, silt, sand or gravel (less than six inches in size)

Don't Not acceptable

  • Clean fill cannot contain any debris or any of the following materials:
  • Sod and grass
  • Wood, branches and twigs
  • Large rocks
  • Garbage
  • Construction materials etc.
  • Processed materials such as compost
  • Dried hydro-vac processed residue
  • Engineered fill products
  • Reused or recycled aggregate products
  • Dried pond sediments
  • Water treatment sludge

No topsoil can be accepted (Alberta Soil Conservation Act, Nov 1, 2010)

Mixed loads containing any unacceptable material is NOT considered clean fill and will be charged the basic sanitary waste rate at a City landfill.

If other items are mixed in with the clean fill, it is the landfill's discretion as to what rate will be charged.

Clean fill requirements for business

Commercial vehicles are required to obtain a clean fill approval number at least 24 hours before arriving at the landfill.

Step 1: Application

Complete the Clean Fill Permit application form and send to cleanfill@calgary.ca to obtain a clearance approval number. 

Step 2: Soil analysis requirements

Generally, any type of commercial business or industrial site will need to have the clean fill tested before disposal at a City landfill.

City staff might request a representative sample or samples of soil. Find the soil analytical requirements on the Clean Fill Disposal Permit application form

Step 3: Check Clean Fill Status

Once your clearance number is provided, check the Commerical Clean Fill Status before hauling to see if landfills are accepting clean fill.

See hours and locations and landfill rates.

NOTE: Large volume clean fill projects require special pre-authorization.

Clean fill after rain

Due to muddy conditions, clean fill is not accepted immediately after a rainfall. Typically, it takes one to two days without rain for the landfills to dry-out after a rain event.

Clean fill disposal for residents

If you are a residential customer self-hauling clean fill, you do not require a permit.  The clean fill needs to be transported in a non-commercial vehicle.

Are Calgary landfills accepting clean fill?

Clean fill acceptance status applies during landfill hours of operation, please visit Landfill Hours and Locations

undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null,undefined/null