La bandera española no ha sido siempre tal y como la conocemos hoy; de hecho, la rojigualda acaba de cumplir 175 años de historia en 2018. Tiene su origen en la bandera de la Marina de guerra y mercante de la época de Carlos III (1785), pero fue durante el reinado de Isabel II, y concretamente en 1843, cuando se impuso como bandera unitaria. Hasta entonces, los distintos regimientos portaban banderas e insignias distintas.
Los colores de la bandera española en la actualidad se corresponden con los del diseño que Carlos III encargó a su ministro de Marina, Frey Antonio Valdés, en 1785. El motivo era poder distinguirla con facilidad de otras banderas, en particular en alta mar, pues en aquella época muchos países utilizaban insignias con fondo blanco que se confundían en la distancia.
La primera bandera que representó a toda España fue la Cruz de Borgoña, que llegó a España con el matrimonio entre Felipe el Hermoso y Juana I de Castilla (quizá más conocida como Juana la Loca) en 1506. Esta bandera, de fondo blanco y con la cruz de san Andrés en rojo, se usó hasta 1793, y se mantuvo como enseña del Imperio Español hasta 1898. Esta bandera también fue empleada por el movimiento carlista a partir de 1935 y a lo largo de toda la Guerra Civil Española (1936-1939).
La rojigualda sobrevivió a todos los cambios políticos del convulso siglo XIX español, e incluso al proyecto de sustituirla por otra bandera tricolor (en este caso roja, blanca y azul) durante la I República Española (1873-1874).
Fue tras la proclamación de la II República Española, el 14 de abril de 1931, cuando se cambió la segunda franja roja de la bandera por una de color morado, en representación de la bandera histórica de los Comuneros de Castilla. Esta bandera tricolor fue la oficial del gobierno republicano durante toda la Guerra Civil.
El ejército franquista, por su parte, empleó la rojigualda durante toda la contienda, a la que añadió el águila de San Juan tras la victoria. Esta insignia tuvo pequeñas modificaciones de su escudo a lo largo de toda la dictadura de Francisco Franco (1939-1975) y se mantuvo durante los primeros años de la transición democrática.
La nueva bandera española fue promulgada por la Constitución de 1978. Tiene tres franjas horizontales de rojo, amarillo (de doble ancho) y rojo, con el escudo de armas nacional dentro de la franja amarilla. Este escudo incluye el sello real flanqueado por dos columnas coronadas (las Columnas de Hércules), con la inscripción Plus Ultra, y fue definido por una ley posterior de 1981.
De acuerdo con la legislación española, la altura del escudo de armas debe medir dos quintos del ancho de la bandera, y debe aparecer en medio de la banda amarilla. Las proporciones de la bandera deben tener una longitud de tres medios de su ancho, en cuyo caso la distancia desde la izada hasta el eje vertical del escudo debería ser la mitad del ancho de la bandera. En otros casos (si la bandera es más corta o cuadrada) el escudo de armas debe aparecer en el centro.