본관은 남평(南平). 자는 경수(敬修). 호는 우봉(愚峯). 아버지는 판관(判官) 문관도(文貫道)이다. 제주판관 문희현(文希賢)의 형이다.
1594년(선조 27) 무과에 급제하고, 1597년의 정유재란 때 공을 세웠다.
뒤에 서생포(西生浦)와 고령첨사(高嶺僉使)를 역임하고 광해군 때 수원부사(水原府使)에 임명되었다. 그러나 관고(官庫)가 비고 초군(抄軍)할 때 재물을 마구잡이로 모았으며, 행정에 무능하다는 이유로 사간원의 탄핵을 받아 관직에서 물러났다.
1614년(광해군 6) 한때 무리를 모아 역모를 꾀했다는 오해를 받았다. 그러나 1618년 승정원(承政院)의 반대에도 불구하고 비변사의 강력한 추천으로 정주목사(定州牧使)에 임명되었다. 1619년 강홍립(姜弘立)의 휘하 분령편비방어사(分領編裨防禦使)로 요동(遼東)의 후금(後金)을 토벌했으나, 이듬해 심하(深河)에서 패배하여 포로가 되었다가 풀려났다.
1625년(인조 3) 광주목사(廣州牧使)를 역임하고 정묘호란 때는 삼전도(三田渡)를 지켰다. 뒤에 전주영장(全州營將) · 경상우수사(慶尙右水使) · 부산첨사(釜山僉使) · 경상좌수사 · 남한산성별장(南漢山城別將)을 역임하였다. 1636년초 청나라와 화친을 끊으면서 전운이 감돌 때 안주방어사(安州防禦使)로 임명되었다가, 평안병사 유림(柳琳)과의 관계로 조방장(助防將)이 되었다. 1640년 남한산성 축성의 공로가 인정되어 가의대부(嘉義大夫)에 올랐다.
나라가 위태로울 때마다 무재(武才)에 뛰어난 장수로 인정받았다. 그러나 대청강경책(對淸强硬策)을 표방하던 때라 등용될 때마다 서인 정권은 전에 청나라에 항복한 사실을 들어 반대하였다. 그럴 때마다 문희성의 무재를 아끼는 왕의 두둔으로 무사했지만 벼슬길은 불운하였다.