본래 신라의 갑화양곡현(甲火良谷縣)이었는데, 경덕왕 때 기장현으로 고쳐 동래군의 영현(領縣)으로 하였다. 뒤에 양주(梁州)에 속하게 하였으며, 고려 현종 때 울주(蔚州)로 이속하였다. 뒤에 감무(監務)를 두었고 조선시대에 와서 현감으로 고쳤다.
1599년(선조 32) 왜구에 점령되어 동래에 합쳐졌다가 1617년(광해군 9) 다시 현으로 독립되었다. 1895년(고종 32) 동래부 기장군, 1896년 경상남도 기장군이 되었고, 1914년 행정구역 개편 때 동래군에 병합되었다.
1973년 동래군은 양산군에 통합되었고, 1980년 기장면이 읍으로 승격되었으며, 1995년 양산군에서 분리되어 부산광역시 기장군 기장읍이 되었다.