В основе цветовой гаммы флагов различных стран лежат цвета государственного флага какой-то одной державы, обычно наиболее передовой и могущественной. Например, Италия, Бельгия, Румыния, Ирландия, Люксембург, Ливан, Сенегал, Чад, Мали и другие страны при выборе цветов для своего государственного флага взяли за образец французский трехцветный «триколер». «Крестовые» флаги Швеции, Финляндии, Норвегии, Исландии и других стран восходят к датскому «Даннеброгу» XIII в.
Цвета некоторых государственных флагов отражают географические особенности своих стран, некоторые изображения на флагах — вероисповедание населения. Так, османский полумесяц со звездой является атрибутом флагов подавляющего большинства исламских государств.
История флагов начинается в странах древневосточных цивилизаций. Известны, например, хоругви с эмблемой шумерийского бога Нанна (III тыс. до н. э.), белый флаг китайской династии Чжоу (XI–III вв. до н. э.), индийские флаги с изображениями тотемных зверей и птиц.
В «Повести временных лет» под 1096, впервые упомянуто слово
В XII в. под стягом все чаще стали иметь в виду именно знамя, а не воинское соединение. В летописях встречаются такие выражения: «бросив стяг и побежав», «держит стяг Ярополка», «подняв стяг», «видят, что стяг его поднят вверх». Знаменосца стали называть «стяговник». Княжеское войско имело несколько стягов, которые приобрели собирательную и управленческую функцию, дополненную звуковыми сигналами труб и бубнов.
В XII в. одновременно со стягом в значении знамени начинает упоминаться хоругвь. Ранние военные стяги имели полотнище, древко и «чолку стяговую», под которой подразумевался конский хвост (бунчук), прикрепленный к древку между навершием и полотнищем или заменяющий собой навершие знамени. Роль древка могло выполнять копье, к которому прикреплялся кусок ткани. Он был небольшим и представлял собой сужающийся к концу треугольник. Такое полотнище могло иметь два или три раструба («хвосты», «хоботы»). В настоящее время «хоботы» можно увидеть на церковных хоругвах.
С XIV в. на стяги помещают изображение Иисуса Христа. Такие стяги стали называть знаменами. В Куликовской битве стяг (знамя) Дмитрия Донского было багряно-красного цвета. Начиная битву, Дмитрий Донской встал на колени перед одним из таких знамен: «Князь же великий, увидев свои полки достойно устроенными, сошел с коня своего и пал на колени свои перед Большого полка знаменем, на котором был вышит образ Владыки Господа нашего Иисуса Христа, и из глубины души стал взывать громогласно». После молитвы перед знаменем князь объехал полки, обратившись к ним с призывом «без смятения, крепко стоять за Русскую землю» (Адаптация текста «Сказания о Мамаевом побоище»).
С таким же знаменем, багряно-красного цвета, царь Иван IV Грозный ходил в поход на Казань в 1552 г. В «Записи Оружейной палаты» Московского Кремля о нем записано: знамя продолговатое… «построено из малиновой (по старым «описям») червчатой камки. На середине вшит Образ Спасов Нерукотворный, вышитый золотом, серебром, голубыми и разноцветными шелками».
Русские знамена XVI–XVII вв. кроились «косынею». К прямоугольной части полотнища, крепленого к древку, пришивался треугольник — «откос». Знамя обшивалось каймой или бахромой. Размеры знамени были значительными. Знамя, с которым Иван IV ходил на Казань, в 1557 г., имело в длину 3 м, а в высоту по древку — 1,5 м.
Знамена имели сложную художественную композицию. Например, знамя, с которым царь Алексей Михайлович ходил на Смоленск (война с Речью Посполитой за Украину), было выполнено из красной тафты с ликом Иисуса Христа, расшито тончайшей вышивкой, а образ Христа по выразительности напоминал иконопись.
Во 2-й половине XVII в. появляется флаг в виде трехцветного прямоугольника из белой, синей и красной полос, точный порядок взаимного расположения которых неизвестен. В центре помещалось изображение золотого (желтого) двуглавого орла. Такой флаг был у Петра I во время его плавания по Белому морю в 1693 г. Именно с петровского времени устанавливается сочетание (сверху вниз) белой, синей (голубой) и красной полос. Указ 1705 г. обязывал под страхом «жестокого наказанья» использовать флаги этого вида всем морским и речным торговым судам.
Цветовая символика флага воспринималась не всегда одинаково. Расположение полос отражало древнее представление о строении мира: внизу — физический, затем — мир небесный, вверху — мир божественный. Цвета (сверху вниз) символизировали Веру, Надежду и Любовь. В XIX в. трехцветные полосы флага объяснялись как символ единения трех восточнославянских народов — белорусского, украинского и русского.