The town is around south-west of the railway town of Crewe and 20 miles south-east of the city of Chester. It is on the Cheshire Plain, on the banks of the River Weaver. The Shropshire Union Canal runs to the west of the town.