Williams is a town located in the Wheatbelt region of Western Australia, south-southeast of the state capital, Perth along Albany Highway and 32 kilometres (20 mi) west of Narrogin. The Williams River passes through the town. At the , Williams had a population of 338.