El municipio consta de cuatro núcleos de población (Biezenmortel, Esch, Helvoirt y Haaren).
[2] En 1996 Haaren se fusionó con los antiguos municipios de Esch y Helvoirt a los que en 1997 se agregó el lugar de Biezenmortel, que anteriormente formaba parte del municipio de Udenhout.
El municipio fusionado adoptó el nombre de Haaren, donde se sitúa el ayuntamiento.
[2] Lo recorren los ríos Esschestroom, que atraviesa Eesch,[2] Leij y Zandleij.
Rico en vegetación, en su término municipal queda comprendida una parte del parque nacional De Loonse en Drunense Duinen (Loonse y las dunas de Drunen).