Bergshamra is een plaats in de gemeente Norrtälje in het landschap Uppland en de provincie Stockholms län in Zweden. Het tätort heeft 751 inwoners (2005) en een oppervlakte van 158 hectare. De directe omgeving van de plaats bestaat vooral uit bos en de plaats grenst aan een inham van de Oostzee en aan het meer Gunnsjön.

De plaats Bergshamra ligt echter niet geheel in het tätort Bergshamra. Er is ook nog een småort Bergshamra (zuidelijk deel) (Zweeds: Bergshamra (södra delen)), dit småort heeft 354 inwoners (2005) en een oppervlakte van 118 hectare, dat dit ondanks dat het meer dan 200 inwoners heeft toch een småort is komt waarschijnlijk doordat meer dan de helft van de huizen hier vakantiehuis is. Bergshamra (zuidelijk deel) ligt niet aan de "echte" plaats Bergshamra vast, maar er wel vlakbij.

Verkeer en vervoer 
Bij de plaats loopt de Länsväg 276.

Plaats in Stockholms län