山口県南東部に位置し、瀬戸内海に面している町です。 北西部は山岳地帯となっており、此の山岳に源をなす小河川が合流して田布施川となり、中央部を貫流し、南部の瀬戸内海に注いでいます。 南方海上1,500mの位置に馬島という島があり、また北には田布施町飛地として小行司地区があります。 町の中央部は平坦地で市街地をなし、JR山陽本線田布施駅を中心に道路網が四方に放射しています。 また、海岸線を国道188号線が東西に走行し、交通の便は良好なところです。