Harmony was incorporated in 1927. It was named for the Harmony Hill Camp Meetings that took place for two weeks each year on the current site of the Harmony elementary school. The focus of the meetings was a religious revival with extensive social gatherings. The first meeting occurred in 1846 and meetings continue to be held the second weekend of October. While the area around Harmony is mostly rural, the town includes a library, the Tomlinson-Moore family park, Harmony Volunteer Fire Department, community center, elementary school, doctor's offices, a manufacturing plant, and other businesses. The Harmony Academy was founded in 1908. It later became Harmony Farm Life in 1916. In the 1966 consolidation of high schools in Iredell County, the site of the Harmony high school became an elementary school. The following churches have a Harmony address: Clarksbury United Methodist Church, First Baptist Church, Friendship Missionary Baptist Church, Holly Springs Baptist Church, Macedonia Methodist Church, Mount Bethel Methodist Church, Mount Nebo Baptist Church, New Union Methodist Church, Pine GroveAME Zion Church, Pleasant View Baptist Church, Rock Springs Baptist Church, Rock Creek AME Zion Church, Sandy Springs Baptist Church, and Winthrop Friends.
As of the census of 2010, there were 533 people, 206 households, and 150 families residing in the town. The population density was 380.7 people per square mile. There were 223 housing units at an average density of 161.3 per square mile. The racial makeup of the town was 91.44% White, 5.89% African American, 1.90% Native American, 0.38% from other races, and 0.38% from two or more races. Hispanic or Latino of any race were 2.47% of the population. There were 206 households, out of which 32.0% had children under the age of 18 living with them, 55.8% were married couples living together, 13.1% had a female householder with no husband present, and 26.7% were non-families. 24.3% of all households were made up of individuals, and 10.2% had someone living alone who was 65 years of age or older. The average household size was 2.55 and the average family size was 3.03. In the town, the population was spread out, with 25.1% under the age of 18, 8.9% from 18 to 24, 30.4% from 25 to 44, 23.4% from 45 to 64, and 12.2% who were 65 years of age or older. The median age was 36 years. For every 100 females, there were 94.1 males. For every 100 females age 18 and over, there were 89.4 males. The median income for a household in the town was $30,972, and the median income for a family was $41,042. Males had a median income of $30,139 versus $22,708 for females. The per capita income for the town was $15,591. About 6.5% of families and 10.9% of the population were below the poverty line, including 10.8% of those under age 18 and 5.9% of those age 65 or over.