본관은 장수(長水). 자는 백원(百源). 강릉대도호부사 황군서(黃君瑞)의 증손으로, 할아버지는 영의정 황희(黃喜)이고, 아버지는 판중추부사 황치신(黃致身)이며, 어머니는 황상(黃象)의 딸이다.
1477년(성종 8) 문과에 급제하였다. 1482년(성종 13) 지평·장령을 거쳐 1490년에 집의에 올랐다. 그 해 강계(江界)·상토(上土)·만포(滿浦)의 삼진(三鎭)의 수병(戍兵)이 합세로 월경하여 침범해온 여진을 공격하여 적병을 무찔렀으므로 선위사(宣尉使)로 그곳에 나가 수병의 군공(軍功)을 치하하였다.
1492년 진주목사가 되었으며, 이어 의주목사로 전임되었으나 의주는 군사상의 요지인데 군사(軍事)에 미숙하고 팔순에 가까운 늙은 어머니를 두고 부임하기 어려움을 상소하여 부임하지 않았다.
이듬해 승정원부승지·우부승지·좌부승지를 역임하였다. 1494년 황해도관찰사가 되었는데, 위수병(衛戍兵)의 노고를 덜어줄 것을 상주하였다.
이듬해 동지중추부사에 이어 대사헌이 되었으며, 1495년(연산군 즉위년) 선위사(宣慰使)로 있을 때 황주에서 죽었다. 재직 중 품계가 가선대부(嘉善大夫)까지 되었으나, 경솔하고 일관성이 없는 행동이 많아 수령방백의 체통을 지키지 않았다는 비난을 받았다.