Waxhaw is a town in Union County, North Carolina, United States. The population was 20,534 according to the 2020 Census. The population grew 108.28% from 2010. The name is derived from the indigenous people who lived in the area, who were known as the Waxhaw people.