Portland Suburbs by the Numbers
Image: Anton27/shutterstock.com
We love Portland proper, of course, but we know the hustle and bustle of life in the city limits isn't for everyone. So our annual look at Portland-area real estate includes not only details on the nearly 100 official neighborhoods but also a pulse check of what's happening beyond the official borders. For instance, median sales prices are up more than 50 percent since 2020 in Camas and Wood Village. Ridgefield now has a new In-N-Out Burger to go with its new Costco (and loads of new houses). Those who are buy-shy can find a multitude of rentals in Fairview, Beaverton, Vancouver, and Wilsonville.
Looking for more specifics? Find the answers below.
| City | Median 2025 home sale price ($) | Average 2025 home sale price ($) | Homes sold in 2025 (#) | 1-year median price change 2024-25 (%) | 5-year median price change 2020-25 (%) | Days on market (average) | Share of 2025 sales that were condos (%) | Short sales (#) | Bank-owned sales (#) | Average square feet of homes sold | Average cost per square foot ($) | Average year built of homes sold | Renters' median monthly housing ($) | Residential units classified as "affordable" (#) | Population | Population Density (People per Square Mile) | Median age | Median household income ($) | Homeownership (%) | People below federal poverty level (%) | Households with children under 18 (%) | Currently married (not separated) (%) | Widowed (%) | Divorced (%) | Separated (%) | Never married (%) | Population over 25, highest degree is a bachelor's (%) | Speak only English (%) | Speak a language other than English (%) | Living in the same home as last year (%) | Moved within the last year, from the same county (%) | Moved within the last year, from a different county in the same state (%) | Moved within the last year, from a different state (%) | Moved from abroad within the last year (%) | Moved from outside county in past year, total (%) | Minutes by car to downtown Portland (est.) | Minutes to downtown at rush hour (est.) | Area in square miles | Share of road miles with full sidewalks (%) | Miles of bike routes | Miles of bike routes per square mile | Parks as % of city | Commute by public transit (%) | Commute by walking (%) | Commute by bicycle (%) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Battle Ground | 519,998 | 541,227 | 460 | 4 | 37 | 85 | 1 | 1 | 0 | 1,864 | 290 | 2012 | 1,469 | 97 | 21,293 | 2,438 | 34 | 100,185 | 71 | 7 | 40 | 54 | 4 | 11 | 1 | 31 | 16 | 88 | 12 | 90 | 8 | 1 | 2 | 0.1 | 2 | 35 | 55 | 9 | - | - | - | - | 0 | 3 | 0.1 |
| Beaverton | 598,644 | 583,747 | 952 | 4 | 38 | 63 | 16 | 0 | 1 | 1,983 | 294 | 1994 | 1,727 | 375 | 97,502 | 4,967 | 38 | 94,279 | 50 | 10 | 26 | 46 | 4 | 12 | 2 | 36 | 32 | 76 | 24 | 84 | 9 | 3 | 4 | 0.9 | 8 | 14 | 25 | 20 | 72 | 111 | 6 | 10 | 5 | 3 | 0.8 |
| Camas | 828,199 | 893,306 | 472 | 2 | 56 | 54 | 4 | 0 | 1 | 2,678 | 334 | 2004 | 1,900 | 40 | 26,779 | 1,731 | 41 | 140,053 | 78 | 5 | 43 | 65 | 3 | 9 | 1 | 23 | 32 | 86 | 14 | 88 | 4 | 2 | 5 | 0.7 | 8 | 26 | 35 | 15 | - | - | - | - | 1 | 1 | 0.3 |
| Canby | 525,000 | 494,406 | 182 | 0 | 31 | 58 | 1 | 0 | 3 | 1,845 | 268 | 1992 | 1,442 | 222 | 18,103 | 4,145 | 41 | 100,268 | 70 | 7 | 34 | 57 | 6 | 11 | 2 | 24 | 20 | 85 | 15 | 88 | 6 | 4 | 2 | 0.2 | 6 | 35 | 37 | 4 | - | 13 | 3 | 5 | 2 | 3 | 0.7 |
| Cornelius | 489,000 | 472,825 | 169 | -2 | 27 | 62 | 0 | 0 | 2 | 1,728 | 274 | 2007 | 1,475 | 70 | 13,700 | 6,116 | 35 | 90,071 | 72 | 9 | 35 | 47 | 4 | 12 | 1 | 36 | 12 | 52 | 48 | 90 | 9 | 1 | 0 | 0.4 | 2 | 35 | 37 | 2 | 65 | 7 | 3 | 5 | 6 | 2 | 0.3 |
| Estacada | 513,855 | 503,935 | 116 | 0 | 36 | 74 | 0 | 0 | 0 | 2,011 | 251 | 2012 | - | 117 | 4,878 | 2,164 | 38 | 82,909 | 84 | 24 | 33 | 55 | 8 | 9 | 2 | 26 | 12 | 97 | 3 | 90 | 9 | 0 | 0 | 0.0 | 1 | 45 | 53 | 2 | - | 2 | 1 | 3 | 1 | 6 | 0.0 |
| Fairview | 444,884 | 429,498 | 79 | 15 | 25 | 68 | 0 | 0 | 0 | 1,674 | 257 | 1998 | 1,530 | 116 | 10,627 | 3,013 | 36 | 71,024 | 46 | 14 | 24 | 40 | 5 | 12 | 3 | 40 | 16 | 72 | 28 | 85 | 8 | 3 | 3 | 0.9 | 7 | 20 | 28 | 4 | 43 | 18 | 5 | 17 | 2 | 5 | 0.0 |
| Forest Grove | 519,450 | 519,628 | 303 | 2 | 33 | 64 | 2 | 2 | 3 | 1,949 | 267 | 1995 | 1,393 | 273 | 26,406 | 4,415 | 35 | 81,998 | 62 | 13 | 34 | 45 | 6 | 11 | 1 | 37 | 21 | 76 | 24 | 88 | 8 | 2 | 2 | 0.2 | 4 | 40 | 43 | 6 | 62 | 18 | 3 | 9 | 5 | 7 | 1.0 |
| Gladstone | 506,500 | 508,852 | 107 | 0 | 22 | 32 | 1 | 0 | 1 | 1,805 | 282 | 1968 | 1,716 | 29 | 11,986 | 4,817 | 45 | 90,395 | 64 | 13 | 21 | 46 | 6 | 14 | 1 | 33 | 18 | 93 | 7 | 87 | 9 | 2 | 2 | 0.0 | 3 | 22 | 31 | 2 | 41 | 7 | 3 | 10 | 2 | 1 | 0.4 |
| Gresham | 459,000 | 460,582 | 1,015 | -3 | 24 | 51 | 8 | 2 | 10 | 1,780 | 259 | 1989 | 1,508 | 1,191 | 112,818 | 4,793 | 37 | 73,608 | 56 | 13 | 33 | 46 | 5 | 12 | 2 | 36 | 15 | 74 | 26 | 86 | 9 | 3 | 2 | 0.2 | 5 | 26 | 35 | 24 | 60 | 87 | 4 | 12 | 4 | 3 | 0.3 |
| Happy Valley | 667,950 | 691,729 | 452 | 0 | 25 | 66 | 1 | 1 | 3 | 2,477 | 279 | 2013 | 2,025 | - | 25,572 | 2,607 | 40 | 120,324 | 82 | 7 | 40 | 56 | 6 | 10 | 0 | 28 | 30 | 80 | 20 | 87 | 5 | 6 | 2 | 0.9 | 9 | 24 | 35 | 10 | 55 | 37 | 4 | 9 | 2 | 3 | 0.0 |
| Hillsboro | 504,730 | 513,466 | 1,014 | -4 | 24 | 59 | 9 | 3 | 8 | 1,759 | 292 | 1997 | 1,896 | 1,320 | 107,050 | 4,325 | 35 | 103,207 | 51 | 8 | 30 | 50 | 4 | 10 | 1 | 35 | 24 | 71 | 29 | 85 | 8 | 2 | 4 | 0.9 | 7 | 30 | 34 | 25 | 59 | 111 | 4 | 8 | 5 | 3 | 0.5 |
| Lake Oswego | 922,500 | 1,163,242 | 594 | -2 | 27 | 60 | 20 | 0 | 1 | 2,629 | 443 | 1980 | 2,031 | 199 | 40,367 | 3,539 | 47 | 140,441 | 71 | 3 | 32 | 62 | 5 | 10 | 1 | 22 | 42 | 87 | 13 | 86 | 4 | 5 | 4 | 0.6 | 10 | 16 | 17 | 11 | 13 | 30 | 3 | 10 | 1 | 1 | 0.5 |
| Maywood Park | 499,999 | 534,878 | 9 | -15 | 0 | 33 | 0 | 0 | 0 | 2,743 | 195 | 1938 | 2,025 | - | 1,144 | 6,814 | 43 | 140,357 | 91 | 5 | 31 | 52 | 2 | 12 | 0 | 34 | 30 | 95 | 5 | 90 | 6 | 4 | 0 | 0.0 | 4 | 14 | 21 | 0 | 13 | 1 | 7 | - | 5 | 3 | 2.6 |
| McMinnville | 465,000 | 463,457 | 337 | 1 | 27 | 52 | 3 | 1 | 1 | 1,729 | 268 | 1990 | 1,290 | - | 34,493 | 3,273 | 39 | 70,060 | 62 | 15 | 30 | 43 | 6 | 16 | 2 | 34 | 16 | 84 | 16 | 85 | 9 | 3 | 2 | 1.0 | 7 | 55 | 67 | 11 | - | - | - | - | 1 | 7 | 0.9 |
| Milwaukie | 500,000 | 513,046 | 207 | 0 | 25 | 38 | 7 | 1 | 3 | 1,748 | 294 | 1961 | 1,499 | 230 | 21,256 | 4,195 | 40 | 82,422 | 60 | 7 | 27 | 47 | 4 | 16 | 1 | 32 | 28 | 92 | 8 | 89 | 4 | 4 | 2 | 0.8 | 8 | 14 | 20 | 5 | 26 | 13 | 2 | 3 | 3 | 3 | 0.9 |
| Newberg | 465,000 | 474,470 | 264 | -1 | 24 | 55 | 2 | 0 | 0 | 1,729 | 274 | 1984 | 1,562 | - | 25,622 | 4,416 | 34 | 91,389 | 62 | 9 | 32 | 49 | 3 | 10 | 2 | 36 | 24 | 88 | 12 | 82 | 6 | 8 | 3 | 1.3 | 12 | 37 | 47 | 6 | - | - | 0 | 0 | 8 | 1.1 | |
| Oregon City | 560,000 | 549,589 | 385 | 1 | 28 | 45 | 3 | 2 | 3 | 1,938 | 284 | 1984 | 1,606 | 433 | 37,482 | 3,799 | 36 | 94,648 | 66 | 7 | 33 | 50 | 5 | 11 | 1 | 33 | 24 | 91 | 9 | 88 | 7 | 3 | 2 | 0.3 | 6 | 26 | 34 | 10 | 43 | 39 | 4 | 7 | 2 | 4 | 0.4 |
| Portland | 515,000 | 581,701 | 7,354 | 3 | 14 | 52 | 19 | 21 | 58 | 1,884 | 309 | 1962 | 1,596 | 12,378 | 642,715 | 4,430 | 39 | 88,792 | 53 | 13 | 22 | 40 | 4 | 13 | 1 | 43 | 32 | 82 | 18 | 82 | 10 | 3 | 4 | 0.6 | 8 | - | - | 145 | 49 | 575 | 4 | 15 | 7 | 5 | 3.7 |
| Ridgefield | 632,230 | 662,124 | 382 | 2 | 43 | 79 | 1 | 2 | 0 | 2,273 | 291 | 2017 | 2,324 | 10 | 12,576 | 1,684 | 35 | 117,550 | 83 | 6 | 44 | 62 | 3 | 8 | 2 | 25 | 26 | 93 | 8 | 82 | 7 | 5 | 6 | 0.0 | 12 | 25 | 45 | 7 | - | - | 0 | - | 1 | 0 | 0.0 |
| Sandy | 477,000 | 502,125 | 230 | 2 | 33 | 71 | 1 | 0 | 1 | 1,848 | 272 | 2004 | 1,640 | 247 | 12,738 | 3,530 | 39 | 102,201 | 80 | 8 | 40 | 58 | 4 | 9 | 1 | 29 | 17 | 94 | 6 | 84 | 9 | 6 | 2 | 0.7 | 8 | 35 | 60 | 4 | - | 14 | 4 | 11 | 1 | 1 | 0.0 |
| Sauvie Island | 785,620 | 872,707 | 6 | -18 | 7 | 102 | 0 | 0 | 0 | 1,854 | 471 | 1966 | 1,777 | - | 2,741 | 87 | 54 | 101,827 | 81 | 6 | 18 | 47 | 9 | 14 | 2 | 29 | 26 | 95 | 5 | 94 | 2 | 3 | 1 | 0.0 | 4 | 35 | 42 | 32 | 0 | 0 | 0 | 8 | 3 | 8 | 0.0 |
| Scappoose | 471,550 | 466,904 | 100 | 3 | 24 | 48 | 1 | 0 | 0 | 1,847 | 253 | 1993 | 1,699 | 10 | 8,099 | 2,466 | 39 | 99,475 | 77 | 8 | 33 | 58 | 3 | 10 | 3 | 26 | 19 | 96 | 4 | 83 | 9 | 6 | 3 | 0.2 | 9 | 30 | 40 | 3 | - | - | - | - | 1 | 2 | 0.4 |
| Sherwood | 602,500 | 660,678 | 228 | 2 | 25 | 43 | 2 | 0 | 0 | 2,143 | 308 | 1998 | 1,967 | 81 | 20,227 | 4,665 | 36 | 110,616 | 74 | 4 | 45 | 60 | 3 | 10 | 1 | 26 | 32 | 89 | 11 | 91 | 4 | 4 | 1 | 0.0 | 5 | 30 | 36 | 4 | 74 | 20 | 5 | 10 | 0 | 2 | 0.0 |
| St. Helens | 420,000 | 424,427 | 191 | 0 | 35 | 53 | 2 | 0 | 2 | 1,701 | 250 | 1982 | 1,269 | - | 14,152 | 2,430 | 37 | 82,123 | 63 | 9 | 38 | 44 | 7 | 16 | 1 | 32 | 11 | 93 | 7 | 86 | 5 | 5 | 4 | 0.5 | 10 | 40 | 55 | 6 | - | - | - | - | 0 | 1 | 0.4 |
| Tigard | 610,000 | 624,477 | 792 | -1 | 30 | 69 | 7 | 0 | 1 | 2,147 | 291 | 2000 | 1,732 | 467 | 55,395 | 4,359 | 40 | 105,008 | 61 | 8 | 31 | 52 | 4 | 11 | 1 | 32 | 33 | 81 | 19 | 89 | 6 | 3 | 3 | 0.3 | 6 | 18 | 22 | 13 | 55 | 57 | 5 | 8 | 3 | 2 | 0.2 |
| Troutdale | 474,900 | 480,525 | 141 | -4 | 26 | 39 | 1 | 0 | 4 | 1,688 | 285 | 1989 | 1,582 | 126 | 16,000 | 2,656 | 36 | 84,339 | 67 | 9 | 37 | 53 | 4 | 11 | 1 | 32 | 19 | 77 | 23 | 91 | 8 | 1 | 1 | 0.1 | 1 | 23 | 32 | 6 | 59 | 21 | 4 | 12 | 2 | 2 | 0.4 |
| Tualatin | 614,500 | 594,226 | 234 | 0 | 29 | 49 | 12 | 0 | 3 | 2,065 | 288 | 1992 | 1,729 | 253 | 27,710 | 3,399 | 38 | 105,073 | 55 | 9 | 32 | 52 | 3 | 10 | 1 | 33 | 29 | 76 | 24 | 84 | 7 | 7 | 3 | 0.3 | 10 | 21 | 23 | 8 | 75 | 46 | 6 | 7 | 2 | 2 | 0.6 |
| Vancouver | 475,000 | 517,116 | 1,671 | 0 | 34 | 44 | 13 | 8 | 3 | 1,700 | 304 | 1984 | 1,632 | 1,582 | 192,696 | 3,852 | 38 | 78,156 | 50 | 11 | 28 | 44 | 5 | 14 | 2 | 34 | 20 | 79 | 21 | 83 | 9 | 2 | 5 | 0.5 | 8 | 15 | 26 | 50 | - | 1 | - | - | 2 | 2 | 0.5 |
| Washougal | 577,250 | 620,192 | 214 | 0 | 36 | 53 | 3 | 1 | 1 | 2,214 | 280 | 1985 | 1,592 | 41 | 16,945 | 2,717 | 39 | 100,916 | 74 | 13 | 37 | 48 | 5 | 14 | 1 | 32 | 16 | 92 | 8 | 83 | 10 | 1 | 6 | 0.5 | 7 | 28 | 36 | 6 | - | - | - | - | 1 | 0 | 0.0 |
| West Linn | 770,000 | 789,448 | 377 | 5 | 34 | 47 | 10 | 0 | 1 | 2,463 | 321 | 1986 | 2,006 | 8 | 27,065 | 3,345 | 43 | 138,526 | 84 | 5 | 37 | 63 | 5 | 9 | 1 | 23 | 38 | 89 | 11 | 90 | 3 | 4 | 3 | 0.7 | 8 | 26 | 32 | 8 | 48 | 25 | 3 | 12 | 1 | 1 | 0.8 |
| Wilsonville | 610,000 | 632,821 | 293 | -2 | 30 | 59 | 13 | 0 | 0 | 1,993 | 318 | 1999 | 1,839 | 288 | 26,183 | 3,449 | 39 | 87,371 | 50 | 9 | 28 | 48 | 5 | 14 | 1 | 32 | 29 | 86 | 14 | 84 | 3 | 10 | 3 | 0.5 | 13 | 25 | 28 | 8 | 44 | 38 | 5 | 9 | 1 | 2 | 0.3 |
| Wood Village | 495,000 | 474,915 | 19 | 55 | 65 | 58 | 11 | 0 | 0 | 1,755 | 271 | 1980 | 1,430 | - | 4,611 | 4,843 | 33 | 72,404 | 63 | 16 | 39 | 39 | 4 | 12 | 1 | 44 | 11 | 56 | 45 | 88 | 6 | 2 | 2 | 2.0 | 6 | 20 | 28 | 1 | 37 | 4 | 4 | 3 | 2 | 1 | 1.0 |
Methodology
Real Estate 2025 data from the Regional Multiple Listing Service with analysis by the Center for Spatial Analysis and Research at Portland State University’s Department of Geography. Additional info from Metro and other sources. Figures were rounded for legibility. In places with very few home sales, such as Maywood Park and Sauvie Island, the year-to-year change can appear exaggerated.
People Data for all “people” columns, rent costs, and commuting from the US Census Bureau’s American Community Survey 5-Year Estimates 2019–2023, released in late 2024. The ACS data are estimates only, and accuracy varies by attribute.
Rent Costs Calculated from all renter-occupied units, estimated median rent is not adjusted for unit size or number of occupants. Figure includes estimated monthly utility costs.
Median Income The Census defines household as including “all the persons who occupy a housing unit as their usual place of residence.” Thus living situations in this estimate range from individuals to large households.
Parks Data from Metro and/or individual cities.
Minutes by Car to Downtown Google Maps estimate, based on non-rush-hour conditions, from a central point to Portland’s Pioneer Courthouse Square. Rush-hour travel time was estimated for a 9am weekday arrival.
Sidewalks The figure is the percentage of total centerline miles of roadway that have full sidewalk coverage, as opposed to only partial sidewalk coverage or no sidewalk coverage.
Walk and Bike Scores Data from WalkScore.com, now a part of real estate agency Redfin. They reflect, on a scale of 1 to 100, a city’s pedestrian-friendliness based on distances to amenities such as grocery stores and other routine destinations and bike-friendliness based on distance to destinations as well as the city's bike infrastructure, topography, and route connectivity. For cities with no collective score, a point in a central residential neighborhood was selected to determine scores.
Unavailable Data is noted with a dash (—).
*Census data for Sauvie Island includes a mainland section along Highway 30.
Real estate and other analysis by Alyssa Schaer, Ethan Morehouse, and David Banis of PSU’s Center for Spatial Analysis and Research.
