ظهور پرچم در ایران به قیام کاوه آهنگر علیه ظلم و ستم ضحاک بازمیگردد. کاوه آهنگر به منظور برانگیختن احساسات مردمی علیه ضحاک، پیشبند چرمی خود را بر سر چوبی کرد و آن را بالا گرفت تا مردم گرد او جمع شدند. پس از وی فریدون فرمان داد تا آن چرم را بیارایند و چنین بود که این پرچم را درفش شاهی نامید. گفتهاند نخستین رنگهای پرچم ایران زرد و سرخ و بنفش بود. پس از فتح ایران به دست اعراب مسلمان، ایرانیان تا دویست سال هیچ پرچمی نداشتند و تنها دو تن از قهرمانان ملی ایرانزمین، یعنی ابومسلم خراسانی و بابک خرمدین دارای پرچم بودند. پرچم ابومسلم سیاهرنگ بود و پرچم بابک، سرخرنگ.
سلطان محمود غزنوی بود که برای نخستین بار دستور داد نقش یک ماه را روی پرچم خود که رنگ زمینه آن سیاه بود بدوزند. وی پس از آن دستور داد نقش یک شیر در آن افزوده شود. نقش خورشید روی پرچمها نیز از زمان خوارزمشاهیان باب شد.
رنگ و طرح پرچم ایران در طول تاریخ همواره در حال تغییر بوده است. پرچم شاهاسماعیل صفوی یکسره سبزرنگ بود و در آن تصویر ماه نیز قرار داشت. شاهطهماسب نیز در دوران پادشاهی دستور داد به جای شیر و خورشید، تصویر گوسفند را روی پرچمها حک کنند.
تا دوره قاجارها پرچم سهگوشه بود اما در این دوره شکل پرچم برای نخستینبار از سهگوشه به چهارگوشه تغییر یافت و رنگ سرخ نیز تنها رنگ پرچم شد و درون آن روی دایره سفیدی، تصویر شیر و خورشید نقش بست.
پس از پیروزی انقلاب مشروطه، در اصل پنجم متمم قانون اساسی ذکر شد: الوان رسمی بیرق ایران، سبز و سفید و سرخ و علامت شیر و خورشید است. در زمان فتحعلیشاه قاجار، شمشیری به دست شیر داده شد و استفاده از این نشان تا انقلاب ۱۳۵۷ ادامه پیدا کرد. از حدود قرن ۹ هجری (پانزده میلادی) نشان شیر و خورشید نشان محبوبی در پرچمهای ایران بود. این نشان در دورههای مختلف و نزد سلسلههای شاهی مختلف به صورتهای متفاوتی تعبیر شد؛ به طوری که در ابتدا تنها نماد ستارهبینی بود، بعد از آن نشان پادشاهی شد و بعدها تعبیری دینی پیدا کرد. تعبیرهای ملیگرایانه و سلطنتی نیز از این نشان در دوران قاجار و پهلوی به وفور یافت میشود.
پس از انقلاب اسلامی در اصل هجدهم قانون اساسی جمهوری اسلامی ایران تاکید شد پرچم رسمی ایران به رنگهای سبز و سفید و سرخ است، با این تفاوت که پس از انقلاب در میانه پرچم علامت مخصوص جمهوری اسلامی نقش بست که بر زمینۀ سفید با شعار «الله اکبر» آذینبندی شده بود؛ طرحی که اکنون به عنوان پرچم سه رنگ جمهوری اسلامی ایران شناخته میشود.