Avon is a town in Norfolk County. At the time of the 2010 census the population was 4,356. The town is bordered by Brockton on the south, Stoughton on the west, Randolph on the northeast, and Holbrook on the east. Avon is 17 miles south of Boston, and 27 miles northeast of Providence, Rhode Island. The town is served by the Brockton Area Transit Authority and the Massachusetts Bay Transportation Authority, providing public transit service to Brockton and Boston. Major routes into Avon are 24, and 28. Avon School District has two public schools, Butler Elementary and Avon Middle-High School.