Counted town by town, the Chicago suburbs are 267 cities, towns and villages in the six Illinois counties served by Metra, the region’s commuter railroad, home to about 5.15 million people. 114 of them have a Metra station of their own, and about two of every three suburban residents live in one of those towns. The map and list below show every one, grouped into the five parts people here name — north, northwest, west, southwest and south — with the lines between them drawn by the railroads.
Metra’s weekday timetable, the Census Bureau’s 2024 gazetteer and 2020–2024 American Community Survey · read October 20, 2026 · the grouping and the medians across towns are oursMap of the Chicago suburbs and the Metra lines
What are the suburbs of Chicago, and how many are there?
There is no official list. “The Chicago suburbs” and “Chicagoland,” the everyday name for Chicago and its suburbs together, are not legal terms, so any count of the cities and towns near Chicago has to draw its own line. This one counts the incorporated cities, towns and villages, the places with a local government of their own, in the six Illinois counties Metra’s commuter trains serve: Cook County outside the city, and DuPage, Kane, Lake, McHenry and Will. Those five, the ring around Cook, are what the region calls the collar counties.
That makes 267 suburbs. Cook County holds 118 of them and 2.31 million of their 5.15 million people; Lake County has 46 towns, DuPage 31, McHenry 27, Will 23 and Kane 22. A town that crosses a county line is counted once, in the county that holds its Census center point, so Aurora, which reaches into four counties, counts in Kane. Unincorporated land, which belongs to no town and shows blank on the map, is left out, and so are places in the counties beyond these six that broader definitions of the region take in.
How are the Chicago suburbs divided?
By direction, and on this page the directions follow the railroads. Metra’s 11 lines leave four downtown terminals and fan out like spokes, and the corridors they cut are a workable way to draw lines the region never drew. So each town goes to a part by its railroad: the line at its own Metra station or, for a town without one, the line at the station closest to it in a straight line. Only three towns count in two parts: Joliet, Rockdale and Shorewood, all tied to Joliet’s station. The site’s list for each part goes town by town; those lists were drawn with their own rules, so their counts, and a few placements, differ from this page’s.
The north suburbs and the North Shore
Three railroads run north. The Union Pacific North leaves Ogilvie Transportation Center and follows the lake to Kenosha; the Milwaukee District North and the North Central Service leave Union Station and head inland. Together they serve 56 towns and about 1.01 million people, and Waukegan, with 89,076 people, is the largest. The North Shore is the lakefront string from Evanston to Lake Bluff: Evanston, Wilmette, Kenilworth, Winnetka, Glencoe, Highland Park, Highwood, Lake Forest and Lake Bluff, 188,687 people whose towns have a middle home value of $810,600. Every one of the nine has a UP North station, with 26 to 35 weekday trains toward downtown. Inland, the line matters as much as the town: the North Central Service runs six or seven at each of its stations. The north suburbs list covers 55 of these towns; it leaves out Lincolnwood, whose closest station is inside the city.
The northwest suburbs
One railroad, the Union Pacific Northwest, runs from Ogilvie through Park Ridge, Des Plaines, Arlington Heights and Palatine to Crystal Lake and Harvard, with a branch to McHenry. It serves 44 towns and about 672,000 people; Arlington Heights (76,005) is the largest. Only 12 of the 44 have a station of their own, the smallest share of any part, so for most of the northwest the ride starts at a station in another town. The northwest suburbs list covers 20 of these towns, and also lists Elk Grove Village, Hoffman Estates and Streamwood, which this page puts in the west.
The west suburbs
Three railroads run west: the BNSF from Union Station to Aurora, the Union Pacific West from Ogilvie to Elburn and the Milwaukee District West from Union Station to Elgin, joined by the North Central Service’s stops near O’Hare. This is the largest part, 87 towns and 2.15 million people, with both of the two largest suburbs, Aurora (179,898) and Naperville (150,692), and the shortest rides downtown, from Cicero, Oak Park and Berwyn. One result may surprise people who know the area: Schaumburg, Hoffman Estates, Elk Grove Village, Streamwood and Hanover Park, which many people call northwest suburbs, are closest to the Milwaukee District West, so the railroad rule puts them in the west. The west suburbs list covers 48 of these towns, and also lists Bolingbrook and Burr Ridge, which this page groups with the southwest. Of the five towns just named, only Hanover Park is on it; Hoffman Estates, Elk Grove Village and Streamwood are on the northwest list, and Schaumburg is on neither.
The southwest suburbs
Two railroads run southwest: the SouthWest Service from Union Station to Manhattan and the Heritage Corridor to Joliet. They serve 35 towns and about 713,000 people. Service here is thin: the SouthWest Service tops out at 15 weekday trains toward downtown and the Heritage Corridor runs three. Joliet (150,445), the third-largest suburb, sits at the end of both the Heritage Corridor and the Rock Island, so it counts here and in the south, and it has the Rock Island’s trains as well. Bolingbrook, at 74,096 the largest suburb with no station, is closest to the Heritage Corridor’s Romeoville stop, 4.5 miles away. The southwest suburbs list covers 30 of these towns and New Lenox, which this page groups with the south by its Rock Island station; the five it leaves out, Evergreen Park, Hometown, Braidwood, Wilmington and Godley, are closest to a station inside the city or more than eight miles from any.
The south suburbs
Two railroads run south: the Metra Electric from Millennium Station to University Park and the Rock Island from LaSalle Street Station to Joliet. They serve 48 towns and about 779,000 people; after Joliet, Tinley Park (54,842) is the largest. The south pairs the lowest home values of the five parts, a middle of $186,800, with some of the busiest stations: 31 weekday trains toward downtown at Homewood on the Metra Electric and 39 at Blue Island’s Vermont Street on the Rock Island. The south suburbs list covers 46 of these towns; it leaves out Beecher and Peotone, more than eight miles from a station.
| Part of the suburbs | Metra lines | Towns | With a station | People | Middle home value | Middle rent | Typical morning ride |
|---|---|---|---|---|---|---|---|
| North | UP-N, MD-N, NCS | 56 | 30 | 1,010,370 | $393,750 | $1,663 | 30–98 min |
| Northwest | UP-NW | 44 | 12 | 671,949 | $353,300 | $1,614 | 34–92 min |
| West | MD-W, UP-W, BNSF, NCS | 87 | 41 | 2,151,749 | $339,100 | $1,529 | 17–77 min |
| Southwest | SWS, HC | 35 | 12 | 712,721 | $271,700 | $1,304 | 29–81 min |
| South | ME, RI | 48 | 20 | 778,991 | $186,800 | $1,314 | 34–67 min |
Read across the table and price is where the parts differ most. The middle home value runs from $393,750 among the north towns to $186,800 among the south; middle rents run from $1,663 to about $1,300. Our reading: between the north and the south, home values differ by about two to one and rents by about a quarter, so the parts are much further apart for buyers than for renters.
Which Chicago suburbs have a Metra station?
114 of the 267, holding 3.34 million people, about two-thirds of everyone in the suburbs. Another 136 towns are within eight miles of a suburban station in a straight line; the other 17 are farther out, or closest to a station inside the city.
A station is not the same as service. Weekday trains toward downtown reach 39 at Blue Island’s Vermont Street stop on the Rock Island and 35 at Evanston, Wilmette, Winnetka and Palatine. On the Heritage Corridor, Summit, Willow Springs, Lemont, Romeoville and Lockport get three, and all three reach Union Station between 6 and 9:30 a.m.; the UP Northwest’s McHenry branch also has three. Each line in the table above links to Metra’s own timetable.
Some large suburbs have no station at all: Bolingbrook (74,096 people), Skokie (66,219), Hoffman Estates (51,175) and Plainfield (46,708), which is 9.6 miles from the nearest one, in Aurora. Five towns along the city line, Evergreen Park, Hometown, Harwood Heights, Lincolnwood and Norridge, are closest to a station inside Chicago. This page counts Metra only; a few towns at the city’s edge, among them Evanston, Wilmette, Skokie, Oak Park, Forest Park, Cicero and Rosemont, also have stations on the CTA’s “L,” the city’s rapid-transit trains.
Which suburbs are closest to downtown by train?
By the timetable, Cicero: the BNSF’s typical morning train reaches Union Station in 17 minutes. Oak Park follows at 20 minutes on the UP West, then Berwyn at 23 and La Grange at 24. Ten station towns have a typical morning ride under half an hour, and nine of them are on the BNSF or the UP West, west of the city; the tenth, Summit, is 29 minutes out on the Heritage Corridor, with only those three trains. At the far end, Antioch’s ride is 98 minutes, on seven weekday trains toward downtown; Fox Lake and Lake Villa are at 93 minutes and Harvard at 92. Across all 114 station towns, the middle typical ride is 46 minutes.
“Typical” here is the median scheduled trip on trains reaching downtown between 6 and 9:30 a.m. from the town’s busiest station; a town without a station takes the ride from the one closest to it, which still has to be reached first.
What are the wealthiest suburbs of Chicago?
By the two Census measures on this page, household income and home value, the answer is a short list. Five towns have a median household income at the survey’s top reported value, $250,000 or more: Hinsdale, Kenilworth, Kildeer, Long Grove and Winnetka. Five have a median home value of $1 million or more: Kenilworth ($1,560,300); Glencoe ($1,432,500); Winnetka ($1,337,800); Hinsdale ($1,053,700); Bannockburn ($1,037,200). Kenilworth, Winnetka and Glencoe are on the North Shore; Long Grove and Bannockburn are inland north towns without a station; Kildeer is in the northwest; and Hinsdale, on the BNSF, is the one west suburb on either list.
Which Chicago suburbs have the lowest home values and rents?
Home values are lowest in south Cook County. Among estimates whose margin of error is no more than a quarter of the estimate (the table marks the others with an asterisk), the lowest median home values are in Harvey ($88,100), Phoenix ($96,200), Sauk Village ($110,800), Riverdale ($113,800), Park Forest ($115,300) and Robbins ($121,300). The lowest rents are more spread out. Harvey has the lowest median rent, $960 a month, followed by Peotone ($979), Chicago Heights ($1,038), Braidwood ($1,044) and Fox Lake ($1,047); the Census measure here is gross rent, what tenants pay including the utilities they pay themselves. Across all 267 towns, the middle median home value is $321,900 and the middle median rent $1,493 a month.
Does a longer ride buy a lower price? It depends on the direction. On the north lines, station towns with a typical morning ride under 50 minutes have a middle home value of $652,300, against $309,500 for those at 50 minutes or more; on the northwest line, $397,400 against $298,900. On the south lines it runs the other way, $185,300 closer in against $250,600 farther out, and on the southwest lines $256,900 against $324,300. On the west lines the two are about even, $344,700 and $356,250. Our reading: trading minutes for a lower price is the pattern on the north and northwest lines; on the south and southwest lines the lower prices are in the towns closer in.
What are the largest suburbs of Chicago?
Aurora, with 179,898 people, then Naperville (150,692) and Joliet (150,445), each with its own Metra station. Elgin (114,934), Waukegan (89,076), Cicero (82,797), Schaumburg (76,868), Evanston (76,340), Arlington Heights (76,005) and Bolingbrook (74,096) complete the ten.
List of Chicago suburbs
All 267, alphabetical, with each town’s county, its part of the suburbs, its Metra station or the closest one, the typical morning ride from that station, and the Census population, median home value, median household income and median rent.
| Town | County | Part | Metra station, or the closest one | Typical morning ride | Population | Median home value | Median household income | Median rent |
|---|---|---|---|---|---|---|---|---|
| Addison | DuPage | West | none; closest Wood Dale (MD-W), 2.8 mi | 44 min | 35,489 | $341,300 | $90,431 | $1,245 |
| Algonquin | McHenry | Northwest | none; closest Pingree Road (UP-NW), 5.3 mi | 68 min | 30,067 | $351,000 | $134,525 | $1,723 |
| Alsip | Cook | South | none; closest Robbins (RI), 3.0 mi | 34 min | 18,583 | $225,000 | $66,585 | $1,140 |
| Antioch | Lake | North | Antioch (NCS) | 98 min | 14,859 | $306,700 | $108,899 | $1,129 |
| Arlington Heights | Cook | Northwest | Arlington Heights (UP-NW), +1 more | 40 min | 76,005 | $414,500 | $116,723 | $1,760 |
| Aurora | Kane | West | Route 59 (BNSF), +1 more | 49 min | 179,898 | $274,800 | $93,633 | $1,596 |
| Bannockburn | Lake | North | none; closest Deerfield (MD-N), 2.0 mi | 48 min | 1,148 | $1,037,200 | $214,000* | — |
| Barrington | Cook | Northwest | Barrington (UP-NW) | 55 min | 11,077 | $582,500 | $147,989 | $1,500* |
| Barrington Hills | Cook | Northwest | none; closest Barrington (UP-NW), 3.8 mi | 55 min | 3,879 | $913,600 | $205,074 | $3,282 |
| Bartlett | DuPage | West | Bartlett (MD-W) | 60 min | 40,501 | $375,700 | $133,240 | $1,883 |
| Batavia | Kane | West | none; closest Geneva (UP-W), 2.3 mi | 65 min | 27,151 | $387,400 | $120,056 | $1,347 |
| Beach Park | Lake | North | none; closest Zion (UP-N), 3.0 mi | 80 min | 14,115 | $245,800 | $85,664 | $1,254 |
| Bedford Park | Cook | Southwest | none; closest Summit (HC), 2.7 mi | 29 min | 586 | $271,700 | $99,000* | $1,841* |
| Beecher | Will | South | none; closest University Park (ME), 9.3 mi | 62 min | 4,728 | $269,500 | $103,415 | $1,078 |
| Bellwood | Cook | West | Bellwood (UP-W) | 34 min | 18,256 | $230,000 | $79,513 | $1,293 |
| Bensenville | DuPage | West | Bensenville (MD-W) | 40 min | 18,603 | $272,000 | $79,515 | $1,407 |
| Berkeley | Cook | West | Berkeley (UP-W) | 37 min | 5,199 | $246,900 | $85,823 | $1,434 |
| Berwyn | Cook | West | Berwyn (BNSF), +2 more | 23 min | 55,595 | $299,800 | $78,408 | $1,215 |
| Big Rock | Kane | West | none; closest Elburn (UP-W), 9.1 mi | 77 min | 1,548 | $337,900 | $162,854 | — |
| Bloomingdale | DuPage | West | none; closest Roselle (MD-W), 2.4 mi | 49 min | 22,457 | $376,500 | $102,928 | $1,603 |
| Blue Island | Cook | South | Blue Island-Vermont (RI), +5 more | 44 min | 21,741 | $178,700 | $59,489 | $1,072 |
| Bolingbrook | Will | Southwest | none; closest Romeoville (HC), 4.5 mi | 54 min | 74,096 | $314,700 | $108,400 | $1,749 |
| Braidwood | Will | Southwest | none; closest Manhattan (SWS), 15.9 mi | 81 min | 6,062 | $202,500 | $82,202 | $1,044 |
| Bridgeview | Cook | Southwest | none; closest Chicago Ridge (SWS), 2.9 mi | 42 min | 16,849 | $236,400 | $66,655 | $1,177 |
| Broadview | Cook | West | none; closest Melrose Park (UP-W), 2.2 mi | 31 min | 7,896 | $252,200 | $64,697 | $1,099 |
| Brookfield | Cook | West | Brookfield (BNSF), +2 more | 33 min | 19,331 | $332,400 | $110,295 | $1,414 |
| Buffalo Grove | Lake | North | Buffalo Grove (NCS), +1 more | 61 min | 42,891 | $412,300 | $129,395 | $2,037 |
| Bull Valley | McHenry | Northwest | none; closest Woodstock (UP-NW), 4.4 mi | 79 min | 1,269 | $477,900 | $191,250 | $3,500+ |
| Burbank | Cook | Southwest | none; closest Oak Lawn Patriot (SWS), 2.0 mi | 38 min | 28,739 | $275,700 | $80,116 | $1,265 |
| Burlington | Kane | West | none; closest Big Timber (MD-W), 12.4 mi | 76 min | 425 | $296,200 | $84,219 | $1,517* |
| Burnham | Cook | South | none; closest Riverdale (ME), 4.1 mi | 34 min | 3,937 | $161,300 | $57,790 | $1,208 |
| Burr Ridge | DuPage | Southwest | none; closest Willow Springs (HC), 2.4 mi | 37 min | 11,141 | $700,400 | $156,829* | $3,500+ |
| Calumet City | Cook | South | none; closest 147th St. (ME), 5.4 mi | 38 min | 35,100 | $145,200 | $55,369 | $1,177 |
| Calumet Park | Cook | South | Ashland (ME, Blue Island branch) | 62 min | 6,855 | $184,700 | $53,556 | $1,288 |
| Campton Hills | Kane | West | none; closest La Fox (UP-W), 4.4 mi | 73 min | 10,877 | $547,500 | $209,134 | $1,750* |
| Carol Stream | DuPage | West | none; closest Winfield (UP-W), 3.7 mi | 53 min | 39,460 | $335,000 | $102,309 | $1,529 |
| Carpentersville | Kane | West | none; closest Big Timber (MD-W), 4.8 mi | 76 min | 37,346 | $234,100 | $86,917 | $1,414 |
| Cary | McHenry | Northwest | Cary (UP-NW) | 72 min | 17,923 | $309,800 | $113,026 | $1,428 |
| Chicago Heights | Cook | South | none; closest Olympia Fields (ME), 3.0 mi | 50 min | 26,736 | $161,000 | $54,798 | $1,038 |
| Chicago Ridge | Cook | Southwest | Chicago Ridge (SWS) | 42 min | 14,099 | $226,900 | $68,964 | $1,304 |
| Cicero | Cook | West | Cicero (BNSF) | 17 min | 82,797 | $249,400 | $70,842 | $1,154 |
| Clarendon Hills | DuPage | West | Clarendon Hills (BNSF) | 39 min | 8,659 | $605,800 | $130,388 | $1,142 |
| Country Club Hills | Cook | South | none; closest Flossmoor (ME), 2.8 mi | 46 min | 16,324 | $192,000 | $75,197 | $1,709 |
| Countryside | Cook | West | none; closest Western Springs (BNSF), 2.7 mi | 29 min | 6,267 | $324,700 | $80,968 | $1,180 |
| Crest Hill | Will | Southwest | none; closest Lockport (HC), 2.8 mi | 60 min | 20,628 | $232,900 | $73,033 | $1,481 |
| Crestwood | Cook | South | none; closest Midlothian (RI), 2.0 mi | 37 min | 10,579 | $195,200 | $75,752 | $1,334 |
| Crete | Will | South | none; closest University Park (ME), 5.3 mi | 62 min | 8,386 | $228,500 | $97,147 | $1,309* |
| Crystal Lake | McHenry | Northwest | Pingree Road (UP-NW), +1 more | 68 min | 40,579 | $311,400 | $108,418 | $1,468 |
| Darien | DuPage | West | none; closest Westmont (BNSF), 3.5 mi | 42 min | 21,879 | $398,700 | $111,215 | $1,857 |
| Deer Park | Lake | Northwest | none; closest Barrington (UP-NW), 2.5 mi | 55 min | 3,711 | $661,300 | $174,458 | $2,754 |
| Deerfield | Lake | North | Deerfield (MD-N), +1 more | 48 min | 19,518 | $623,400 | $181,660 | $2,482 |
| Des Plaines | Cook | Northwest | Des Plaines (UP-NW), +1 more | 41 min | 59,156 | $335,600 | $97,875 | $1,606 |
| Dixmoor | Cook | South | none; closest Robbins (RI), 1.5 mi | 34 min | 2,948 | $84,400* | $44,600* | $1,272 |
| Dolton | Cook | South | none; closest Ivanhoe (ME), 1.7 mi | 36 min | 20,825 | $151,300 | $57,887 | $1,384 |
| Downers Grove | DuPage | West | Downers Grove (BNSF), +2 more | 30 min | 50,054 | $449,800 | $115,114 | $1,656 |
| East Dundee | Kane | West | none; closest Elgin (MD-W), 4.7 mi | 72 min | 3,146 | $300,000 | $89,583 | $1,277 |
| East Hazel Crest | Cook | South | Calumet (ME) | 44 min | 1,068 | $158,300* | $54,950 | $1,504 |
| Elburn | Kane | West | Elburn (UP-W) | 77 min | 6,354 | $389,300 | $127,731 | $1,708* |
| Elgin | Kane | West | National St (MD-W), +1 more | 70 min | 114,934 | $273,000 | $90,282 | $1,361 |
| Elk Grove Village | Cook | West | none; closest Itasca (MD-W), 2.6 mi | 48 min | 31,987 | $347,100 | $94,175 | $1,618 |
| Elmhurst | DuPage | West | Elmhurst (UP-W) | 29 min | 45,671 | $545,400 | $149,644 | $1,975 |
| Elmwood Park | Cook | West | Elmwood Park (MD-W) | 31 min | 23,868 | $339,300 | $91,955 | $1,334 |
| Elwood | Will | Southwest | none; closest Manhattan (SWS), 6.6 mi | 81 min | 2,001 | $237,500 | $86,458 | $1,201* |
| Evanston | Cook | North | Evanston (Davis St.) (UP-N), +2 more | 30 min | 76,340 | $481,200 | $96,434 | $1,762 |
| Evergreen Park | Cook | Southwest | none; closest Ashburn (SWS), 1.5 mi | 33 min | 19,420 | $267,500 | $95,719 | $1,420 |
| Flossmoor | Cook | South | Flossmoor (ME) | 46 min | 9,391 | $344,800 | $133,663 | $2,164* |
| Ford Heights | Cook | South | none; closest Flossmoor (ME), 5.5 mi | 46 min | 1,331 | $66,300* | $36,053* | $1,056 |
| Forest Park | Cook | West | none; closest River Forest (UP-W), 1.4 mi | 26 min | 13,943 | $304,700 | $77,221 | $1,367 |
| Forest View | Cook | West | none; closest Lavergne (BNSF), 1.9 mi | 22 min | 1,174 | $260,500 | $89,702* | — |
| Fox Lake | Lake | North | Fox Lake (MD-N), +1 more | 93 min | 11,131 | $228,100 | $70,819 | $1,047 |
| Fox River Grove | McHenry | Northwest | Fox River Grove (UP-NW) | 68 min | 4,523 | $298,900 | $121,506 | $2,210* |
| Frankfort | Will | South | none; closest Mokena (RI), 1.8 mi | 49 min | 20,651 | $481,200 | $154,375 | $2,442* |
| Franklin Park | Cook | West | Franklin Park (MD-W), +2 more | 38 min | 18,197 | $287,000 | $76,519 | $1,109 |
| Geneva | Kane | West | Geneva (UP-W) | 65 min | 21,258 | $441,400 | $144,341 | $1,768 |
| Gilberts | Kane | West | none; closest Big Timber (MD-W), 4.2 mi | 76 min | 8,606 | $347,300 | $146,333 | $1,901* |
| Glen Ellyn | DuPage | West | Glen Ellyn (UP-W) | 42 min | 28,390 | $544,000 | $140,938 | $1,433 |
| Glencoe | Cook | North | Glencoe (UP-N) | 48 min | 8,701 | $1,432,500 | $248,933 | $2,211* |
| Glendale Heights | DuPage | West | none; closest Glen Ellyn (UP-W), 3.0 mi | 42 min | 32,808 | $261,700 | $86,545 | $1,590 |
| Glenview | Cook | North | Glenview (MD-N), +1 more | 35 min | 47,752 | $609,600 | $143,056 | $2,148 |
| Glenwood | Cook | South | none; closest Homewood (ME), 3.3 mi | 46 min | 8,603 | $198,100 | $77,391 | $1,493 |
| Godley | Will | Southwest | none; closest Manhattan (SWS), 17.8 mi | 81 min | 602 | $144,600* | $53,438* | $1,386 |
| Golf | Cook | North | Golf (MD-N) | 41 min | 518 | $954,700 | $242,772 | — |
| Grayslake | Lake | North | Grayslake (MD-N), +1 more | 73 min | 20,929 | $309,500 | $113,972 | $1,485 |
| Green Oaks | Lake | North | none; closest Libertyville (MD-N), 2.4 mi | 63 min | 4,096 | $673,100 | $147,614* | $1,356* |
| Greenwood | McHenry | Northwest | none; closest Woodstock (UP-NW), 6.3 mi | 79 min | 502 | $415,900 | $131,250* | $1,366 |
| Gurnee | Lake | North | none; closest Prairie Crossing (MD-N), 5.3 mi | 69 min | 30,510 | $344,300 | $119,628 | $1,655 |
| Hainesville | Lake | North | none; closest Grayslake (MD-N), 1.5 mi | 73 min | 3,524 | $210,500 | $129,911 | $1,225 |
| Hampshire | Kane | West | none; closest Big Timber (MD-W), 9.9 mi | 76 min | 8,524 | $329,800 | $94,773 | $2,589 |
| Hanover Park | DuPage | West | Hanover Park (MD-W) | 56 min | 36,732 | $274,200 | $91,763 | $1,594 |
| Harvard | McHenry | Northwest | Harvard (UP-NW) | 92 min | 9,598 | $175,400 | $67,617 | $1,183 |
| Harvey | Cook | South | 147th St. (ME), +1 more | 38 min | 20,230 | $88,100 | $42,429 | $960 |
| Harwood Heights | Cook | Northwest | none; closest Gladstone Park (UP-NW), 1.7 mi | 25 min | 8,821 | $321,900 | $81,086 | $1,236 |
| Hawthorn Woods | Lake | North | none; closest Mundelein (NCS), 4.2 mi | 75 min | 9,143 | $619,100 | $219,631 | — |
| Hazel Crest | Cook | South | Hazel Crest (ME) | 42 min | 13,792 | $185,300 | $68,393 | $1,320 |
| Hebron | McHenry | Northwest | none; closest Harvard (UP-NW), 9.9 mi | 92 min | 1,261 | $208,100 | $85,375* | $1,118 |
| Hickory Hills | Cook | Southwest | none; closest Willow Springs (HC), 2.7 mi | 37 min | 14,526 | $288,000 | $77,262 | $1,145 |
| Highland Park | Lake | North | Highland Park (UP-N), +2 more | 56 min | 30,398 | $607,300 | $168,094 | $1,925 |
| Highwood | Lake | North | Highwood (UP-N), +1 more | 49 min | 5,301 | $405,400* | $107,875 | $1,900 |
| Hillside | Cook | West | none; closest Bellwood (UP-W), 1.9 mi | 34 min | 8,084 | $246,800 | $72,320 | $1,320 |
| Hinsdale | DuPage | West | Hinsdale (BNSF), +2 more | 34 min | 17,175 | $1,053,700 | $250,000+ | $1,924 |
| Hodgkins | Cook | Southwest | none; closest Willow Springs (HC), 2.4 mi | 37 min | 1,597 | $45,800* | $62,417* | $1,050 |
| Hoffman Estates | Cook | West | none; closest Hanover Park (MD-W), 5.3 mi | 56 min | 51,175 | $351,900 | $106,806 | $1,734 |
| Holiday Hills | McHenry | Northwest | none; closest McHenry (UP-NW), 4.1 mi | 82 min | 634 | $220,600 | $74,083 | $1,850* |
| Homer Glen | Will | Southwest | none; closest Orland Park 179th (SWS), 3.8 mi | 65 min | 24,529 | $418,800 | $136,678 | $1,861 |
| Hometown | Cook | Southwest | none; closest Ashburn (SWS), 1.2 mi | 33 min | 4,215 | $173,400 | $61,101 | $678* |
| Homewood | Cook | South | Homewood (ME) | 46 min | 19,294 | $221,100 | $100,139 | $1,333 |
| Huntley | McHenry | Northwest | none; closest Crystal Lake (UP-NW), 8.4 mi | 80 min | 28,005 | $334,300 | $88,536 | $1,622 |
| Indian Creek | Lake | North | none; closest Vernon Hills (NCS), 1.1 mi | 69 min | 874 | $450,800 | $164,250 | $3,500+ |
| Indian Head Park | Cook | Southwest | none; closest Willow Springs (HC), 2.6 mi | 37 min | 3,974 | $356,600 | $100,149 | $1,746 |
| Inverness | Cook | Northwest | none; closest Palatine (UP-NW), 2.7 mi | 48 min | 7,275 | $715,600 | $207,434 | — |
| Island Lake | McHenry | Northwest | none; closest Cary (UP-NW), 5.3 mi | 72 min | 8,014 | $262,500 | $103,156 | $1,874 |
| Itasca | DuPage | West | Itasca (MD-W) | 48 min | 9,355 | $390,800 | $114,294 | $1,892 |
| Johnsburg | McHenry | Northwest | none; closest McHenry (UP-NW), 3.1 mi | 82 min | 6,386 | $328,300 | $121,023 | $1,128 |
| Joliet | Will | Southwest / South | Joliet (HC/RI) | 67 min | 150,445 | $265,800 | $92,201 | $1,276 |
| Justice | Cook | Southwest | none; closest Willow Springs (HC), 3.0 mi | 37 min | 12,324 | $238,400 | $57,170 | $1,247 |
| Kaneville | Kane | West | none; closest Elburn (UP-W), 5.0 mi | 77 min | 523 | $318,100 | $86,875* | $875* |
| Kenilworth | Cook | North | Kenilworth (UP-N) | 38 min | 2,503 | $1,560,300 | $250,000+ | — |
| Kildeer | Lake | Northwest | none; closest Barrington (UP-NW), 4.7 mi | 55 min | 4,292 | $770,700 | $250,000+ | — |
| La Grange | Cook | West | LaGrange Road (BNSF), +1 more | 24 min | 15,998 | $594,300 | $159,929 | $1,856 |
| La Grange Park | Cook | West | none; closest LaGrange Road (BNSF), 1.0 mi | 24 min | 13,447 | $439,800 | $120,408 | $1,442 |
| Lake Barrington | Lake | Northwest | none; closest Fox River Grove (UP-NW), 2.7 mi | 68 min | 5,442 | $475,700 | $141,958 | $3,500+ |
| Lake Bluff | Lake | North | Lake Bluff (UP-N) | 59 min | 6,041 | $776,700 | $204,000 | $2,063* |
| Lake Forest | Lake | North | Lake Forest (MD-N), +1 more | 54 min | 19,416 | $938,300 | $235,081 | $1,815 |
| Lake Villa | Lake | North | Lake Villa (NCS) | 93 min | 8,683 | $351,700 | $118,750 | $1,533 |
| Lake Zurich | Lake | Northwest | none; closest Barrington (UP-NW), 3.7 mi | 55 min | 19,832 | $435,300 | $135,968 | $1,909 |
| Lake in the Hills | McHenry | Northwest | none; closest Pingree Road (UP-NW), 3.9 mi | 68 min | 28,800 | $321,900 | $117,151 | $1,689 |
| Lakemoor | McHenry | Northwest | none; closest McHenry (UP-NW), 3.8 mi | 82 min | 6,467 | $265,500 | $100,414 | $1,726 |
| Lakewood | McHenry | Northwest | none; closest Crystal Lake (UP-NW), 3.8 mi | 80 min | 4,707 | $552,600 | $173,625 | — |
| Lansing | Cook | South | none; closest Harvey (ME), 5.9 mi | 40 min | 28,284 | $177,000 | $75,569 | $1,268 |
| Lemont | Cook | Southwest | Lemont (HC) | 46 min | 17,820 | $468,800 | $123,370 | $1,209* |
| Libertyville | Lake | North | Libertyville (MD-N) | 63 min | 20,525 | $512,000 | $165,667 | $1,637 |
| Lily Lake | Kane | West | none; closest Elburn (UP-W), 4.6 mi | 77 min | 1,293 | $418,800 | $140,313 | $1,500* |
| Lincolnshire | Lake | North | none; closest Prairie View (NCS), 2.0 mi | 66 min | 7,980 | $677,700 | $185,580 | $2,858 |
| Lincolnwood | Cook | North | none; closest Edgebrook (MD-N), 1.8 mi | 32 min | 13,112 | $496,400 | $109,731 | $3,500+ |
| Lindenhurst | Lake | North | none; closest Lake Villa (NCS), 2.7 mi | 93 min | 14,417 | $294,100 | $131,474 | $1,768 |
| Lisle | DuPage | West | Lisle (BNSF) | 37 min | 23,407 | $406,800 | $107,479 | $1,658 |
| Lockport | Will | Southwest | Lockport (HC) | 60 min | 26,409 | $316,000 | $111,981 | $1,525 |
| Lombard | DuPage | West | Lombard (UP-W) | 44 min | 43,619 | $335,700 | $100,362 | $1,948 |
| Long Grove | Lake | North | none; closest Vernon Hills (NCS), 2.8 mi | 69 min | 8,305 | $804,600 | $250,000+ | $3,500+ |
| Lynwood | Cook | South | none; closest Homewood (ME), 6.7 mi | 46 min | 9,083 | $218,000 | $85,237* | $1,368 |
| Lyons | Cook | West | none; closest Riverside (BNSF), 1.0 mi | 28 min | 10,339 | $257,300 | $70,993 | $1,198 |
| Manhattan | Will | Southwest | Manhattan (SWS) | 81 min | 11,026 | $332,600 | $128,522 | $1,213 |
| Marengo | McHenry | Northwest | none; closest Woodstock (UP-NW), 9.1 mi | 79 min | 7,040 | $229,900 | $73,523* | $1,176 |
| Markham | Cook | South | none; closest Hazel Crest (ME), 2.1 mi | 42 min | 11,355 | $135,300 | $57,302 | $1,621 |
| Matteson | Cook | South | Matteson (ME) | 54 min | 18,645 | $250,600 | $95,457 | $1,580* |
| Maywood | Cook | West | Maywood (UP-W) | 29 min | 23,201 | $229,800 | $68,815 | $1,209 |
| McCook | Cook | West | none; closest Brookfield (BNSF), 1.6 mi | 33 min | 268 | $332,100 | $62,375* | $1,295 |
| McCullom Lake | McHenry | Northwest | none; closest McHenry (UP-NW), 2.0 mi | 82 min | 1,017 | $178,600 | $72,791 | $1,443 |
| McHenry | McHenry | Northwest | McHenry (UP-NW) | 82 min | 28,074 | $266,500 | $86,315 | $1,553 |
| Melrose Park | Cook | West | Melrose Park (UP-W) | 31 min | 24,549 | $275,800 | $66,189 | $1,176 |
| Merrionette Park | Cook | South | none; closest 119th St. (RI), 1.5 mi | 38 min | 2,354 | $173,400 | $56,515 | $1,296 |
| Mettawa | Lake | North | none; closest Lake Forest (MD-N), 2.8 mi | 54 min | 663 | $871,500 | $181,333 | — |
| Midlothian | Cook | South | Midlothian (RI) | 37 min | 13,948 | $207,000 | $70,000 | $1,249 |
| Mokena | Will | South | Hickory Creek (RI), +1 more | 44 min | 20,021 | $401,400 | $123,889 | $1,254 |
| Monee | Will | South | none; closest University Park (ME), 3.2 mi | 62 min | 5,108 | $240,500 | $91,969 | $1,477 |
| Morton Grove | Cook | North | Morton Grove (MD-N) | 30 min | 24,619 | $389,100 | $111,116 | $2,164 |
| Mount Prospect | Cook | Northwest | Mt. Prospect (UP-NW) | 35 min | 55,472 | $397,400 | $101,720 | $1,502 |
| Mundelein | Lake | North | Mundelein (NCS) | 75 min | 31,915 | $309,700 | $108,340 | $1,566 |
| Naperville | DuPage | West | Naperville (BNSF) | 43 min | 150,692 | $540,200 | $155,105 | $1,885 |
| New Lenox | Will | South | New Lenox (RI), +1 more | 55 min | 28,006 | $399,900 | $140,865 | $1,431 |
| Niles | Cook | North | none; closest Morton Grove (MD-N), 1.4 mi | 30 min | 30,064 | $358,700 | $75,274 | $1,336 |
| Norridge | Cook | Northwest | none; closest Norwood Park (UP-NW), 2.3 mi | 28 min | 15,439 | $374,900 | $87,807 | $1,433 |
| North Aurora | Kane | West | none; closest Aurora (BNSF), 3.7 mi | 58 min | 18,696 | $342,100 | $114,305 | $1,504 |
| North Barrington | Lake | Northwest | none; closest Barrington (UP-NW), 3.7 mi | 55 min | 3,143 | $765,900 | $226,055 | $2,679* |
| North Chicago | Lake | North | Great Lakes (UP-N), +1 more | 63 min | 30,643 | $159,600 | $60,172 | $1,426 |
| North Riverside | Cook | West | none; closest Riverside (BNSF), 1.3 mi | 28 min | 7,249 | $297,800 | $77,170 | $1,301 |
| Northbrook | Cook | North | Northbrook (MD-N) | 42 min | 34,585 | $652,300 | $157,782 | $2,463 |
| Northfield | Cook | North | none; closest Glen/N. Glenview (MD-N), 2.0 mi | 48 min | 5,487 | $878,300 | $161,500* | $2,083* |
| Northlake | Cook | West | none; closest Berkeley (UP-W), 1.4 mi | 37 min | 12,513 | $259,800 | $83,892 | $1,123 |
| Oak Brook | DuPage | West | none; closest West Hinsdale (BNSF), 2.6 mi | 37 min | 8,056 | $903,200 | $175,870 | $2,590 |
| Oak Forest | Cook | South | Oak Forest (RI) | 41 min | 26,805 | $255,100 | $91,990 | $1,328 |
| Oak Lawn | Cook | Southwest | Oak Lawn Patriot (SWS) | 38 min | 56,861 | $281,200 | $83,911 | $1,335 |
| Oak Park | Cook | West | Oak Park (UP-W) | 20 min | 53,292 | $465,500 | $110,820 | $1,593 |
| Oakbrook Terrace | DuPage | West | none; closest Villa Park (UP-W), 3.0 mi | 40 min | 2,723 | $372,400 | $76,905 | $1,875 |
| Oakwood Hills | McHenry | Northwest | none; closest Cary (UP-NW), 2.7 mi | 72 min | 2,416 | $282,300 | $109,907 | $1,886 |
| Old Mill Creek | Lake | North | none; closest Lake Villa (NCS), 5.1 mi | 93 min | 143 | $450,000* | $108,333* | $1,688 |
| Olympia Fields | Cook | South | Olympia Fields (ME) | 50 min | 4,734 | $329,000 | $123,875* | $3,500+ |
| Orland Hills | Cook | Southwest | none; closest Orland Park 153rd (SWS), 2.1 mi | 59 min | 6,719 | $280,300 | $122,039 | $1,359 |
| Orland Park | Cook | Southwest | Orland Park 143rd (SWS), +1 more | 55 min | 57,916 | $367,200 | $98,910 | $1,440 |
| Palatine | Cook | Northwest | Palatine (UP-NW) | 48 min | 66,293 | $355,600 | $97,819 | $1,549 |
| Palos Heights | Cook | Southwest | none; closest Palos Park (SWS), 1.3 mi | 51 min | 12,152 | $367,100 | $108,740 | $2,558* |
| Palos Hills | Cook | Southwest | none; closest Palos Heights (SWS), 1.6 mi | 48 min | 18,081 | $279,200 | $83,533 | $1,269 |
| Palos Park | Cook | Southwest | Palos Park (SWS) | 51 min | 4,816 | $464,700 | $121,696 | — |
| Park City | Lake | North | none; closest Waukegan (UP-N), 3.3 mi | 70 min | 7,827 | $57,400* | $60,171 | $1,110 |
| Park Forest | Cook | South | 211th St. (ME) | 52 min | 21,156 | $115,300 | $61,072 | $1,365 |
| Park Ridge | Cook | Northwest | Park Ridge (UP-NW), +1 more | 34 min | 38,667 | $551,200 | $142,986 | $1,537 |
| Peotone | Will | South | none; closest University Park (ME), 9.7 mi | 62 min | 4,587 | $271,000 | $108,523* | $979 |
| Phoenix | Cook | South | none; closest Harvey (ME), 0.7 mi | 40 min | 1,751 | $96,200 | $30,288* | $994* |
| Pingree Grove | Kane | West | none; closest Big Timber (MD-W), 5.7 mi | 76 min | 10,914 | $320,800 | $114,294 | $3,500+ |
| Plainfield | Will | West | none; closest Aurora (BNSF), 9.6 mi | 58 min | 46,708 | $431,400 | $144,000 | $2,119 |
| Port Barrington | Lake | Northwest | none; closest Cary (UP-NW), 3.4 mi | 72 min | 1,477 | $379,600 | $149,886 | $1,900* |
| Posen | Cook | South | none; closest Robbins (RI), 0.9 mi | 34 min | 5,292 | $172,900 | $73,051 | $1,372 |
| Prairie Grove | McHenry | Northwest | none; closest Pingree Road (UP-NW), 3.1 mi | 68 min | 2,165 | $467,600 | $141,389 | $1,917* |
| Prospect Heights | Cook | North | Prospect Hts (NCS) | 52 min | 15,618 | $346,500 | $85,008 | $1,475 |
| Richmond | McHenry | North | none; closest Fox Lake (MD-N), 7.9 mi | 93 min | 2,622 | $238,600 | $73,029 | $1,220 |
| Richton Park | Cook | South | Richton Park (ME) | 58 min | 12,521 | $220,900 | $64,554 | $1,294 |
| Ringwood | McHenry | Northwest | none; closest McHenry (UP-NW), 4.0 mi | 82 min | 730 | $386,400 | $143,750* | $1,025* |
| River Forest | Cook | West | River Forest (UP-W) | 26 min | 11,992 | $687,300 | $146,786 | $1,554 |
| River Grove | Cook | West | River Grove (MD-W/NCS) | 34 min | 10,451 | $241,800 | $69,858 | $1,214 |
| Riverdale | Cook | South | Riverdale (ME), +1 more | 34 min | 10,340 | $113,800 | $39,833 | $1,231 |
| Riverside | Cook | West | Riverside (BNSF) | 28 min | 9,039 | $491,400 | $153,686 | $1,484 |
| Riverwoods | Lake | North | none; closest Deerfield (MD-N), 2.3 mi | 48 min | 4,013 | $800,700 | $249,205 | $1,842 |
| Robbins | Cook | South | Robbins (RI) | 34 min | 4,556 | $121,300 | $40,668* | $1,553* |
| Rockdale | Will | Southwest / South | none; closest Joliet (HC/RI), 2.7 mi | 67 min | 2,553 | $188,300 | $59,135 | $1,256 |
| Rolling Meadows | Cook | Northwest | none; closest Arlington Park (UP-NW), 1.6 mi | 44 min | 24,027 | $326,200 | $98,514 | $1,607 |
| Romeoville | Will | Southwest | Romeoville (HC) | 54 min | 41,152 | $257,100 | $106,325 | $1,886 |
| Roselle | DuPage | West | Roselle (MD-W) | 49 min | 22,752 | $344,700 | $111,318 | $1,641 |
| Rosemont | Cook | West | Rosemont (NCS) | 37 min | 3,290 | $344,900 | $63,517 | $1,085 |
| Round Lake | Lake | North | Round Lake (MD-N) | 78 min | 18,628 | $278,600 | $111,977 | $1,710 |
| Round Lake Beach | Lake | North | Round Lake Beach (NCS) | 89 min | 27,079 | $199,200 | $86,059 | $1,543 |
| Round Lake Heights | Lake | North | none; closest Long Lake (MD-N), 1.6 mi | 82 min | 2,592 | $216,800 | $78,986 | $1,453 |
| Round Lake Park | Lake | North | none; closest Round Lake (MD-N), 1.2 mi | 78 min | 7,919 | $164,900 | $55,813 | $1,402 |
| Sauk Village | Cook | South | none; closest Olympia Fields (ME), 6.5 mi | 50 min | 9,678 | $110,800 | $69,973 | $1,502 |
| Schaumburg | Cook | West | Schaumburg (MD-W) | 52 min | 76,868 | $330,400 | $97,514 | $1,812 |
| Schiller Park | Cook | West | Schiller Park (NCS) | 34 min | 11,393 | $275,000 | $69,696* | $1,221 |
| Shorewood | Will | Southwest / South | none; closest Joliet (HC/RI), 7.0 mi | 67 min | 18,343 | $337,800 | $122,105 | $1,479* |
| Skokie | Cook | North | none; closest Morton Grove (MD-N), 2.3 mi | 30 min | 66,219 | $387,200 | $95,337 | $1,552 |
| Sleepy Hollow | Kane | West | none; closest Big Timber (MD-W), 2.3 mi | 76 min | 3,161 | $382,800 | $149,813 | $1,363 |
| South Barrington | Cook | Northwest | none; closest Barrington (UP-NW), 4.6 mi | 55 min | 5,021 | $908,300 | $221,575 | $2,200* |
| South Chicago Heights | Cook | South | none; closest Matteson (ME), 3.5 mi | 54 min | 3,907 | $149,300 | $58,691 | $1,196 |
| South Elgin | Kane | West | none; closest National St (MD-W), 3.1 mi | 70 min | 24,217 | $339,100 | $127,203 | $1,640 |
| South Holland | Cook | South | none; closest Harvey (ME), 2.2 mi | 40 min | 20,911 | $217,200 | $85,280 | $1,856 |
| Spring Grove | McHenry | North | none; closest Fox Lake (MD-N), 4.7 mi | 93 min | 5,917 | $398,400 | $134,210 | — |
| St. Charles | Kane | West | none; closest Geneva (UP-W), 2.6 mi | 65 min | 32,854 | $377,400 | $114,300 | $1,819 |
| Steger | Cook | South | none; closest Matteson (ME), 4.7 mi | 54 min | 9,418 | $156,700 | $66,575 | $1,076 |
| Stickney | Cook | West | none; closest Lavergne (BNSF), 1.4 mi | 22 min | 6,952 | $244,900 | $66,942 | $1,154 |
| Stone Park | Cook | West | none; closest Bellwood (UP-W), 0.8 mi | 34 min | 4,482 | $242,100 | $67,224* | $1,412 |
| Streamwood | Cook | West | none; closest Bartlett (MD-W), 2.0 mi | 60 min | 39,001 | $271,200 | $101,218 | $1,809 |
| Sugar Grove | Kane | West | none; closest Aurora (BNSF), 7.3 mi | 58 min | 9,240 | $401,900 | $121,207 | $1,543* |
| Summit | Cook | Southwest | Summit (HC) | 29 min | 10,846 | $232,600 | $61,863 | $1,137 |
| Symerton | Will | Southwest | none; closest Manhattan (SWS), 7.2 mi | 81 min | 132 | $233,300* | $103,542* | — |
| Third Lake | Lake | North | none; closest Washington St (Grayslake) (NCS), 2.2 mi | 86 min | 1,137 | $361,500 | $150,139 | — |
| Thornton | Cook | South | none; closest Hazel Crest (ME), 2.1 mi | 42 min | 1,940 | $155,100 | $59,647 | $1,107 |
| Tinley Park | Cook | South | Tinley-80th (RI), +1 more | 51 min | 54,842 | $299,900 | $105,189 | $1,495 |
| Tower Lakes | Lake | Northwest | none; closest Fox River Grove (UP-NW), 3.9 mi | 68 min | 1,106 | $510,300 | $154,167 | — |
| Trout Valley | McHenry | Northwest | none; closest Cary (UP-NW), 1.0 mi | 72 min | 574 | $446,200 | $217,292 | — |
| Union | McHenry | Northwest | none; closest Woodstock (UP-NW), 7.7 mi | 79 min | 624 | $252,200 | $89,844* | $1,692 |
| University Park | Will | South | University Park (ME) | 62 min | 7,306 | $153,200 | $73,844 | $1,649 |
| Vernon Hills | Lake | North | Vernon Hills (NCS) | 69 min | 26,876 | $412,300 | $121,943 | $1,903 |
| Villa Park | DuPage | West | Villa Park (UP-W) | 40 min | 22,345 | $329,000 | $95,015 | $1,438 |
| Virgil | Kane | West | none; closest Elburn (UP-W), 5.6 mi | 77 min | 312 | $296,600 | $93,542* | $1,118 |
| Volo | Lake | North | none; closest Long Lake (MD-N), 3.0 mi | 82 min | 6,706 | $319,700 | $160,792 | $2,169 |
| Wadsworth | Lake | North | none; closest Zion (UP-N), 5.5 mi | 80 min | 3,686 | $378,900 | $142,738* | $994* |
| Warrenville | DuPage | West | none; closest Route 59 (BNSF), 3.2 mi | 49 min | 14,718 | $286,100 | $100,321 | $1,926 |
| Wauconda | Lake | North | none; closest Round Lake (MD-N), 5.7 mi | 78 min | 14,027 | $278,600 | $111,239 | $1,371 |
| Waukegan | Lake | North | Waukegan (UP-N) | 70 min | 89,076 | $190,900 | $71,919 | $1,205 |
| Wayne | DuPage | West | none; closest Bartlett (MD-W), 4.7 mi | 60 min | 2,562 | $642,700 | $161,719 | $2,850* |
| West Chicago | DuPage | West | West Chicago (UP-W) | 57 min | 25,395 | $336,800 | $99,927 | $1,469 |
| West Dundee | Kane | West | none; closest Big Timber (MD-W), 3.2 mi | 76 min | 7,906 | $360,800 | $105,368 | $1,666 |
| Westchester | Cook | West | none; closest Stone Ave. (BNSF), 2.5 mi | 26 min | 16,436 | $327,300 | $98,954 | $1,794 |
| Western Springs | Cook | West | Western Springs (BNSF) | 29 min | 13,446 | $739,400 | $230,255 | $2,006 |
| Westmont | DuPage | West | Westmont (BNSF) | 42 min | 23,724 | $379,100 | $88,090 | $1,533 |
| Wheaton | DuPage | West | College Ave (UP-W), +1 more | 45 min | 53,557 | $455,700 | $120,008 | $1,799 |
| Wheeling | Cook | North | Wheeling (NCS) | 56 min | 38,433 | $266,200 | $85,205 | $1,663 |
| Willow Springs | Cook | Southwest | Willow Springs (HC) | 37 min | 5,868 | $378,300 | $103,583 | $1,463* |
| Willowbrook | DuPage | West | none; closest Clarendon Hills (BNSF), 2.1 mi | 39 min | 9,131 | $358,600 | $99,239 | $1,747 |
| Wilmette | Cook | North | Wilmette (UP-N) | 36 min | 27,503 | $810,600 | $190,662 | $1,978 |
| Wilmington | Will | Southwest | none; closest Manhattan (SWS), 11.2 mi | 81 min | 5,494 | $223,800 | $66,154 | $888* |
| Winfield | DuPage | West | Winfield (UP-W) | 53 min | 10,095 | $386,300 | $135,795 | $1,493 |
| Winnetka | Cook | North | Winnetka (UP-N), +2 more | 42 min | 12,484 | $1,337,800 | $250,000+ | $1,842 |
| Winthrop Harbor | Lake | North | Winthrop Harbor (UP-N) | 84 min | 6,559 | $250,800 | $95,690 | $1,313 |
| Wonder Lake | McHenry | Northwest | none; closest McHenry (UP-NW), 4.7 mi | 82 min | 4,292 | $252,200 | $94,655 | — |
| Wood Dale | DuPage | West | Wood Dale (MD-W) | 44 min | 13,933 | $318,900 | $91,382 | $1,675 |
| Woodridge | DuPage | West | none; closest Belmont (BNSF), 4.0 mi | 34 min | 33,941 | $363,700 | $101,000 | $1,494 |
| Woodstock | McHenry | Northwest | Woodstock (UP-NW) | 79 min | 26,147 | $245,700 | $82,758 | $1,212 |
| Worth | Cook | Southwest | Worth (SWS), +1 more | 45 min | 10,700 | $215,000 | $56,288 | $1,169 |
| Zion | Lake | North | Zion (UP-N) | 80 min | 24,600 | $183,800 | $63,104 | $1,186 |
What this map and list can’t tell you
- On the recordWhich towns in the six counties are incorporated, which have a Metra station and, at each station, how many weekday trains run toward downtown and the scheduled morning ride. From Metra’s timetable feed and the Census Bureau’s gazetteer.
- On the recordEach town’s population, median home value, household income and rent, as Census five-year estimates for the whole town.
- Not establishedWhat any one home costs now. The home value is what owners told the survey their homes were worth, pooled over 2020 to 2024, and it trails the market.
- Not establishedSchools, property taxes or safety. None of the sources here measures them, and in Illinois school districts and taxing districts often do not line up with town borders.
- Not establishedHow long a drive takes, or whether trains run on time. Distances are straight lines and rides are the timetable’s.
How we counted
- Towns. Incorporated cities, towns and villages in the Census Bureau’s 2024 gazetteer whose internal point, the center point the Bureau publishes for each place, lies in Cook (outside Chicago), DuPage, Kane, Lake, McHenry or Will County, by the Census geocoder, plus any Illinois town with a Metra station of its own.
- Parts of the suburbs. The line at the town’s station with the most weekday trains toward downtown, or for a town without one, at its closest Metra station in a straight line from the internal point. North: UP North, Milwaukee District North and the North Central Service north of the city; northwest: UP Northwest; west: BNSF, UP West, Milwaukee District West and the North Central Service’s stops near O’Hare; southwest: SouthWest Service and Heritage Corridor; south: Metra Electric and Rock Island. Joliet’s station serves the Heritage Corridor and the Rock Island, so Joliet, Rockdale and Shorewood count in both the south and the southwest. The region lists were drawn with their own rules, so their counts, and a few placements, differ.
- Trains. Metra’s GTFS schedule feed, read October 20, 2026: weekday trains whose last stop is a downtown terminal, counted at each station they serve; morning rides use those arriving downtown from 6:00 to 9:30 a.m.
- Census figures. American Community Survey 2020–2024 five-year estimates, tables B01003, B25077, B19013 and B25064, from the Census Bureau’s table-based summary files. In the table, an asterisk marks a figure whose margin of error is more than a quarter of the estimate, and a dash means no estimate was published. The “middle” values for groups of towns are medians of the towns’ medians, not of every home.
- Map. Town and city boundaries from the Census Bureau’s TIGERweb incorporated places, simplified for drawing; route lines from the route shapes in Metra’s schedule feed.
- What we did not do. We did not rank or score the towns, and nothing here weighs schools, taxes or safety.
Compiled by KCM Desk from Metra’s schedule feed and Census Bureau files read October 20, 2026. Human-guided and edited — about this desk. If you spot an error, corrections come first.
Related Keep Chicagoland Moving coverage
- The North Suburbs of Chicago and the North Shore: A Map and List of 55 Towns On and Near Metra’s UP North, Milwaukee District North and North Central Service, With Train Times, Home Values and Rents
- The Northwest Suburbs of Chicago: 23 Towns Along the UP-NW Corridor, With the Numbers
- The West Suburbs of Chicago: 50 Towns by Train Line, With the Numbers
- The Southwest Suburbs of Chicago: A Map and List of 31 Towns On and Near the SouthWest Service and Heritage Corridor, With Train Times, Home Values and Rents
- The South Suburbs of Chicago: A Map and List of 46 Towns On and Near the Metra Electric and Rock Island Lines, With Train Times, Home Values and Rents
- The IRS Counted 162,000 People Leaving Cook County. The Top Destination Was DuPage.
- Moving To Chicago
- Chicago Transit, by the Numbers

