Shanhaiguan (Chinees: 山海關 / 山海关, letterlijk "Berg en meer pas") is een district van de stadsprefectuur Qinhuangdao in de Chinese provincie Hebei. Shanhaiguan ligt aan de Bohaizee, een grote baai van de Gele Zee.
In Shanhaiguan ligt het oostelijke eindpunt van de Chinese Muur, die enkele meters tot in de Bohaizee doorloopt. Van hier loopt de Chinese Muur met een totale lengte van meer dan 21.000 km tot in het westelijke Jiayuguan.[1]
Guan in de naam Shanhaiguan slaat op pas of poort. De locatie kan dus ook als Shanhai-Pas begrepen worden. Landinwaarts van het eindpunt staat ook een van de grotere poorten en tevens de meest oostelijke van alle poorten. Andere grote overgangen door de muur zijn Jiayuguan in het westen en Juyongguan.
Shanhaiguan is een historische grenspost en garnizoensstadje. Het ligt bijna 300 kilometer ten oosten van Peking, en is verbonden met die stad door de Jingshen-snelweg.