Bulgária zászlaja három egyenlő, vízszintes sávból áll. Felülről kezdve ezek rendre a fehér, a zöld és a piros. A bolgár nemzeti lobogó minden egyes színe jelentéssel bír. A fehér szín a békét, a zöld a bolgár termőföldek termékenységét szimbolizálja, míg a piros szín az ország lakóinak bátorságára utal.
Eredetileg a bolgár zászló a 19. században terjedő pánszláv eszmék miatt a jellemzően szláv színeket vette fel. Ekkor a középső zöld csíkot egy kék sáv foglalta el. Amikor Bulgária 1878-ban elnyerte függetlenségét Törökországtól, az elsődlegesen agrárállamként berendeződő ország új nemzeti lobogót fogadott el, mert a régebbi hasonlított Oroszország zászlajára. Így alakult ki a bolgár zászló mai formája.
1878 - 1908 között használt zászló
1946 - 1967 között használt zászló
1967 - 1971 között használt zászló
1971 - 1990 között használt zászló
A népköztársaság 1946-as kikiáltása után a jelenlegi címer volt használatban korona nélküli változatban.
1948-ban új, kommunista típusú címert fogadtak el, rajta az 1944. szeptember 9-i kommunista államcsíny dátumával.
1971-ben e dátum helyére a 681–1944 felirat került (681 a bolgár államalapítás hagyományosan elfogadott – bár megkérdőjelezett – évszáma). A korabeli vicc szerint ez nem címer, hanem gyászkoszorú, melyen a 681–1944 a születés és a halál időpontját jelzi.