Building in Ferndale

The City of Ferndale strives to maintain a predictable, efficient development review process.  Due to the variety of developments that may be proposed, the City has established several permit processes that are intended to generally relate to the overall complexity or type of the project – but are not necessarily related to the project’s overall size.  Please note that the City’s zoning regulations control what types of projects are allowed in different areas of the City.

Step 1: What is Being Proposed

The size and scope of your project determines how we process your application.

Click here to see what documents are required with your application.  

Can’t find what you are looking for? Click the help button to contact our Planning Staff.

Common Projects


  • Building a house in an existing subdivision
  • Starting a business in a commercial area
  • Adjusting lot lines
  • Remodeling (commercial or residential)
  • Subdivisions of four lots or less

These uses are typically considered “Permitted” or “Administrative” uses that are reviewed and approved by professional City Staff. Click the link above to get the details.

Discretionary Projects


  • Variance Requests
  • Conditional Use Permits
  • Home Occupations with outside employees, multiple clients per day
  • Appeals of Administrative Decisions

These uses require a decision by the Ferndale Hearing Examiner, and may include a public hearing. Click the link above to get the details.

Major Projects


  • Subdivisions of five lots or more
  • Planned Unit Developments

Major projects such as Planned Unit Developments require a recommendation by the Ferndale Hearing Examiner and final approval of the Ferndale City Council. Click the link above to get the details.

Non-Project Actions


  • Property Rezones
  • Changing City code
  • Comprehensive Plan Amendments

These actions alter City policy and typically require a decision by the City Council based on the recommendation of the Planning Commission. Click the link above to get the details.

function exclude_from_search($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','exclude_from_search');