竹南鎮位於苗栗縣西北部,北以鹽水港溪與新竹市香山區為界,西臨臺灣海峽,東鄰頭份市,南隔中港溪與後龍鎮、造橋鄉為界,全境大多地處中港溪以北,僅公館里位於中港溪以南,全鎮面積37.5592平方公里,居苗栗縣最小。