Localizado en la región sureste del estado, posee una extensión territorial de 2,445.20 kilómetros cuadrados y una altitud ptomedio de 350 metros sobre el nivel del mar. Colinda al norte con los municipios de Hualahuises y Montemorelos, tanto al sur como al este con el estado de Tamaulipas y al oeste con los municipios de Galeana e Iturbide.