본래 백제의 성대호현(省大號縣, 또는 省大兮縣)이었는데, 신라의 영토가 된 뒤 경덕왕 때소태(蘇泰, 또는 蘇州)로 고쳐 부성군(富城郡: 지금의 瑞山)의 영현으로 삼았다. 조선시대에 태안읍의 진산(鎭山)인 백화산(白華山)에 옛 산성(山城)이 있었던 점으로 보아 성대호가 이 지역을 중심으로 존속했던 것으로 보인다.
고려 현종 때홍주(洪州: 지금의 洪城)로 예속시켰다가 충렬왕 때 이곳 사람 이대순(李大順)이 원나라에 가서 공을 세웠다 하여 군으로 승격시켰다. 1373년(공민왕 22) 왜구의 침입이 극심하여 이곳 주민의 피해가 크므로 태안의 주민과 관청을 서산군으로 옮겼고, 1383년(우왕 9)에는 다시 예산으로 피난하였다.
왜구의 침입이 멎은 뒤 주민들은 서산의 박제(蒪堤)에 옮겨와 살았다. 조선 초기에 태안현을 박제로 불렀던 것은 이 지명에서 유래된다. 조선 태종 때 주민들을 태안으로 오게 한 뒤 이곳에 읍성을 쌓았고, 세종 때 군으로 승격시켰다.
성대호의 지명유래는 확실하지 않으나 ‘호’나 ‘혜’가 ‘홀(忽)’과 통하므로 ‘큰 고을’이란 의미와 관련이 있는 것으로 보인다. 태안반도의 중심 취락으로 발달했던 곳이다.