上海位於東經120 52′和北緯122 12′之間,北緯30° 40′和31 53′之間。它位於太平洋西岸,亞洲大陸的東緣,中國南北海岸的中點,長江和黃浦江的匯合處。它北臨長江,東臨東海,南臨杭州灣,西鄰江蘇和浙江省。是長江三角洲沖積平原的壹部分,平均海拔4米左右。西部有天馬山、薛山、鳳凰山遺跡,天馬山是陸地最高點,海拔99.8米。有石碑“佘山之巔”。海域內有大金山、小金山、浮山(龜山)、佘山島、小洋山島等巖島。上海北部,長江入海處,有崇明島、長興島、橫沙島三個島嶼。中國第三大島崇明島由長江攜帶的沖積泥沙形成,面積1041.21平方公裏,海拔3.5-4.5米。長興島面積88.54平方公裏,橫沙島面積55.74平方公裏。