A atual Bandeira da Alemanha foi adotada em 23 de maio de 1949, pela República Federal Alemã, mas já havia sido utilizada pela Confederação Germânica (1848), e pela República de Weimar (1919-1933). Em 1949 após a divisão da Alemanha ambas as partes utilizavam a mesma bandeira. Em 1959, a Alemanha Oriental, passa a utilizar o seu brasão de armas para diferenciá-la da bandeira da Alemanha Ocidental. Após a Unificação Alemã em 1990, a bandeira alemã original foi restaurada.
A bandeira da Alemanha consta com três listras horizontais de igual tamanho nas cores preto, vermelho e amarelo (Schwarz-Rot-Gold em Alemão).

A teoria mais provável para a bandeira alemã é que ela foi inspirada nos uniformes dos Freikorps, tropas voluntárias do major Lützower, que lutaram para libertar a Alemanha do domínio do estadista francês Napoleão Bonaparte. As jaquetas dos soldados eram pretas, com botões cor de ouro e as barras eram enfeitadas com tecido vermelho.
Outra hipótese é que ela é uma reprodução da bandeira do Sacro Império Romano-Germânico, que era composta de um fundo amarelo com uma águia preta e com garras e bico vermelhos. De qualquer forma, a bandeira foi oficialmente adotada como símbolo nacional em 10 de Março de 1848, pela Confederação Germânica.

Confederação Germânica (apenas em 1848)

Confederação da Alemanha do Norte (1867-1871)
Império Alemão (1871-1918)

República de Weimar (1919-1933)

Terceiro Reich (1933-1935)

Terceiro Reich (1935-1945)
(juntamente com a bandeira anterior de 1933-35)

República Democrática Alemã(1949-1959)
República Federativa Alemã (1949-1990)

República Democrática Alemã
(1959-1990)

República Federal da Alemanha (desde 1949)
Após a formação da Confederação da Alemanha do Norte, foi criada uma nova bandeira mesclando as cores tradicionais da Prússia (preto e branco), e a dos pequenos estados da Liga Hanseática (branco e vermelho). Esta bandeira foi posteriormente adotada pelo Império Alemão.
Após a derrota na Primeira Guerra Mundial, o império foi dissolvido e se formou a República de Weimar que retomou a antiga Schwarz-Rot-Gold a partir de 11 de Agosto de 1919.
A luta entre monarquistas e republicanos por qual bandeira se deveria usar durou vários anos, até que em 1926 se permitiu o uso da bandeira imperial em delegações estrangeiras. Em 1933, após assumir o controle do país, o Partido Nazista, junto com seu Führer Adolf Hitler, suprimiu a bandeira republicana e instaurou a bandeira imperial, que foi substituída em 15 de Setembro de 1935 pela Bandeira Nazista, que incluía uma suástica preta, em um disco branco sobre um fundo vermelho.
Em 1945 o regime nazista foi derrotado na Segunda Guerra Mundial, pelas forças aliadas, a Alemanha Nazista foi desmantelada, e o uso de símbolos nacionais foi vetado, principalmente símbolos nazistas.
As embarcações alemãs precisavam de algum símbolo para serem identificadas em alto-mar, então criaram uma bandeira baseada no Código internacional de navegação marítima. A bandeira representa a letra C (de Charlie), e foi usada com um triângulo do lado direito.
Esta bandeira foi utilizada até 1949, quando os estados da República Federal Alemã e República Democrática Alemã retornaram a bandeira Schwartz-Rot-Gold. Em 1959, a Alemanha oriental desenhou sua própria bandeira, para se diferenciar de sua contra-parte ocidental, que foi utilizada até 1990, quando ambos estados se reunificaram sobre a mesma bandeira.

Bandeira do Sacro Império Romano-Germânico (~ 1410)

Bandeira usada pela marinha mercante da Alemanha ocupada (1945-1949)

Bandeira Federal da Alemanha
A diferença entra a bandeira civil e a bandeira federal (Bundesdienstflagge em alemão) é que a bandeira federal leva ao centro uma águia negra num fundo dourado semelhante ao Brasão da Alemanha, mas não idêntico. É usada somente por autoridades federais.

Kriegsflagge
Na atualidade a bandeira de guerra (Kriegsflagge), corresponde a uma versão modificada da bandeira nacional, com um triângulo do lado exterior da bandeira. Ao longo da história a Alemanha teve diversos emblemas para suas Forças Armadas, e que em geral correspondem a versões modificadas de suas bandeiras nacionais.
A primeira bandeira de guerra utilizada pela Confederação Germânica consta da bandeira nacional, a qual se agrega uma águia de duas cabeças negra, sobre um fundo amarelo, no canto superior esquerdo da bandeira. Esta bandeira foi utilizada entre 1848 e 1867, quando foi substituida por uma bandeira branca com uma cruz negra (símbolo da Ordem dos Cavaleiros Teutônicos e símbolo das Forças Armadas Alemãs até hoje). Sobre a cruz negra uma águia igual a da bandeira da Prússia. No canto superior esquerdo da bandeira se encontrava a bandeira imperial, e a Cruz de Ferro sobreposta a ela.
Esta bandeira nunca foi utilizada e foi substituida em 1922, pela bandeira imperial com a Cruz de Ferro. Com a chegada dos nazistas ao poder a bandeira foi eliminada e criou-se em 1935 a Reichkriegsflagge, agora incorporando os símbolos do nazismo. Após o fim da guerra, a bandeira só foi reincorporada, com seu atual desenho em 1956.

Kriegsflagge (1848-1867)

Kaiserliche Kriegsflagge (1903-1918)

Reichskriegsflagge (1933-1935)

Kriegsflagge (1935-1945)
Cada estado da Alemanha possui sua própria bandeira.

Bandeira de Baden-Württemberg

Bandeira da Baixa Saxônia

Bandeira da Baviera

Bandeira de Berlin

Bandeira de Brandenburgo

Bandeira de Bremen

Bandeira de Hamburgo

Bandeira de Hessen

Bandeira de Mecklemburgo-Pomerânia Ocidental

Bandeira de Renânia-Palatinado

Bandeira de Renânia do Norte-Vestfália

Bandeira do Sarre

Bandeira da Saxônia

Bandeira da Saxônia-Anhalt

Bandeira de Schleswig-Holstein

Bandeira da Turíngia
Fonte: pt.wikipedia.org