Kirn liegt im Nahetal, etwa 15 Kilometer nordöstlich des bereits zum Landkreis Birkenfeld gehörenden Idar-Oberstein. Von der eigenen Kreisstadt Bad Kreuznach ist die Kleinstadt etwa 35 Kilometer südwestlich gelegen. Nachbargemeinden sind im Norden Oberhausen bei Kirn, im Nordosten Hochstetten-Dhaun, im Osten Meckenbach, im Süden Heimweiler, im Südwesten Bärenbach, im Westen Bergen. Die Landschaft wird geprägt durch das Nahetal und das tief in den Lützelsoon eingeschnittene Tal des Hahnenbachs. Die Talsohlen sind teilweise dicht besiedelt, wohingegen die steilen Hänge im oberen Bereich größtenteils unbebaut und bewaldet sind. An mehreren Stellen ragen frei stehende, bis zu 30 Meter hohe Quarzitfelsen über die Baumkronen hinaus. Besonders markant sind die Oberhausener Felsen, der Kallenfels und die Wehlenfelsen nördlich der Stadt. Die beschauliche Innenstadt wird vom im Hunsrück entspringenden Hahnenbach durchflossen, der wenig später in die Nahe mündet. Das Stadtbild wird geprägt von dem oberhalb des Zentrums gelegenen Steinbruch, der sich bis zur östlichen Stadtgrenze erstreckt.