Comparison to Surrounding Areas
The median household income ($74,702) for 54020 is less than the median household income for 55074 ($106,625), 54026 ($95,833), 55047 ($107,361), 55073 ($128,723), 54001 ($80,344), 54009 ($89,861), 54017 ($98,571), 54025 ($86,930), St. Croix County ($103,046), Polk County ($77,219), and Dresser village ($80,114). But it's more than Osceola village ($53,361).
| 54020 | $74,702 |
| Dresser village | $80,114 |
| Osceola village | $53,361 |
| Polk County | $77,219 |
| St. Croix County | $103,046 |
Get Median Household Income for all Zip Codes in Wisconsin.
The average household income ($96,006) for 54020 is less than the average household income for 55074 ($117,426), 54001 ($96,959), 54009 ($101,536), 54017 ($108,698), 54025 ($112,367), 54026 ($117,691), 55047 ($176,352), 55073 ($152,519), and St. Croix County ($126,955). But it's more than Polk County ($94,913), Dresser village ($87,164), and Osceola village ($65,541).
| 54020 | $96,006 |
| Dresser village | $87,164 |
| Osceola village | $65,541 |
| Polk County | $94,913 |
| St. Croix County | $126,955 |
Get Average Household Income for all Zip Codes in Wisconsin.
The per-capita income for 54020 is $42,070. The per capita income ($42,070) for 54020 is less than the per capita income for 54026 ($48,405), 54001 ($44,300), 54025 ($45,578), 55074 ($44,752), 55047 ($73,679), 55073 ($53,362), and St. Croix County ($50,302). But it's more than 54009 ($40,893), 54017 ($41,857), Polk County ($41,288), Dresser village ($34,090), and Osceola village ($30,472).
| 54020 | $42,070 |
| Dresser village | $34,090 |
| Osceola village | $30,472 |
| Polk County | $41,288 |
| St. Croix County | $50,302 |
Get Per-Capita Income for all Zip Codes in Wisconsin.
7.7% of households make over $200,000 a year. The percent high income households (7.7%) for 54020 is less than the percent high income households for 55074 (14.5%), 54009 (8.1%), 54017 (9.5%), 54025 (13.6%), 54026 (19.5%), 55047 (21.5%), 55073 (18.6%), and St. Croix County (15.4%). But it's more than 54001 (6.5%), Polk County (7.4%), Dresser village (3.6%), and Osceola village (1.2%).
| 54020 | 7.7% |
| Dresser village | 3.6% |
| Osceola village | 1.2% |
| Polk County | 7.4% |
| St. Croix County | 15.4% |
Get High Income Households for all Zip Codes in Wisconsin.
| under 25 years | 25 to 44 years | 45 to 64 years | 65 years and over | |
|---|---|---|---|---|
| 54020 | $99,271 | $86,429 | $104,375 | $56,528 |
| Dresser village | $-1 | $113,162 | $81,500 | $58,125 |
| Osceola village | $-1 | $68,380 | $64,667 | $40,417 |
| Polk County | $59,517 | $94,965 | $91,783 | $56,318 |
| St. Croix County | $64,953 | $121,436 | $120,293 | $63,226 |
Get Median Household Income by Age of Householder for all Zip Codes in Wisconsin.
Use our lookalike & filtering workflow to discover every zip that matches your ideal market profile.
Our Income By Zip Code Lists let you start with a zip like 54020, then automatically find hundreds of similar zips by income, demographics, and growth potential — so you can build a smarter target list in minutes.
Get Your Income By Zip Code List
Get all zip codes in a state or the entire US with data such as median household income.
Starting at $65.
All income statistics above are the most current, comparable income statistics available from the US Census Bureau and are from the American Community Survey 2024 5-year estimates. You can find this information and other demographics for 54020 on the US Census Bureau’s website. These values are in 2024 inflation-adjusted dollars and were downloaded on 29 January 2026.
Margins of error for the income data are:
| Median Household Income | Average Household Income | Per Capita Income | High Income Households | Median Household Income by Age of Householder | ||||
|---|---|---|---|---|---|---|---|---|
| under 25 | 25 to 44 | 45 to 64 | 65+ | |||||
| 54020 | +/-$11,544 | +/-$5,691 | +/-$2,047 | +/-2.0% | +/-$28,411 | +/-$24,233 | +/-$20,469 | +/-$8,420 |
| Dresser village | +/-$12,580 | +/-$9,762 | +/-$3,883 | +/-3.5% | +/-$-1 | +/-$7,286 | +/-$20,985 | +/-$16,675 |
| Osceola village | +/-$13,701 | +/-$6,969 | +/-$3,389 | +/-1.5% | +/-$-1 | +/-$30,681 | +/-$23,230 | +/-$21,073 |
| Polk County | +/-$2,446 | +/-$2,328 | +/-$943 | +/-0.8% | +/-$11,380 | +/-$4,844 | +/-$4,192 | +/-$3,508 |
| St. Croix County | +/-$3,545 | +/-$5,182 | +/-$1,978 | +/-1.3% | +/-$10,639 | +/-$5,636 | +/-$7,270 | +/-$5,943 |