Carshalton is a town, with an historic village centre, in the London Borough of Sutton, in South London, England.