길이 61.95㎞, 유역면적 1,140㎢. 남한에서 동해로 흘러드는 강 중에서 가장 크고 유역에 형성된 충적평야도 가장 넓다.
본류는 울산광역시 울주군 두서면에서 발원하여 언양단층선의 북쪽 연장선을 따라 북북동류하다가 경주시 부근에서 지류인 건천(乾川)·남천(南川) 등을 합류하여 경주시 부근에 넓은 분지상 충적평야, 즉 경주평야를 형성한다.
계속 북북동쪽으로 흘러 경주시 안강읍 부근에서 기계천(杞溪川)과 합류하며 이 부근에 다시 분지상의 안강평야를 만든다. 여기서 유로를 동북동으로 바꾸어 형산제산지협(兄山弟山地峽)을 지나 영일만내에 삼각주성 충적평야인 포항평야를 형성하고 바다로 흘러든다.
일반적으로는 태화강(太和江)의 지류인 동천강(東川江)과 형산강의 지류인 남천, 그리고 경주시 이하의 형산강 본류를 따라 형성된 저지대를 형산강지구대라고 부르나, 지구대로 단정할 확실한 단층구조가 아직 보고되지 않고 있다. 이 강 유역에는 신라의 고도 경주가 자리하고 있으며, 하구에는 포스코(POSCO; 구 포항종합제철)가 위치하고 있다.