Butler was born in Upper Uwchlan Township, Chester County, Pennsylvania, to farmer-parents James and Mary Butler.[2] He attended the local public school and went on to attend Unionville Academy in neighboring East Marlborough Township, where he studied under Jonathan Grause, a well-known teacher who had instructed Bayard Taylor and other local luminaries. After graduation, he spent eight years teaching school in Chester as well as Berks and Butler counties. In 1849, he returned home to Upper Uwchlan, married, and settled down on the family farm, where he remained for the rest of his life save for his service in Harrisburg. He served as a member of the local school board until 1876 and Chester County's director of the poor from 1865 to 1871.[3] He served as a member of the board of directors of the National Bank of Downingtown, vice president of the Chester County Guarantee Trust and Safe Deposit Company, and president of the Farmers' National Bank of West Chester.[1][4][5]
Butler was elected to three consecutive terms in the Pennsylvania House of Representatives, serving from 1877 to 1880.[6][7] In lieu of seeking a fourth legislative term, Butler ran for Pennsylvania Treasurer. Nominated by acclamation at the Republican state convention,[6] Butler won his statewide election in November 1879, defeating Democratic nominee Daniel O. Barr by a margin of 58,600 votes.[2][5] He served from May 1880 through 1882. He ran for his party's nomination for governor in 1882 but lost out to James A. Beaver, who went on to lose the general election. At the Republican state convention in May 1882, Butler sought the Republican nomination for Pennsylvania's at-large congressional district but lost to Thomas M. Marshall.[8]