上海属于南方。在中国区分南方北方的界限,沿淮河秦岭一线。此界线以北的城市都是北方城市,南边的是南方城市。上海位于太平洋西岸,亚洲大陆东沿,中国南北海岸中心点,长江和黄浦江入海汇合处。北界长江,东濒东海,南临杭州湾,西接江苏和浙江两省。
上海是长江三角洲冲积平原的一部分,平均高度为海拔2.19米左右。海拔最高点是位于金山区杭州湾的大金山岛,海拔为103.70米。
西部有天马山、薛山、凤凰山等山丘,天马山为上海陆上最高点,海拔高度99.8米,立有石碑“佘山之巅”。
上海属亚热带季风气候,四季分明,日照充分,雨量充沛。上海气候温和湿润,春秋较短,冬夏较长。