Butler is a city in Bates County, Missouri, United States. The population was 4,219 at the 2010 census. It is the county seat of Bates County. The city is named for William Orlando Butler, a noted American military and political figure of the early and mid-19th century. It is about fifty miles south of Kansas City, Missouri on U.S. Route 71-Interstate 49.