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. 4 of 200 cities tracked stay within the 30% rule; 196 are rent-burdened on this salary.

City↕Median rent↕% of income↑Affordability
Porterville, CA$1,475/mo26.2%affordable
Chico, CA$1,561/mo27.7%affordable
El Centro, CA$1,573/mo27.9%affordable
Redding, CA$1,647/mo29.2%affordable
Carmichael, CA$1,757/mo31.2%stretched
Huntington Park, CA$1,768/mo31.4%stretched
Tulare, CA$1,792/mo31.8%stretched
Visalia, CA$1,839/mo32.6%stretched
Hemet, CA$1,839/mo32.6%stretched
Citrus Heights, CA$1,883/mo33.4%stretched
Bakersfield, CA$1,901/mo33.7%stretched
Apple Valley, CA$1,899/mo33.7%stretched
Colton, CA$1,929/mo34.2%stretched
Fresno, CA$1,945/mo34.5%stretched
Ceres, CA$1,960/mo34.8%stretched
San Bernardino, CA$1,971/mo35%stretched
Yuba City, CA$1,993/mo35.4%stretched
Hanford, CA$2,008/mo35.6%stretched
Modesto, CA$2,022/mo35.9%stretched
Florin, CA$2,024/mo35.9%stretched
Stockton, CA$2,032/mo36.1%stretched
Merced, CA$2,041/mo36.2%stretched
Sacramento, CA$2,045/mo36.3%stretched
Lynwood, CA$2,045/mo36.3%stretched
Turlock, CA$2,064/mo36.6%stretched
Palm Springs, CA$2,067/mo36.7%stretched
East Los Angeles, CA$2,125/mo37.7%stretched
Hawthorne, CA$2,151/mo38.2%stretched
Madera, CA$2,162/mo38.4%stretched
Vallejo, CA$2,200/mo39%stretched
Yucaipa, CA$2,199/mo39%stretched
Bellflower, CA$2,221/mo39.4%stretched
Hesperia, CA$2,237/mo39.7%stretched
Victorville, CA$2,248/mo39.9%stretched
Downey, CA$2,257/mo40.1%rent-burdened
El Cajon, CA$2,259/mo40.1%rent-burdened
West Sacramento, CA$2,263/mo40.2%rent-burdened
Lodi, CA$2,278/mo40.4%rent-burdened
Woodland, CA$2,287/mo40.6%rent-burdened
South Gate, CA$2,291/mo40.7%rent-burdened
Pico Rivera, CA$2,291/mo40.7%rent-burdened
Compton, CA$2,315/mo41.1%rent-burdened
Indio, CA$2,316/mo41.1%rent-burdened
Pomona, CA$2,319/mo41.2%rent-burdened
Gardena, CA$2,334/mo41.4%rent-burdened
Cathedral City, CA$2,343/mo41.6%rent-burdened
Lake Elsinore, CA$2,348/mo41.7%rent-burdened
Los Banos, CA$2,354/mo41.8%rent-burdened
San Jacinto, CA$2,366/mo42%rent-burdened
Clovis, CA$2,381/mo42.3%rent-burdened
Antelope, CA$2,389/mo42.4%rent-burdened
Upland, CA$2,392/mo42.5%rent-burdened
Davis, CA$2,394/mo42.5%rent-burdened
Whittier, CA$2,402/mo42.6%rent-burdened
Redlands, CA$2,398/mo42.6%rent-burdened
Rocklin, CA$2,408/mo42.7%rent-burdened
Long Beach, CA$2,412/mo42.8%rent-burdened
Moreno Valley, CA$2,412/mo42.8%rent-burdened
Rancho Cordova, CA$2,412/mo42.8%rent-burdened
Fairfield, CA$2,425/mo43%rent-burdened
Rowland Heights, CA$2,421/mo43%rent-burdened
Riverside, CA$2,427/mo43.1%rent-burdened
Pittsburg, CA$2,429/mo43.1%rent-burdened
National City, CA$2,426/mo43.1%rent-burdened
El Monte, CA$2,451/mo43.5%rent-burdened
Lancaster, CA$2,460/mo43.7%rent-burdened
Inglewood, CA$2,487/mo44.1%rent-burdened
Santa Maria, CA$2,509/mo44.5%rent-burdened
Roseville, CA$2,521/mo44.7%rent-burdened
San Leandro, CA$2,517/mo44.7%rent-burdened
Salinas, CA$2,530/mo44.9%rent-burdened
Manteca, CA$2,530/mo44.9%rent-burdened
Azusa, CA$2,532/mo44.9%rent-burdened
Richmond, CA$2,538/mo45%rent-burdened
Rohnert Park, CA$2,533/mo45%rent-burdened
West Covina, CA$2,552/mo45.3%rent-burdened
Concord, CA$2,569/mo45.6%rent-burdened
Ontario, CA$2,580/mo45.8%rent-burdened
Santa Rosa, CA$2,582/mo45.8%rent-burdened
Escondido, CA$2,590/mo46%rent-burdened
Buena Park, CA$2,590/mo46%rent-burdened
Covina, CA$2,598/mo46.1%rent-burdened
Vacaville, CA$2,627/mo46.6%rent-burdened
La Mesa, CA$2,627/mo46.6%rent-burdened
Highland, CA$2,630/mo46.7%rent-burdened
Monterey Park, CA$2,638/mo46.8%rent-burdened
Alhambra, CA$2,645/mo46.9%rent-burdened
Murrieta, CA$2,650/mo47%rent-burdened
Hayward, CA$2,652/mo47.1%rent-burdened
Corona, CA$2,661/mo47.2%rent-burdened
Norwalk, CA$2,662/mo47.2%rent-burdened
Folsom, CA$2,667/mo47.3%rent-burdened
Rialto, CA$2,675/mo47.5%rent-burdened
Elk Grove, CA$2,688/mo47.7%rent-burdened
Florence-Graham, CA$2,691/mo47.8%rent-burdened
Garden Grove, CA$2,703/mo48%rent-burdened
Jurupa Valley, CA$2,727/mo48.4%rent-burdened
Vista, CA$2,726/mo48.4%rent-burdened
Tracy, CA$2,742/mo48.7%rent-burdened
Palm Desert, CA$2,749/mo48.8%rent-burdened
Oakland, CA$2,758/mo48.9%rent-burdened
Anaheim, CA$2,755/mo48.9%rent-burdened
La Habra, CA$2,753/mo48.9%rent-burdened
Rosemead, CA$2,755/mo48.9%rent-burdened
Glendale, CA$2,765/mo49.1%rent-burdened
Los Angeles, CA$2,772/mo49.2%rent-burdened
Palmdale, CA$2,780/mo49.3%rent-burdened
Simi Valley, CA$2,778/mo49.3%rent-burdened
Santa Clarita, CA$2,783/mo49.4%rent-burdened
Rancho Cucamonga, CA$2,786/mo49.4%rent-burdened
Paramount, CA$2,806/mo49.8%rent-burdened
Antioch, CA$2,814/mo49.9%rent-burdened
Santa Ana, CA$2,820/mo50%severely rent-burdened
Napa, CA$2,815/mo50%rent-burdened
Santee, CA$2,829/mo50.2%severely rent-burdened
Montebello, CA$2,837/mo50.4%severely rent-burdened
Perris, CA$2,846/mo50.5%severely rent-burdened
Berkeley, CA$2,853/mo50.6%severely rent-burdened
Westminster, CA$2,851/mo50.6%severely rent-burdened
Rancho Santa Margarita, CA$2,849/mo50.6%severely rent-burdened
Petaluma, CA$2,869/mo50.9%severely rent-burdened
Alameda, CA$2,876/mo51%severely rent-burdened
Beaumont, CA$2,880/mo51.1%severely rent-burdened
Placentia, CA$2,882/mo51.1%severely rent-burdened
Fullerton, CA$2,888/mo51.3%severely rent-burdened
Oxnard, CA$2,894/mo51.4%severely rent-burdened
Oceanside, CA$2,910/mo51.6%severely rent-burdened
Carson, CA$2,909/mo51.6%severely rent-burdened
Camarillo, CA$2,911/mo51.7%severely rent-burdened
Union City, CA$2,913/mo51.7%severely rent-burdened
Brea, CA$2,916/mo51.8%severely rent-burdened
Walnut Creek, CA$2,924/mo51.9%severely rent-burdened
Chula Vista, CA$2,935/mo52.1%severely rent-burdened
Temecula, CA$2,946/mo52.3%severely rent-burdened
Menifee, CA$2,945/mo52.3%severely rent-burdened
Glendora, CA$2,950/mo52.4%severely rent-burdened
Baldwin Park, CA$2,959/mo52.5%severely rent-burdened
San Luis Obispo, CA$2,968/mo52.7%severely rent-burdened
Fountain Valley, CA$2,998/mo53.2%severely rent-burdened
San Diego, CA$3,004/mo53.3%severely rent-burdened
Torrance, CA$3,006/mo53.3%severely rent-burdened
Pasadena, CA$3,010/mo53.4%severely rent-burdened
Castro Valley, CA$3,011/mo53.4%severely rent-burdened
Cypress, CA$3,015/mo53.5%severely rent-burdened
Orange, CA$3,037/mo53.9%severely rent-burdened
Daly City, CA$3,046/mo54.1%severely rent-burdened
Livermore, CA$3,066/mo54.4%severely rent-burdened
El Dorado Hills, CA$3,070/mo54.5%severely rent-burdened
Chino Hills, CA$3,085/mo54.8%severely rent-burdened
Gilroy, CA$3,099/mo55%severely rent-burdened
Huntington Beach, CA$3,105/mo55.1%severely rent-burdened
Costa Mesa, CA$3,121/mo55.4%severely rent-burdened
San Ramon, CA$3,121/mo55.4%severely rent-burdened
Lake Forest, CA$3,166/mo56.2%severely rent-burdened
San Rafael, CA$3,166/mo56.2%severely rent-burdened
Pleasanton, CA$3,175/mo56.3%severely rent-burdened
Fontana, CA$3,191/mo56.6%severely rent-burdened
La Mirada, CA$3,191/mo56.6%severely rent-burdened
Tustin, CA$3,229/mo57.3%severely rent-burdened
Chino, CA$3,286/mo58.3%severely rent-burdened
Diamond Bar, CA$3,294/mo58.5%severely rent-burdened
Oakley, CA$3,294/mo58.5%severely rent-burdened
San Marcos, CA$3,311/mo58.8%severely rent-burdened
Dublin, CA$3,325/mo59%severely rent-burdened
Poway, CA$3,325/mo59%severely rent-burdened
Watsonville, CA$3,332/mo59.1%severely rent-burdened
Laguna Niguel, CA$3,343/mo59.3%severely rent-burdened
Thousand Oaks, CA$3,357/mo59.6%severely rent-burdened
Fremont, CA$3,388/mo60.1%severely rent-burdened
Cerritos, CA$3,385/mo60.1%severely rent-burdened
Lakewood, CA$3,401/mo60.4%severely rent-burdened
San Clemente, CA$3,411/mo60.5%severely rent-burdened
Arcadia, CA$3,412/mo60.6%severely rent-burdened
Brentwood, CA$3,420/mo60.7%severely rent-burdened
Santa Cruz, CA$3,418/mo60.7%severely rent-burdened
Redondo Beach, CA$3,483/mo61.8%severely rent-burdened
Aliso Viejo, CA$3,484/mo61.8%severely rent-burdened
Santa Monica, CA$3,516/mo62.4%severely rent-burdened
Carlsbad, CA$3,531/mo62.7%severely rent-burdened
Hacienda Heights, CA$3,538/mo62.8%severely rent-burdened
San Jose, CA$3,582/mo63.6%severely rent-burdened
Irvine, CA$3,604/mo64%severely rent-burdened
Milpitas, CA$3,614/mo64.1%severely rent-burdened
Santa Barbara, CA$3,642/mo64.6%severely rent-burdened
Eastvale, CA$3,659/mo64.9%severely rent-burdened
Newark, CA$3,670/mo65.1%severely rent-burdened
Morgan Hill, CA$3,797/mo67.4%severely rent-burdened
Yorba Linda, CA$3,870/mo68.7%severely rent-burdened
Santa Clara, CA$3,958/mo70.2%severely rent-burdened
San Mateo, CA$3,968/mo70.4%severely rent-burdened
Novato, CA$3,969/mo70.4%severely rent-burdened
Sunnyvale, CA$3,972/mo70.5%severely rent-burdened
South San Francisco, CA$4,141/mo73.5%severely rent-burdened
Redwood City, CA$4,301/mo76.3%severely rent-burdened
Cupertino, CA$4,307/mo76.4%severely rent-burdened
Encinitas, CA$4,340/mo77%severely rent-burdened
Newport Beach, CA$4,364/mo77.5%severely rent-burdened
Mountain View, CA$4,535/mo80.5%severely rent-burdened
Palo Alto, CA$4,558/mo80.9%severely rent-burdened
San Francisco, CA$4,784/mo84.9%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).