Kort svar: Man flaggar på de dagar man vill flagga samt på de 17 dagar som är allmänna flaggdagar. Hade det varit valår hade det varit ytterligare en flaggdag.
Den blågula svenska flaggan är känd sedan mitten av 1500-talet, men det var först i slutet av 1800-talet som den började användas i någon större utsträckning. Tidigare hade flaggan främst varit en symbol för militären och kungahuset. Trots detta så möttes kung Oscar II av protester när han hissade flaggan på slottet 1877. Och när ett antal unga män 1869 tillfrågades vid mönstringen om de visste hur den svenska flaggan såg ut så kunde knappt fem procent svara jakande.

Dock var det länge oklart vilka dagar som man egentligen skulle hissa flaggan på. I Svensk Läraretidning från 1894 nämns följande dagar som flaggdagar i skolorna i St. Malms församling:
konungens födelsedag 21 januari, Engelbrektsdagen 27 april, drottningens namnsdag 15 maj, Gustafsdagen 6 juni, nationalfestdagen 24 juni, Gustaf Vasas dag 29 september, Sturarnes dag 10 oktober, Luthers dag 31 oktober, unionsdagen 4 november, Gustaf II Adolfs dödsdag 6 november, Karl XII dödsdag 30 november och konungens namnsdag 1 december.
Äldre almanackor (som denna från 1925) har inga flaggdagar utmärkta.
Först 1939 kom det på ett enskilt initiativ av Bestyrelsen för svenska flaggans dag en rekommendation om vilka dagar som skulle vara flaggdagar. Detta var dock enbart rekommendationer. Bland de dagar som märks och som upptogs i många almanackor var ex. nyårsdag, påskdagen och första maj samt kungens, drottningens och kronsprinsens födelse- och namnsdagar.
Fler gången under 1900-talet lyftes i olika sammanhang önskemål om en officiell list på flaggdagar och 1981 kom regeringen med en proposition där bl.a. allmänna flaggdagar behandlades. I propositionen tar regeringen utgångspunkt i Bestyrelsen för svenska flaggans dag och deras lista över flaggdagar. Regeringens utredare ville från denna lista styrka tre dagar (midsommardagen, Gustav Adolfsdagen och Nobeldagen) och istället lägga till dagen för val till riksdagen.
Eftersom man lätt skulle kunna ändra på flaggdagar i samband med tronskiften eller nya tronarvingar föreslogs ”att de allmänna flaggdagarna inte anges i flagglagen utan i en förordning”. Regeringen valde att inte stryka de tre dagarna, men la istället till valdagen och FN-dagen som flaggdagar. Förordningen om allmänna flaggdagar började gälla 1 januari 1982.
För år 2023 är det dessa flaggdagar som gäller:
- 1 januari – nyårsdagen
- 28 januari – konungens namnsdag
- 12 mars – kronprinsessans namnsdag
- 9 april – påskdagen
- 30 april – konungens födelsedag
- 1 maj – första maj
- 28 maj – pingstdagen
- 29 maj – veterandagen
- 6 juni – Sveriges nationaldag och svenska flaggans dag
- 24 juni – midsommardagen
- 14 juli – kronprinsessans födelsedag
- 8 augusti – drottningens namnsdag
- 24 oktober – FN-dagen
- 6 november – Gustav Adolfsdagen
- 10 december – Nobeldagen
- 23 december – drottningens födelsedag
- 25 december – Juldagen
Skrivet av Mattias Axelsson (uppdaterad 2022-01-01)
Källor: Förordning (1982:270) om allmänna flaggdagar
Konstitutionsutskottets betänkande 2016/17:KU29
Blågul flagga och Du gamla, du fria av Niclas Bjälkenborn
Varför är 1:à jan. Flaggdag?
För att det är nyårsdag
Flaggdag 29 maj 2018 varför
Eftersom riksdagen har beslutat att från 2018 så ska 29 maj (veterandagen) vara flaggdag.