The current design of the flag of Johannesburg was adopted on 16 May 1997, replacing a previous version of the flag that had been in service since 20 October 1970.
The design is a white-fimbriated vertical tricolour of blue, green, and red. The coat of arms of the city of Johannesburg is displayed in the centre of the flag on a green panel in the centre of a heraldic fret on a white disk on a black background. The flag clearly alludes to the colours of the national flag of South Africa and the central panel alludes to the city's coat of arms.
The previous design was approved by the Mayor of Johannesburg in 1970. The flag comprised a green field that had a horizontal gold stripe running through the centre, above which were two golden stamps and one gold stamp below. The golden stamps were taken from the previous coat of arms.