Het Gammelstadsviken is een meer in Zweden, in de gemeente Luleå. Het was in vroeger tijden een baai, een viken, maar is door stijging van het landschap, door de postglaciale opheffing, nu een binnenmeer. Het meer wordt door een verhoging van de Lule gescheiden, waarop alle verbindingen tussen Gammelstad en Luleå liggen. Het water van het meer moet dan ook naar het noorden weg, via de Sellingssundet en de rivier Holmsundet. Het oppervlak van het meer is afhankelijk van de waterstand. Een deel van het meer is natuurreservaat.