El municipio está limitado al norte por los municipios de Vila Nova de Famalicão y de Guimarães, al nordeste por Vizela, al este por Lousada, al sueste por Paços de Ferreira, al sur por Valongo, al sudoeste por Maia y al oeste por Trofa.