When Choctaw County was formed in 1847, Butler was created as the county seat. The town was located and settled in 1848. It is named in honor of Colonel Pierce Butler, a soldier killed in the Mexican-American War.