Se ubica a 393,67 kilómetros de Santiago, y limita al norte con las comunas de Empedrado y San Javier de Loncomilla, al sur con Cobquecura, Quirihue, Ninhue y San Carlos, al oeste con el Chanco y Pelluhue, y al este con Parral y Retiro.