Cook Water Quality Report
118 cities ranked · Average grade: B+ · Illinois
Avg Score
80.1
Cities Ranked
118
Health Violations
96
PFAS Detected
14
80.1
County avg score
118
Cities ranked
87%
A or B grade
4%
D or F grade
96
Health violations
14
PFAS detected
Grade Distribution
How Cook cities scored
A
45
38%
Excellent
B
58
49%
Good
C
10
8%
Fair
D
3
3%
Poor
F
2
2%
Failing
Comparison
County vs Illinois average
▲ 0.4 pts above state average
City Map
Water quality across Cook
Each dot is a city, colored by grade. Click any city to view its full report.
Highlights
Top & bottom cities in Cook
County context
4
Superfund sites in Cook
99.2%
of residents on fluoridated water (CDC, 2020)
339
lbs/yr to surface water · top 10 TRI facilities
Industrial pollution
Top industrial polluters in Cook
Industrial polluters nearby
Facilities reporting the most surface-water releases in Cook, 2023.
Total reported releases to surface water: 339 lbs
| Facility | Top chemical | To surface water (lbs/yr) |
|---|---|---|
CID RECYCLING & DISPOSAL FACILITY CALUMET CITY, IL60409 | Ammonia | 101 |
CLEVELAND-CLIFFS RIVERDALE LLC RIVERDALE, IL60827 | Manganese And Manganese Compounds | 90 |
ENVIRITE OF ILLINOIS INC HARVEY, IL60426 | Zinc compounds | 52 |
REAL ALLOY RECYCLING LLC CHICAGO HEIGHTS, IL60411 | Copper And Copper Compounds | 48 |
ELKAY PLUMBING PRODUCTS CO BROADVIEW, IL60155 | Chromium | 16 |
+ 5 more facilities
Source: EPA Toxic Release Inventory (TRI) 2023
Superfund sites
Superfund sites in Cook
Superfund sites nearby
Federally tracked hazardous-waste sites within Cook on the EPA National Priorities List.
- ACME STEEL COKE PLANT
- ESTECH GENERAL CHEMICAL COMPANY
- LAKE CALUMET CLUSTER
- SCHROUD PROPERTY
Source: EPA Superfund National Priorities List
Full Rankings
All 118 cities in Cook
| # | City | Grade | Score | Score | Population | Violations | Issues |
|---|---|---|---|---|---|---|---|
| 1 | Hoffman Estates | A+ | 97.3 | 50K | 10 | Health | |
| 2 | Westhaven | A+ | 96.2 | 5K | 6 | Health Unresolved | |
| 3 | Bedford Park | A+ | 95.8 | 602 | 2 | Health | |
| 4 | Wheeling | A+ | 95.1 | 40K | 12 | Health Unresolved | |
| 5 | Evanston | A+ | 95 | 74K | 35 | Health Unresolved | |
| 6 | Buffalo Grove | A | 94 | 43K | 6 | Health Unresolved | |
| 7 | Countryside | A | 94 | 6K | 7 | Unresolved | |
| 8 | Hickory Hills | A | 93 | 15K | 4 | Health Unresolved | |
| 9 | Berkeley | A | 92.5 | 5K | 12 | Health Unresolved | |
| 10 | Palos Hills | A | 92.4 | 19K | 6 | Health Unresolved | |
| 11 | Rolling Meadows | A | 92 | 23K | 10 | Health Unresolved | |
| 12 | Hanover Park | A | 91.8 | 37K | 34 | Health Unresolved | |
| 13 | Hillside | A | 91.1 | 8K | 8 | Health Unresolved | |
| 14 | Park Forest | A | 91 | 22K | 41 | Health Unresolved | |
| 15 | Oak Park | A | 90.8 | 55K | 9 | Health Unresolved | |
| 16 | Worth | A | 90.8 | 11K | 14 | Health Unresolved | |
| 17 | La Grange Park | A | 90.4 | 13K | 5 | Health Unresolved | |
| 18 | Wilmette | A | 90.2 | 27K | 13 | Unresolved | |
| 19 | Winnetka | A | 90.1 | 12K | 13 | Unresolved | |
| 20 | Norridge | A- | 89.5 | 15K | 4 | Unresolved | |
| 21 | Streamwood | A- | 89.3 | 40K | 6 | Health Unresolved | |
| 22 | Schiller Park | A- | 89.3 | 12K | 18 | Health Unresolved | |
| 23 | Orland Park | A- | 89 | 59K | 5 | Unresolved | |
| 24 | Forest Park | A- | 88.6 | 23K | 10 | Health Unresolved | |
| 25 | Palos Heights | A- | 88.5 | 16K | 5 | Health Unresolved | |
| 26 | Bridgeview | A- | 87.9 | 16K | 3 | Unresolved | |
| 27 | Chicago Ridge | A- | 87.9 | 14K | 4 | Health Unresolved | |
| 28 | River Grove | A- | 87.6 | 10K | 10 | Health Unresolved | |
| 29 | East Hazel Crest | A- | 87.6 | 2K | 11 | Health Unresolved | |
| 30 | Elk Grove | A- | 87.5 | 35K | 11 | Health Unresolved | |
| 31 | Hometown | A- | 87 | 4K | 8 | Health Unresolved | |
| 32 | Lagrange | A- | 86.8 | 7K | 4 | Unresolved | |
| 33 | Kenilworth | A- | 86.8 | 3K | 12 | Health Unresolved | |
| 34 | South Chicago Heights | A- | 86.7 | 4K | 5 | Health Unresolved | |
| 35 | Rosemont | A- | 86.4 | 4K | 4 | Unresolved | |
| 36 | Hodgkins | A- | 86.4 | 1K | 5 | Unresolved | |
| 37 | Harwood Heights | A- | 86.3 | 9K | 10 | Health Unresolved | |
| 38 | Brookfield | A- | 86.1 | 19K | 10 | Unresolved | |
| 39 | Techny | A- | 85.9 | 809 | 9 | Health Unresolved | |
| 40 | Berwyn | A- | 85.8 | 57K | 22 | Health Unresolved | |
| 41 | Midlothian | A- | 85.7 | 15K | 12 | Health Unresolved | |
| 42 | Justice | A- | 85.3 | 20K | 26 | Unresolved | |
| 43 | Alsip | A- | 85.3 | 19K | 9 | Health Unresolved | |
| 44 | Country Club Hills | A- | 85.3 | 17K | 6 | Unresolved | |
| 45 | Lyons | A- | 85 | 10K | 15 | Health Unresolved | |
| 46 | Chicago Heights | B+ | 84.7 | 26K | 13 | Unresolved | |
| 47 | North Lake | B+ | 84.7 | 13K | 6 | Health Unresolved | |
| 48 | Burbank (South Stickney) | B+ | 84.4 | 30K | 14 | Health Unresolved | |
| 49 | Lincolnwood | B+ | 84.4 | 13K | 3 | Health Unresolved | |
| 50 | Schaumburg | B+ | 84.3 | 76K | 49 | Health Unresolved | |
| 51 | Riverside | B+ | 84.2 | 9K | 12 | Health Unresolved | |
| 52 | River Forest | B+ | 84.1 | 12K | 7 | Health Unresolved | |
| 53 | Steger | B+ | 83.5 | 10K | 26 | Health Unresolved | |
| 54 | Glenview | B+ | 83.3 | 48K | 15 | Health Unresolved | |
| 55 | North Riverside | B+ | 83.1 | 7K | 12 | Health Unresolved | |
| 56 | Prospect Heights | B+ | 83.1 | 2K | 14 | Health Unresolved | |
| 57 | Elmwood Park | B+ | 83 | 25K | 9 | Health Unresolved | |
| 58 | Posen | B+ | 83 | 5K | 25 | Health Unresolved | |
| 59 | Riverdale | B+ | 82.9 | 10K | 15 | Health Unresolved | |
| 60 | Garden Homes | B+ | 82.8 | 1K | 18 | Health Unresolved | |
| 61 | Stone Park | B+ | 82.6 | 5K | 12 | Health Unresolved | |
| 62 | Forest View | B+ | 82.6 | 800 | 5 | Health Unresolved | |
| 63 | Tinley Park | B+ | 82.5 | 57K | 12 | Unresolved | |
| 64 | Des Plaines | B+ | 82.3 | 61K | 15 | Unresolved | |
| 65 | Indian Head Park | B+ | 82.1 | 3K | 8 | Health Unresolved | |
| 66 | Flossmoor | B+ | 82 | 9K | 7 | Health Unresolved | |
| 67 | Evergreen Park | B+ | 81.9 | 20K | 3 | Unresolved | |
| 68 | Summit | B+ | 81.9 | 11K | 14 | Health Unresolved | |
| 69 | Glenwood | B+ | 81.5 | 9K | 16 | Unresolved | |
| 70 | Oak Forest | B+ | 81.3 | 27K | 10 | Unresolved | |
| 71 | Mount Prospect | B+ | 81.1 | 41K | 14 | Health Unresolved | |
| 72 | Stickney | B+ | 80.6 | 7K | 17 | Health Unresolved | |
| 73 | Bellwood | B+ | 80.5 | 19K | 20 | Health Unresolved | |
| 74 | Thornton | B | 79.8 | 2K | 6 | Unresolved | |
| 75 | Lynwood | B | 79.2 | 10K | 25 | Health Unresolved | |
| 76 | Niles | B | 79.1 | 29K | 7 | Health Unresolved | |
| 77 | Hazel Crest | B | 79 | 13K | 9 | Health Unresolved | |
| 78 | Harvey | B | 78.6 | 25K | 12 | Health Unresolved | |
| 79 | Markham | B | 78.2 | 13K | 42 | Health Unresolved | |
| 80 | Crestwood | B | 77.8 | 11K | 24 | Unresolved | |
| 81 | Palatine | B | 77.7 | 71K | 6 | Health Unresolved | |
| 82 | Lansing | B | 77.4 | 29K | 13 | Health Unresolved | |
| 83 | Westchester | B | 77.4 | 16K | 7 | Health Unresolved | |
| 84 | Merrionette Park | B | 77.4 | 2K | 21 | Unresolved | |
| 85 | Park Ridge | B | 77.2 | 40K | 8 | Health Unresolved | |
| 86 | Broadview | B | 77.2 | 8K | 20 | Health Unresolved | |
| 87 | Matteson | B | 77 | 21K | 15 | Health Unresolved | |
| 88 | Olympia Fields | B | 77 | 5K | 16 | Unresolved | |
| 89 | Franklin Park | B | 76.7 | 28K | 32 | Health Unresolved | |
| 90 | Cicero | B | 76.5 | 83K | 15 | Health Unresolved | |
| 91 | Palos Park | B | 76 | 8K | 14 | Health Unresolved | |
| 92 | La Grange | B | 75.9 | 17K | 12 | Health Unresolved | |
| 93 | Western Springs | B | 75.7 | 13K | 14 | Health Unresolved | |
| 94 | Oak Lawn | B | 75.4 | 58K | 11 | Health Unresolved | |
| 95 | Arlington Heights | B- | 74.9 | 73K | 27 | Health Unresolved | |
| 96 | East Chicago Heights | B- | 74.5 | 2K | 171 | Health Unresolved | |
| 97 | Northfield | B- | 74.4 | 5K | 2 | Health Lead Unresolved | |
| 98 | Calumet Park | B- | 74.2 | 8K | 13 | Health Unresolved | |
| 99 | Bartlett | B- | 72.2 | 42K | 60 | Health Lead Unresolved | |
| 100 | South Holland | B- | 71.7 | 22K | 23 | Health Unresolved | |
| 101 | Dixmoor | B- | 71.5 | 3K | 64 | Health PFAS Unresolved | |
| 102 | Burbank | B- | 71 | 2K | 14 | Health Unresolved | |
| 103 | Morton Grove | B- | 70 | 25K | 7 | Health Lead Unresolved | |
| 104 | Maywood | C+ | 68.2 | 24K | 27 | Health Unresolved | |
| 105 | Phoenix | C+ | 66.9 | 2K | 68 | Health Unresolved | |
| 106 | Dolton | C | 63.5 | 21K | 28 | Health Unresolved | |
| 107 | Blue Island | C | 62.6 | 22K | 120 | Health Unresolved | |
| 108 | Homewood | C | 62.6 | 19K | 8 | Health PFAS Lead Unresolved | |
| 109 | Melrose Park | C | 61.6 | 24K | 98 | Health Unresolved | |
| 110 | Calumet City | C- | 59.4 | 38K | 22 | Health Lead Unresolved | |
| 111 | Burnham | C- | 59 | 4K | 23 | Health Lead Unresolved | |
| 112 | Robbins | C- | 56 | 5K | 75 | Health Unresolved | |
| 113 | Skokie | C- | 55 | 68K | 164 | Health Unresolved | |
| 114 | Northbrook | D | 47.9 | 45K | 417 | Health Unresolved | |
| 115 | Lemont | D | 46.8 | 18K | 85 | Health Lead Unresolved | |
| 116 | Sauk | D | 46 | 10K | 196 | Health Unresolved | |
| 117 | Chicago | F | 35.2 | 2.8M | 497 | Health Unresolved | |
| 118 | Richton Park | F | 34.9 | 13K | 68 | Health Unresolved |