Heemskerk ligt in de Nederlandse provincie Noord-Holland aan de westkust, ten noorden van het Noordzeekanaal. Het is een plaats en gemeente binnen de regio Midden-Kennemerland en maakt ook deel uit van de regio's Kennemerland, Noorderkwartier, de IJmond en het Hoogheemraadschap Hollands Noorderkwartier. De gemeente Heemskerk grenst aan Castricum in het noorden, Uitgeest in het noordoosten en oosten, Zaanstad in het zuidoosten, Beverwijk in het zuiden, en in het westen wordt de grens gevormd door de Noordzee. De locatie is vooral bekend om zijn duingebied en het Noordzeestrand, naast historische kastelen en natuurgebieden.