Een stadsvlag of gemeentevlag is een symbool voor een stad of gemeente.
In de middeleeuwen mocht een stad na het verlenen van het stadsrecht een stadswapen invoeren. Met dit wapen werden ook de stadskleuren bepaald die vervolgens in de wapenbanier terugkwamen. Voorbeelden van stadsvlaggen tijdens de middeleeuwen zijn de hanzevlaggen van de hanzesteden zoals Brugge, Groningen en Deventer.
In de loop der tijd zijn er steeds meer stadsvlaggen vastgelegd en tegenwoordig hebben de meeste Belgische en Nederlandse steden en gemeenten een stads- of gemeentevlag.