research/local/legislative (city lists for each district page)
Checked 2026-10-28. Districts: 20. Unchanged: 10. Corrected: 10.
Each district page lists the San Bernardino County cities that are wholly or partly inside it, and that list decides which district pages a city's voters are shown. We checked every list against official sources, not Wikipedia:
- SB County Registrar, Nov 8, 2022 district canvass (https://uploads.rov.sbcounty.gov/rov/Elections/2022/1108/Results/District%20Total%20Canvass_20221208065549922.pdf). For each Assembly, Senate and Board of Equalization contest, it gives the registered voters in each city who were inside that district. The 2022 election used the 2021 Assembly, Senate and BOE lines, the same lines in use this year. City totals add up across districts (for example Hesperia 26,204 + 24,438 + 484 = 51,126), which shows the rows are complete for the contests we read. The Assembly 53, 58 and 59 sections could not be read, so those were checked with the next two sources.
- SB County Registrar, June 2, 2026 primary district canvass (https://uploads.rov.sbcounty.gov/ROV/Elections/2026/0602/Results/Report_SSOV.pdf). It gives registered voters for each district in the county and for each city.
- CA Senate Office of Demographics, 2021 Assembly districts zip code directory (https://sdmg.senate.ca.gov/media/385), which gives the share of each zip code's population in each Assembly district, and its 2021 Senate district place report (https://sdmg.senate.ca.gov/sites/sdmg.senate.ca.gov/files/2021/crc_2021_place_report_v2.pdf).
- CA Senate district data for the 2025 (Prop 50) congressional map (sdmg.senate.ca.gov/node/1099 through /1111). Congressional seats this year use the map voters approved with Prop 50 in 2025, not the 2021 map.
We list a city on a district's page only if the district has registered voters in it. A city that touches a district but has no voters there (Adelanto and San Bernardino in District 34, Rancho Cucamonga in District 45, Loma Linda in District 47, Grand Terrace in District 50) is left off.
| District | Cities before | Cities after | Status | Evidence |
|---|---|---|---|---|
| AD-34 | Barstow, Big Bear Lake, Apple Valley, Hesperia, Victorville, Adelanto, Needles, Yucca Valley, Twentynine Palms; areas Lucerne Valley, Phelan, Newberry Springs, Baker | Barstow, Big Bear Lake, Apple Valley, Hesperia, Victorville, Highland, Twentynine Palms; areas Lucerne Valley, Newberry Springs, Baker | Corrected | 2022 canvass, District 34: Barstow 10,895, Big Bear Lake 3,037, Hesperia 26,204, Highland 8,544, Twentynine Palms 7,887, Victorville 8,209, Apple Valley 44,485; Adelanto 0, San Bernardino 0. Needles is in District 36, Yucca Valley in District 47 (all 12,501 of its voters). Zip directory: Phelan (92371) 94.2% in District 41, 0.0% in District 34 |
| AD-36 | Needles, Twentynine Palms | Needles | Corrected | 2022 canvass, District 36: only Needles (2,105). All of Twentynine Palms' 7,887 voters are in District 34 |
| AD-39 | Adelanto, Victorville, Hesperia | unchanged | Verified | 2022 canvass, District 39: Adelanto 15,033 (all of it), Hesperia 24,438, Victorville 54,541. Body text changed from "parts of Adelanto" to "all of Adelanto" |
| AD-41 | Upland, Rancho Cucamonga | Upland, Rancho Cucamonga, Hesperia, Fontana; areas Phelan, Pinon Hills, Wrightwood, Lytle Creek | Corrected | 2022 canvass, District 41: Fontana 11, Hesperia 484, Rancho Cucamonga 25,970, Upland 29,593. Zip directory: Phelan 94.2%, Pinon Hills 99.7%, Wrightwood 100%, Lytle Creek 100% in District 41. The "lines not confirmed" caveat in the body was replaced with the sourced description |
| AD-45 | Highland, Redlands, San Bernardino, Rialto, Fontana, Rancho Cucamonga | Highland, Redlands, San Bernardino, Rialto, Fontana | Corrected | 2022 canvass, District 45: Fontana 29,131, Highland 13,394, Redlands 22,868, Rialto 52,054 (of 52,081), San Bernardino 97,001 (of 101,094); Rancho Cucamonga 0. The body now also names Rialto |
| AD-47 | Yucaipa, Yucca Valley, Twentynine Palms | Yucaipa, Yucca Valley, Highland, Redlands | Corrected | 2022 canvass, District 47: Highland 8,203, Redlands 8,035, Yucaipa 33,554, Yucca Valley 12,501; Loma Linda 0. Twentynine Palms is in District 34. Zip directory: Joshua Tree 76.6%, Morongo Valley 100% in District 47 |
| AD-50 | Rancho Cucamonga, Fontana, Ontario, Rialto, Colton, Loma Linda, San Bernardino, Redlands | unchanged | Verified | 2022 canvass, District 50: Colton 25,748, Fontana 79,967, Loma Linda 13,369, Ontario 10,701, Rancho Cucamonga 78,904, Redlands 14,508, Rialto 27, San Bernardino 4,093; Grand Terrace 0 |
| AD-53 | Montclair, Chino, Ontario, Upland | unchanged | Verified (by elimination) | The District 53 section of the 2022 canvass could not be read. Montclair has no voters in any other Assembly district. Most of Chino, Ontario and Upland is left after the District 41, 50 and 59 counts are taken out. Zip directory: Montclair 91763 100%, Ontario 91761 and 91762 100%, Upland 91786 69.6%, Chino 91710 93.5% in District 53 |
| AD-58 | Chino | Grand Terrace | Corrected | 2026 canvass: District 58 has 8,132 registered voters in the county, and Grand Terrace has 8,132 (ballots cast match too, 3,215). Zip directory: Grand Terrace 92313 100% in District 58; no Chino zip code has any population in District 58 |
| AD-59 | Chino Hills | Chino Hills, Chino | Corrected | 2026 canvass: District 59 has 54,490 voters in the county against Chino Hills' 48,591, so about 5,900 are outside Chino Hills. Zip directory: Chino 91708 30.8% and 91710 6.5% in District 59. Phillip Chen's district page lists both Chino and Chino Hills. The page body already said "part of Chino" |
| SD-18 | Needles | unchanged | Verified | Senate place report: "Needles ... 100.00" in District 18; 2022 canvass, Senate District 18: Needles 2,105 |
| SD-22 | Montclair, Chino, Ontario | unchanged | Verified | Senate place report: Chino, Montclair and Ontario each 100.00 in District 22 |
| SD-32 | Chino Hills | unchanged | Verified | 2026 canvass: Senate District 32 has 48,591 voters in the county, the same as Chino Hills' 48,591. Chino Hills is not listed under any other Senate district in the place report |
| BOE-1 | all 24 cities | all except Chino, Chino Hills, Montclair, Ontario, Upland | Corrected | 2022 canvass, BOE District 1 rows: Adelanto, Barstow, Big Bear Lake, Colton, Fontana, Grand Terrace, Hesperia, Highland, Loma Linda, Needles, Rancho Cucamonga (12 voters), Redlands, Rialto, San Bernardino, Twentynine Palms, Victorville, Yucaipa, Apple Valley, Yucca Valley. In 2026, District 4 has 390,093 county voters, about the total of the West End cities. Rancho Cucamonga stays on the page for its 12 voters |
| CD-23 | Adelanto, Apple Valley, Barstow, Big Bear Lake, Hesperia, Loma Linda, Needles, Victorville, Yucaipa, Yucca Valley, Redlands, San Bernardino | unchanged | Verified | CA Senate 2025 CD-23 data: Redlands 15.05%, San Bernardino 4.61%, the other ten 100%. Its areas (Phelan, Pinon Hills, Lake Arrowhead, Crestline, Running Springs, Lucerne Valley, Joshua Tree, Morongo Valley) are each 100.00% in the district |
| CD-25 | Twentynine Palms | unchanged | Verified | CA Senate 2025 CD-25 data: Twentynine Palms 100.00%, no other county city |
| CD-28 | Rancho Cucamonga, Upland | unchanged | Verified | CA Senate 2025 CD-28 data: Rancho Cucamonga 42.42%, Upland 50.90% |
| CD-31 | Chino, Montclair | unchanged | Verified | CA Senate 2025 CD-31 data: Chino 84.17%, Montclair 95.43% |
| CD-33 | Colton, Fontana, Grand Terrace, Highland, Rancho Cucamonga, Redlands, Rialto, San Bernardino | unchanged | Verified | CA Senate 2025 CD-33 data: Colton, Grand Terrace, Highland, Rialto 100.00%; San Bernardino 95.39%; Redlands 84.95%; Fontana 48.14%; Rancho Cucamonga 52.95% |
| CD-35 | Ontario, Chino Hills, Fontana, Upland, Chino, Rancho Cucamonga, Montclair | unchanged | Verified | CA Senate 2025 CD-35 data: Ontario and Chino Hills 100.00%, Fontana 51.86%, Upland 49.10%, Chino 15.83%, Rancho Cucamonga 4.63%, Montclair 4.57%. Each split city's shares add up to 100% across the congressional pages |
Open items:
- AD-59, Chino: about 5,900 District 59 voters live outside Chino Hills. The zip directory and the member's district page both put part of Chino in the district, but we could not read a city-level count for District 59, so a small share of those voters may be in unincorporated land near Chino.
- Board of Equalization District 4 covers Chino, Chino Hills, Montclair, Ontario, Upland and most of Rancho Cucamonga, and is on the ballot this year, but the guide has no page for it yet. Voters in those cities will see no BOE contest on the site until one is added.