Malmesbury is a town and civil parish located in north Wiltshire, England. It is situated approximately 14 miles west of Swindon, 25 miles northeast of Bristol, 9 miles north of Chippenham, and 5 miles south of Tetbury.
The older section of the town is positioned on a hilltop that is nearly surrounded by one of the upper waters of the Bristol Avon and one of its tributaries.