Malmesbury is a town and civil parish in north Wiltshire, England, which lies approximately 14 miles (23 km) west of Swindon, 25 miles (40 km) northeast of Bristol, 9 miles (14 km) north of Chippenham and 5 miles south of Tetbury. The older part of the town is on a hilltop which is almost surrounded by the upper waters of the Bristol Avon and one of its tributaries.