古中國雖有各式的戰旗,卻從沒有真正意義的國旗。鴉片戰爭后,洋務大臣李鴻章在與西方國家交往時,發現世界各國都有自己的國旗,而大清帝國卻沒有,便奏請朝廷制定一面代表大清帝國的國旗。在19世紀80年代,清政府便制定了中國的第一面國旗,也稱黃龍旗。旗面為黃色,是皇權的象征,旗面上繪飛龍戲珠的圖案,龍為青色,珠為紅色,龍頭向左上方昂起。
孫中山領導辛亥革命時,急需要一面國旗。1895年第一次廣州起義前,其好友陸皓東制作了一面青天白日旗,后來,孫中山在青天白日旗上加上紅底色,成為“青天白日滿地紅”旗,之后他便以此旗作為起義軍的旗幟。但這并沒有得到革命黨人的一致贊同,黃興就反對使用該旗作為未來的中國國旗,他認為該旗有類似日本太陽旗之嫌,他也設計了一面“井”字旗,象征著古代中國的井田制度。孫中山卻始終堅持青天白日滿地紅旗作為未來的中華民國國旗。
新中國成立前夕,全國政協籌備首次會議上,決定成立擬定國旗、國徽、國歌方案小組,并向全國發出征稿啟事。一個月內就收到國內外應征稿件1920件,圖案1992幅。 應征的國旗方案各具特色,如陳嘉庚設計的國旗是鐮刀斧頭旗;郭沫若設計的國旗是兩個長條,象征中華民族的發祥地長江和黃河;朱德設計的國旗左上角為藍色長方形,嵌有紅五角星,象征晴朗的天空。經過認真挑選,選出38幅圖案印發給政協代表,讓大家評議。最后選定復字第32號圖案,經毛澤東審查通過并在9月27日的全國政協第一屆全體會議上正式通過作國中華人民共和國國旗。
這面國旗的設計者曾聯松,是上海一名普通的經濟工作者。國旗的寓意是:一顆大星引導在前,幾顆小星環繞其后,形成眾星拱北斗之勢,大星即為中國共產黨,小星代表中國人民,黨和人民團結戰斗,從勝利走向勝利。在確定小星的數目時,他聯想到毛主席在《論人民民主專政》一文中說:“人民包括四個階級,即工人階級、農民階級、城市小資產階級和民族資產階級。”所以他決定以四顆小星代表廣大人民。從此,五星紅旗正式成為中華人民共和國國旗。