St. Johnsbury is a CDP located in Caledonia County, Vermont. St. Johnsbury has a 2025 population of 5,905 . St. Johnsbury is currently declining at a rate of -0.34% annually but its population has increased by 1.55% since the most recent census, which recorded a population of 5,815 in 2020.
The average household income in St. Johnsbury is $73,861 with a poverty rate of 20.42%. The median age in St. Johnsbury is 43.8 years: 42.5 years for males, and 47.3 years for females. For every 100 females there are 112.8 males.
Data after 2023 is projected based on recent change
The racial composition of St. Johnsbury includes 89.66% White, and smaller percentages for other race, Black or African American, Native American, Asian and multiracial populations.
White (89.66%)
Two or more races (6.16%)
Other race (2.15%)
Black or African American (1.48%)
Native American (0.47%)
Asian (0.08%)
Race | Population | Percentage (of total) |
|---|---|---|
| White | 5,330 | 89.66% |
| Two or more races | 366 | 6.16% |
| Other race | 128 | 2.15% |
| Black or African American | 88 | 1.48% |
| Native American | 28 | 0.47% |
| Asian | 5 | 0.08% |
Married
Widowed
Divorced
Separated
Never Married
St. Johnsbury's average per capita income is $40,498. Household income levels show a median of $49,033. The poverty rate stands at 20.42%.
Name | Median | Mean |
|---|---|---|
| Married Families | $118,819 | - |
| Families | $85,776 | $91,134 |
| Households | $49,033 | $73,861 |
| Non Families | $32,385 | $48,810 |
Average Income
Median Household Income
Poverty Rate