É un municipio de 72,99 km² de área e 86 005 habitantes (2001), subdividido en 5 freguesías. O municipio limita ao norte co municipio de Santo Tirso, ao nordeste con Paços de Ferreira, ao leste con Paredes, ao suroeste con Gondomar e ao oeste con Maia.
Outras importantes poboacións do municipio son Ermesinde e Alfena, as dúas parroquias e vilas máis poboadas do municipio.