商船旗(しょうせんき)とは、商船をはじめとする民間の船において国籍・用途を示すために掲揚される旗である。民間用海上旗とも呼ぶ。英語ではCivil ensignという。通常の国旗と同じものを定めている国も多いが、デザインの異なるものや、全く別のデザインのものを商船旗にしている国もある。また、英連邦諸国や日本のように軍艦旗と商船旗が異なる場合もある。 政府が所有する軍艦以外の船(公船)は国旗を掲げるが、沿岸警備隊には独自の旗を制定している国が多い。