В Древней Руси в качестве флагов были княжеские стяги в виде длинных шестов с ветвями деревьев, пучками трав или конской гривой наверху, позже с кусками тканей ярких цветов в форме клина. С XIV века стяг, на полотнище которого помещалось священное изображение, стали называть знамением или знаменем, хоругвью.
Слово «флаг» стало широко использоваться в России со времён Петра I. До этого употреблялись исключительно термины «знамя», «стяг», «хоругвь», «прапор».
При Петре I появились царский (императорский) штандарт, флаги военного и торгового флота.
Историки считают, что появление российского государственного флага тесно связано с возникновением русского флота.
6 (16) августа 1693 года во время плавания Петра I в Белом море с отрядом военных кораблей, на 12-пушечной яхте «Святой Пётр» был поднят так называемый флаг царя Московского, представляющий собой полотнище, состоящее из трёх горизонтальных равновеликих полос белого, синего и красного цветов, с золотым двуглавым орлом посередине.
20 (31) января 1705 года Пётр I издал указ «О флагах на торговых речных судах». В указе говорилось, что флаг, который должен был подниматься «на торговых всяких судах, которые ходят по Москве реке и по Волге и по Двине и по иным по всем рекам и речкам ради торговых промыслов». Считается, что рисунок флага, прилагаемый к указу, был с полосами трёх цветов – белого, синего и красного.
В таблице флагов от 1709 года, которую лично отредактировал Пётр I, бело-сине-красный флаг помечен как «обычайно торговых и всяких российских судов флаг».
В Морском уставе от 1720 года сказано: корабли торговые Российские повинны иметь флаг полосатой трёх колеров: белой, синий, красной.
В 1885 году бело-сине-красный флаг был подтверждён Александром III в качестве флага коммерческих судов: «флаг для коммерческих судов состоит из трёх горизонтальных полос, считая сверху: белой, синей и красной».
Фактически, начиная с XVIII века и до 1858 года, функции национального флага выполнял бело-сине-красный флаг.
Однако первым официальный (национальный) флагом Российской империи стал чёрно-жёлто-белый флаг, утвержденный Александром II в 1858 году.
В 1883 году накануне коронации Александра III появилось Высочайшее повеление «О флагах для украшения зданий в торжественных случаях», разрешающее использовать для украшения зданий только бело-сине-красный флаг.
В 1883 году Александр III распорядился в торжественных случаях украшать здания исключительно бело-сине-красным флагом. Однако чёрно-жёлто-белые флаги продолжали использоваться в торжественные дни как при коронации Александра III, так и позднее.
И лишь 29 апреля (11 мая) 1896 года Николай II принял решение «на признание во всех случаях бело-сине-красного флага национальным».
После отречения Николая II от престола и до Октябрьской революции бело-сине-красный флаг продолжал быть фактическим государственным символом России.
В 1918 году был установлен новый государственный флаг – красное (алое) полотно с надписью РСФСР.
1 ноября 1991 года пятым Съездом народных депутатов РСФСР бело-лазорево-алый флаг был законодательно утверждён Государственным флагом РСФСР. Однако описание цветов флага – белый, лазоревый, алый – не соответствовало существовавшему в Российской империи.
11 декабря 1993 года президент России Б. Н. Ельцин подписал указ «О Государственном флаге Российской Федерации», которым было утверждено Положение, содержащее описание флага: «Государственный флаг Российской Федерации представляет собой прямоугольное полотнище из трёх равновеликих горизонтальных полос: верхней – белого, средней – синего и нижней – красного цвета. Отношение ширины флага к его длине – 2:3».
В 1994 году указом президента Российской Федерации был установлен один из официальных праздников – День Государственного флага.