北戴河东、南临渤海,西、北与抚宁区接界,东北与海港区毗邻。辖区东西最大距离11.2千米,南北最大距离10.15千米。

截至2020年6月,北戴河区辖2个街道、3个镇:西山街道、东山街道、海滨镇、戴河镇、牛头崖镇。

北戴河区地处剥蚀平原,局部分布着低山和滨海低平原。总体地势低平,略呈西高东低,北高南低。