千葉県北東部、東京から約80キロメートル圏、成田から約30キロメートル圏の位置にあり、東は銚子市、南は旭市、西は香取市と接し、北は利根川を隔てて茨城県神栖市と接しています。
東庄町の面積は、46.16平方キロメートルで、地形は、東西に約9キロメートル、南北に約10.5キロメートルの台形状をなしています。
北西には八溝山地の末端にある筑波山を臨み、本町を含む一帯は水郷筑波国定公園の区域に属しています。
町の中央は北総台地の一角をなし、標高の最高地点は小南城山地先で56.5メートル。また、北部・南部に傾斜し低地を形成し、最低地点は笹川港付近で1.6メートルとなっています。低地は水田に利用され、台地は斜面が森林に、上部の平地は畑作に利用されています。
集落は、笹川地区が国道356号沿いに街区を形成しているほか、それぞれの地区では集落形態で分布しています。