Rent Affordability for A HVAC Technician in California

A typical hvac technician in California earns about $67,614 a year, which supports approximately $1,690 a month in rent under the 30% rule. Below, every tracked California city is ranked by how local rent compares against that affordability ceiling.

As of May 2026. 3 of 200 cities tracked stay within the 30% rule; 197 are rent-burdened on this salary.

CityMedian rent% of incomeAffordability
Porterville, CA$1,377/mo24.4%affordable
Chico, CA$1,577/mo28%affordable
Redding, CA$1,642/mo29.1%affordable
El Centro, CA$1,719/mo30.5%stretched
Carmichael, CA$1,795/mo31.9%stretched
Huntington Park, CA$1,820/mo32.3%stretched
Tulare, CA$1,849/mo32.8%stretched
Bakersfield, CA$1,865/mo33.1%stretched
Apple Valley, CA$1,868/mo33.2%stretched
Ceres, CA$1,884/mo33.4%stretched
Visalia, CA$1,909/mo33.9%stretched
Colton, CA$1,929/mo34.2%stretched
Citrus Heights, CA$1,931/mo34.3%stretched
Hemet, CA$1,939/mo34.4%stretched
Fresno, CA$1,954/mo34.7%stretched
Merced, CA$1,964/mo34.9%stretched
Yuba City, CA$1,967/mo34.9%stretched
Modesto, CA$1,986/mo35.2%stretched
Stockton, CA$1,989/mo35.3%stretched
San Bernardino, CA$1,994/mo35.4%stretched
South Gate, CA$2,002/mo35.5%stretched
Lynwood, CA$2,035/mo36.1%stretched
Hanford, CA$2,053/mo36.4%stretched
Sacramento, CA$2,071/mo36.8%stretched
Turlock, CA$2,083/mo37%stretched
Yucaipa, CA$2,095/mo37.2%stretched
Florin, CA$2,111/mo37.5%stretched
Hawthorne, CA$2,138/mo37.9%stretched
Lodi, CA$2,137/mo37.9%stretched
Pico Rivera, CA$2,169/mo38.5%stretched
Vallejo, CA$2,181/mo38.7%stretched
Palm Springs, CA$2,201/mo39.1%stretched
Victorville, CA$2,227/mo39.5%stretched
Hesperia, CA$2,224/mo39.5%stretched
West Sacramento, CA$2,228/mo39.5%stretched
El Cajon, CA$2,277/mo40.4%rent-burdened
Montebello, CA$2,289/mo40.6%rent-burdened
Downey, CA$2,312/mo41%rent-burdened
East Los Angeles, CA$2,319/mo41.2%rent-burdened
Clovis, CA$2,341/mo41.5%rent-burdened
Madera, CA$2,344/mo41.6%rent-burdened
Gardena, CA$2,363/mo41.9%rent-burdened
Los Banos, CA$2,363/mo41.9%rent-burdened
Long Beach, CA$2,364/mo42%rent-burdened
Moreno Valley, CA$2,364/mo42%rent-burdened
Covina, CA$2,372/mo42.1%rent-burdened
Antelope, CA$2,379/mo42.2%rent-burdened
Pomona, CA$2,385/mo42.3%rent-burdened
El Monte, CA$2,381/mo42.3%rent-burdened
Whittier, CA$2,388/mo42.4%rent-burdened
Cathedral City, CA$2,390/mo42.4%rent-burdened
Pittsburg, CA$2,396/mo42.5%rent-burdened
Lancaster, CA$2,403/mo42.6%rent-burdened
Upland, CA$2,408/mo42.7%rent-burdened
Rancho Cordova, CA$2,412/mo42.8%rent-burdened
Riverside, CA$2,420/mo42.9%rent-burdened
Redlands, CA$2,418/mo42.9%rent-burdened
Lake Elsinore, CA$2,436/mo43.2%rent-burdened
Fairfield, CA$2,446/mo43.4%rent-burdened
Highland, CA$2,459/mo43.6%rent-burdened
San Leandro, CA$2,468/mo43.8%rent-burdened
Rocklin, CA$2,469/mo43.8%rent-burdened
Woodland, CA$2,467/mo43.8%rent-burdened
Bellflower, CA$2,472/mo43.9%rent-burdened
National City, CA$2,472/mo43.9%rent-burdened
Salinas, CA$2,498/mo44.3%rent-burdened
Escondido, CA$2,504/mo44.4%rent-burdened
Compton, CA$2,500/mo44.4%rent-burdened
Richmond, CA$2,509/mo44.5%rent-burdened
Santa Maria, CA$2,520/mo44.7%rent-burdened
Santa Rosa, CA$2,534/mo45%rent-burdened
Monterey Park, CA$2,545/mo45.2%rent-burdened
Jurupa Valley, CA$2,556/mo45.4%rent-burdened
Vacaville, CA$2,562/mo45.5%rent-burdened
Antioch, CA$2,575/mo45.7%rent-burdened
Concord, CA$2,584/mo45.9%rent-burdened
Alhambra, CA$2,592/mo46%rent-burdened
Baldwin Park, CA$2,598/mo46.1%rent-burdened
Inglewood, CA$2,605/mo46.2%rent-burdened
Buena Park, CA$2,603/mo46.2%rent-burdened
Murrieta, CA$2,610/mo46.3%rent-burdened
Oakland, CA$2,614/mo46.4%rent-burdened
Hayward, CA$2,615/mo46.4%rent-burdened
Indio, CA$2,616/mo46.4%rent-burdened
Manteca, CA$2,624/mo46.6%rent-burdened
Azusa, CA$2,626/mo46.6%rent-burdened
Westminster, CA$2,629/mo46.7%rent-burdened
Ontario, CA$2,635/mo46.8%rent-burdened
Palm Desert, CA$2,638/mo46.8%rent-burdened
Roseville, CA$2,645/mo46.9%rent-burdened
Rohnert Park, CA$2,649/mo47%rent-burdened
Folsom, CA$2,655/mo47.1%rent-burdened
La Mesa, CA$2,662/mo47.2%rent-burdened
Anaheim, CA$2,674/mo47.5%rent-burdened
Garden Grove, CA$2,679/mo47.5%rent-burdened
Corona, CA$2,682/mo47.6%rent-burdened
West Covina, CA$2,683/mo47.6%rent-burdened
Vista, CA$2,682/mo47.6%rent-burdened
Florence-Graham, CA$2,683/mo47.6%rent-burdened
Elk Grove, CA$2,688/mo47.7%rent-burdened
Fountain Valley, CA$2,698/mo47.9%rent-burdened
Daly City, CA$2,706/mo48%rent-burdened
Davis, CA$2,706/mo48%rent-burdened
Beaumont, CA$2,705/mo48%rent-burdened
Simi Valley, CA$2,717/mo48.2%rent-burdened
Tracy, CA$2,717/mo48.2%rent-burdened
Palmdale, CA$2,720/mo48.3%rent-burdened
Paramount, CA$2,723/mo48.3%rent-burdened
Glendale, CA$2,732/mo48.5%rent-burdened
Rialto, CA$2,740/mo48.6%rent-burdened
La Habra, CA$2,745/mo48.7%rent-burdened
Norwalk, CA$2,757/mo48.9%rent-burdened
Castro Valley, CA$2,767/mo49.1%rent-burdened
Los Angeles, CA$2,773/mo49.2%rent-burdened
Santa Ana, CA$2,785/mo49.4%rent-burdened
Napa, CA$2,781/mo49.4%rent-burdened
Santee, CA$2,790/mo49.5%rent-burdened
San Jacinto, CA$2,793/mo49.6%rent-burdened
Placentia, CA$2,796/mo49.6%rent-burdened
Rowland Heights, CA$2,799/mo49.7%rent-burdened
Santa Clarita, CA$2,806/mo49.8%rent-burdened
Rancho Cucamonga, CA$2,813/mo49.9%rent-burdened
Menifee, CA$2,824/mo50.1%severely rent-burdened
Perris, CA$2,833/mo50.3%severely rent-burdened
Rosemead, CA$2,848/mo50.5%severely rent-burdened
Union City, CA$2,867/mo50.9%severely rent-burdened
Glendora, CA$2,869/mo50.9%severely rent-burdened
Fullerton, CA$2,872/mo51%severely rent-burdened
Oxnard, CA$2,882/mo51.1%severely rent-burdened
Camarillo, CA$2,885/mo51.2%severely rent-burdened
Rancho Santa Margarita, CA$2,910/mo51.6%severely rent-burdened
Petaluma, CA$2,927/mo51.9%severely rent-burdened
Pasadena, CA$2,939/mo52.2%severely rent-burdened
Berkeley, CA$2,941/mo52.2%severely rent-burdened
Alameda, CA$2,948/mo52.3%severely rent-burdened
Temecula, CA$2,954/mo52.4%severely rent-burdened
Carson, CA$2,953/mo52.4%severely rent-burdened
Brea, CA$2,960/mo52.5%severely rent-burdened
San Luis Obispo, CA$2,966/mo52.6%severely rent-burdened
Oceanside, CA$2,974/mo52.8%severely rent-burdened
San Rafael, CA$2,992/mo53.1%severely rent-burdened
Torrance, CA$2,997/mo53.2%severely rent-burdened
Walnut Creek, CA$3,003/mo53.3%severely rent-burdened
Chula Vista, CA$3,008/mo53.4%severely rent-burdened
Chino Hills, CA$3,010/mo53.4%severely rent-burdened
San Diego, CA$3,038/mo53.9%severely rent-burdened
La Mirada, CA$3,036/mo53.9%severely rent-burdened
Fontana, CA$3,042/mo54%severely rent-burdened
Huntington Beach, CA$3,078/mo54.6%severely rent-burdened
Livermore, CA$3,082/mo54.7%severely rent-burdened
Gilroy, CA$3,082/mo54.7%severely rent-burdened
Poway, CA$3,103/mo55.1%severely rent-burdened
Costa Mesa, CA$3,113/mo55.2%severely rent-burdened
Cypress, CA$3,132/mo55.6%severely rent-burdened
Tustin, CA$3,151/mo55.9%severely rent-burdened
El Dorado Hills, CA$3,156/mo56%severely rent-burdened
Pleasanton, CA$3,180/mo56.4%severely rent-burdened
Orange, CA$3,181/mo56.5%severely rent-burdened
Dublin, CA$3,233/mo57.4%severely rent-burdened
San Marcos, CA$3,258/mo57.8%severely rent-burdened
Hacienda Heights, CA$3,254/mo57.8%severely rent-burdened
Watsonville, CA$3,257/mo57.8%severely rent-burdened
Thousand Oaks, CA$3,274/mo58.1%severely rent-burdened
Laguna Niguel, CA$3,289/mo58.4%severely rent-burdened
Lake Forest, CA$3,299/mo58.6%severely rent-burdened
Diamond Bar, CA$3,301/mo58.6%severely rent-burdened
Fremont, CA$3,308/mo58.7%severely rent-burdened
Arcadia, CA$3,325/mo59%severely rent-burdened
San Ramon, CA$3,352/mo59.5%severely rent-burdened
Brentwood, CA$3,365/mo59.7%severely rent-burdened
Newark, CA$3,371/mo59.8%severely rent-burdened
Oakley, CA$3,369/mo59.8%severely rent-burdened
Chino, CA$3,388/mo60.1%severely rent-burdened
Irvine, CA$3,390/mo60.2%severely rent-burdened
Lakewood, CA$3,430/mo60.9%severely rent-burdened
San Clemente, CA$3,442/mo61.1%severely rent-burdened
San Jose, CA$3,479/mo61.7%severely rent-burdened
Santa Monica, CA$3,517/mo62.4%severely rent-burdened
Redondo Beach, CA$3,543/mo62.9%severely rent-burdened
Carlsbad, CA$3,560/mo63.2%severely rent-burdened
Eastvale, CA$3,567/mo63.3%severely rent-burdened
Aliso Viejo, CA$3,594/mo63.8%severely rent-burdened
Cerritos, CA$3,600/mo63.9%severely rent-burdened
Santa Cruz, CA$3,649/mo64.8%severely rent-burdened
San Mateo, CA$3,667/mo65.1%severely rent-burdened
Milpitas, CA$3,676/mo65.2%severely rent-burdened
Morgan Hill, CA$3,772/mo66.9%severely rent-burdened
Sunnyvale, CA$3,821/mo67.8%severely rent-burdened
Novato, CA$3,857/mo68.5%severely rent-burdened
Santa Clara, CA$3,890/mo69%severely rent-burdened
Redwood City, CA$3,949/mo70.1%severely rent-burdened
Santa Barbara, CA$3,967/mo70.4%severely rent-burdened
Yorba Linda, CA$4,083/mo72.5%severely rent-burdened
South San Francisco, CA$4,084/mo72.5%severely rent-burdened
Cupertino, CA$4,267/mo75.7%severely rent-burdened
Newport Beach, CA$4,285/mo76%severely rent-burdened
Palo Alto, CA$4,299/mo76.3%severely rent-burdened
Mountain View, CA$4,334/mo76.9%severely rent-burdened
San Francisco, CA$4,401/mo78.1%severely rent-burdened
Encinitas, CA$4,498/mo79.8%severely rent-burdened
Methodology: Salary is the BLS-derived state estimate for California. Rent is the latest ZORI monthly value for each city. Affordability uses the 30% rule (rent ≤ 30% of gross income).