상선(商船)은 화물이나 승객을 운송하는 선박을 말한다. 전쟁 기간에는 상선도 해군의 소속되어 군사 목적으로 사용되기도 한다.
사용 목적에 따라 화물선과 화객선, 여객선 등으로 분류할 수 있다.