本鎮位於苗栗縣西南部,南北長約有十六公里,東西寬約有十一公里, 總面積一百零七餘平方公里,約佔全縣面積十七分之一。本鎮西臨台灣海峽,海岸南北綿延十六公里餘;東鄰銅鑼、三義兩鄉;南與苑裡鎮為界;北邊和東北邊分與 後龍及西湖兩鄉相連,形狀略呈三角形。地理位置大約在東經一百二十度,北緯二十四度左右。
地形以丘陵為主體,地勢東南高西北低、呈緩斜狀,向海岸線逐漸降低。通霄丘陵為苗栗丘陵的一部份,最高處在福興里大坑附近,海拔約四百三十八公尺;西 面山麓有廣大的保安林,為本鎮的水源區。
西側的虎頭山,形如猛虎仰首長嘯,稜脈自市區北側向北延伸至白沙屯,是東北季風的天然屏障。近海岸線的平原地區,加上南勢溪兩岸河階台地,北勢盆地,內湖盆地為農業發的地區。通霄沿海地區為砂質潔白細軟的沙丘地形,其間有 通霄海水浴場,白沙、新埔、通霄等三漁港。
本地主要河川為通霄溪及南勢溪,兩溪匯流統稱通霄溪流域,通霄溪過去又名吞霄溪,在打哪叭溪以南,舊屬吞霄二堡,長十公里。流域面積七十九‧八八平方公里,占全鎮面積的四分之三,為鎮內主要河川;通霄溪流分南北二支,均源自火炎山脈西麓的保安林,西流注入台灣海峽。通霄溪又稱沙溪,河道平緩水流緩慢,而南勢溪陡急,水流急湍,在颱風暴雨時,流速慢的通霄溪不易流入南勢溪,河道不易紓解雨水,因此常氾濫成災,經過鎮長大力奔走爭取整治經費,目前已完成整治工作,遇雨成災狀況已獲改善。
氣候上因近海 洋,溫暖清爽,中有虎頭山麓景色清秀,西眺海闊天空心曠神怡,通霄海水浴場隱約可見,不論晴空或夕照均展現無比風情,實為山明水秀之鄉,近年來中國石油公司在本鎮開鑿三十餘口油井,生產石油及天然氣,另有遠東最大精鹽廠及多處名勝古蹟。配合台中港的發展,本鎮不僅為風景名勝,更發展為苗栗地區工農皆宜的重要城鎮。。