汉代以来,属合浦县地。
明代,山口属海岸乡。
清雍正元年(1723年),在镇境永安城设县丞署,管辖与博白、石城(今廉江)县交界地区。
清道光八年(1828年),山口属永安团。
民国十七年(1928年)—民国二十二年(1933年),称山口乡。
同年,改称山口镇。
1949年,属第二区。
1950年,属第四区。
1951年,为第十区。
1957年,为山口乡。
1958年,属公馆公社。
1959年,为山口公社。
1961年,属白沙区。
1963年,为山口公社。
1984年,为山口镇。