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,425/mo25.3%affordable
Chico, CA$1,541/mo27.3%affordable
El Centro, CA$1,631/mo28.9%affordable
Redding, CA$1,694/mo30.1%stretched
Carmichael, CA$1,781/mo31.6%stretched
Huntington Park, CA$1,800/mo31.9%stretched
Visalia, CA$1,829/mo32.5%stretched
Apple Valley, CA$1,833/mo32.5%stretched
Tulare, CA$1,852/mo32.9%stretched
Bakersfield, CA$1,875/mo33.3%stretched
Hemet, CA$1,896/mo33.6%stretched
Citrus Heights, CA$1,910/mo33.9%stretched
Colton, CA$1,936/mo34.4%stretched
Ceres, CA$1,960/mo34.8%stretched
Fresno, CA$1,967/mo34.9%stretched
Stockton, CA$1,990/mo35.3%stretched
Hanford, CA$1,989/mo35.3%stretched
San Bernardino, CA$2,013/mo35.7%stretched
Modesto, CA$2,015/mo35.8%stretched
Florin, CA$2,018/mo35.8%stretched
South Gate, CA$2,020/mo35.9%stretched
Yuba City, CA$2,046/mo36.3%stretched
Merced, CA$2,059/mo36.5%stretched
Sacramento, CA$2,064/mo36.6%stretched
Palm Springs, CA$2,069/mo36.7%stretched
Turlock, CA$2,091/mo37.1%stretched
Lynwood, CA$2,130/mo37.8%stretched
Yucaipa, CA$2,140/mo38%stretched
Hawthorne, CA$2,145/mo38.1%stretched
Lodi, CA$2,170/mo38.5%stretched
Vallejo, CA$2,184/mo38.8%stretched
Hesperia, CA$2,186/mo38.8%stretched
Madera, CA$2,196/mo39%stretched
East Los Angeles, CA$2,204/mo39.1%stretched
Pico Rivera, CA$2,225/mo39.5%stretched
West Sacramento, CA$2,253/mo40%stretched
El Cajon, CA$2,275/mo40.4%rent-burdened
Victorville, CA$2,283/mo40.5%rent-burdened
El Monte, CA$2,316/mo41.1%rent-burdened
Cathedral City, CA$2,321/mo41.2%rent-burdened
Downey, CA$2,346/mo41.6%rent-burdened
Compton, CA$2,344/mo41.6%rent-burdened
Clovis, CA$2,354/mo41.8%rent-burdened
Whittier, CA$2,353/mo41.8%rent-burdened
Los Banos, CA$2,362/mo41.9%rent-burdened
Gardena, CA$2,366/mo42%rent-burdened
Bellflower, CA$2,372/mo42.1%rent-burdened
Pomona, CA$2,378/mo42.2%rent-burdened
Moreno Valley, CA$2,381/mo42.3%rent-burdened
Pittsburg, CA$2,388/mo42.4%rent-burdened
Covina, CA$2,396/mo42.5%rent-burdened
Fairfield, CA$2,403/mo42.6%rent-burdened
Antelope, CA$2,400/mo42.6%rent-burdened
Upland, CA$2,406/mo42.7%rent-burdened
Indio, CA$2,413/mo42.8%rent-burdened
Rancho Cordova, CA$2,410/mo42.8%rent-burdened
Lake Elsinore, CA$2,414/mo42.8%rent-burdened
Riverside, CA$2,441/mo43.3%rent-burdened
Lancaster, CA$2,438/mo43.3%rent-burdened
Long Beach, CA$2,448/mo43.4%rent-burdened
National City, CA$2,448/mo43.4%rent-burdened
Woodland, CA$2,462/mo43.7%rent-burdened
Redlands, CA$2,467/mo43.8%rent-burdened
Salinas, CA$2,472/mo43.9%rent-burdened
Rocklin, CA$2,497/mo44.3%rent-burdened
San Leandro, CA$2,509/mo44.5%rent-burdened
Escondido, CA$2,518/mo44.7%rent-burdened
Inglewood, CA$2,526/mo44.8%rent-burdened
Montebello, CA$2,526/mo44.8%rent-burdened
Florence-Graham, CA$2,559/mo45.4%rent-burdened
Santa Maria, CA$2,562/mo45.5%rent-burdened
Santa Rosa, CA$2,574/mo45.7%rent-burdened
Richmond, CA$2,577/mo45.7%rent-burdened
Roseville, CA$2,579/mo45.8%rent-burdened
Jurupa Valley, CA$2,585/mo45.9%rent-burdened
Rohnert Park, CA$2,591/mo46%rent-burdened
Concord, CA$2,599/mo46.1%rent-burdened
Vacaville, CA$2,599/mo46.1%rent-burdened
Alhambra, CA$2,597/mo46.1%rent-burdened
Rowland Heights, CA$2,596/mo46.1%rent-burdened
Ontario, CA$2,605/mo46.2%rent-burdened
Azusa, CA$2,602/mo46.2%rent-burdened
Manteca, CA$2,611/mo46.3%rent-burdened
Palm Desert, CA$2,615/mo46.4%rent-burdened
West Covina, CA$2,625/mo46.6%rent-burdened
Highland, CA$2,626/mo46.6%rent-burdened
Glendora, CA$2,628/mo46.6%rent-burdened
Hayward, CA$2,635/mo46.8%rent-burdened
Buena Park, CA$2,641/mo46.9%rent-burdened
Monterey Park, CA$2,649/mo47%rent-burdened
Corona, CA$2,669/mo47.4%rent-burdened
Folsom, CA$2,670/mo47.4%rent-burdened
Antioch, CA$2,679/mo47.5%rent-burdened
Murrieta, CA$2,681/mo47.6%rent-burdened
Elk Grove, CA$2,689/mo47.7%rent-burdened
La Mesa, CA$2,689/mo47.7%rent-burdened
Oakland, CA$2,691/mo47.8%rent-burdened
San Jacinto, CA$2,692/mo47.8%rent-burdened
Rosemead, CA$2,699/mo47.9%rent-burdened
Davis, CA$2,702/mo48%rent-burdened
Vista, CA$2,708/mo48.1%rent-burdened
Paramount, CA$2,716/mo48.2%rent-burdened
Westminster, CA$2,724/mo48.3%rent-burdened
Simi Valley, CA$2,730/mo48.5%rent-burdened
Fountain Valley, CA$2,738/mo48.6%rent-burdened
Anaheim, CA$2,745/mo48.7%rent-burdened
Palmdale, CA$2,745/mo48.7%rent-burdened
Baldwin Park, CA$2,744/mo48.7%rent-burdened
Tracy, CA$2,748/mo48.8%rent-burdened
Norwalk, CA$2,753/mo48.9%rent-burdened
Garden Grove, CA$2,768/mo49.1%rent-burdened
Daly City, CA$2,765/mo49.1%rent-burdened
Los Angeles, CA$2,773/mo49.2%rent-burdened
Glendale, CA$2,779/mo49.3%rent-burdened
Rialto, CA$2,779/mo49.3%rent-burdened
Santa Ana, CA$2,781/mo49.4%rent-burdened
Beaumont, CA$2,791/mo49.5%rent-burdened
Rancho Cucamonga, CA$2,802/mo49.7%rent-burdened
Napa, CA$2,808/mo49.8%rent-burdened
Castro Valley, CA$2,807/mo49.8%rent-burdened
Santa Clarita, CA$2,816/mo50%rent-burdened
La Habra, CA$2,824/mo50.1%severely rent-burdened
Placentia, CA$2,823/mo50.1%severely rent-burdened
Santee, CA$2,847/mo50.5%severely rent-burdened
Oxnard, CA$2,864/mo50.8%severely rent-burdened
Berkeley, CA$2,861/mo50.8%severely rent-burdened
Camarillo, CA$2,909/mo51.6%severely rent-burdened
Perris, CA$2,911/mo51.7%severely rent-burdened
Rancho Santa Margarita, CA$2,912/mo51.7%severely rent-burdened
Torrance, CA$2,921/mo51.8%severely rent-burdened
Menifee, CA$2,921/mo51.8%severely rent-burdened
Carson, CA$2,917/mo51.8%severely rent-burdened
Oceanside, CA$2,940/mo52.2%severely rent-burdened
Union City, CA$2,941/mo52.2%severely rent-burdened
Fullerton, CA$2,945/mo52.3%severely rent-burdened
San Luis Obispo, CA$2,948/mo52.3%severely rent-burdened
Alameda, CA$2,961/mo52.6%severely rent-burdened
Walnut Creek, CA$2,969/mo52.7%severely rent-burdened
Brea, CA$2,980/mo52.9%severely rent-burdened
Pasadena, CA$2,984/mo53%severely rent-burdened
Chula Vista, CA$2,996/mo53.2%severely rent-burdened
Petaluma, CA$2,996/mo53.2%severely rent-burdened
Chino Hills, CA$3,016/mo53.5%severely rent-burdened
Temecula, CA$3,030/mo53.8%severely rent-burdened
San Diego, CA$3,054/mo54.2%severely rent-burdened
Huntington Beach, CA$3,076/mo54.6%severely rent-burdened
San Rafael, CA$3,100/mo55%severely rent-burdened
Livermore, CA$3,115/mo55.3%severely rent-burdened
Orange, CA$3,122/mo55.4%severely rent-burdened
Costa Mesa, CA$3,136/mo55.7%severely rent-burdened
Fontana, CA$3,142/mo55.8%severely rent-burdened
El Dorado Hills, CA$3,157/mo56%severely rent-burdened
Cypress, CA$3,156/mo56%severely rent-burdened
Poway, CA$3,157/mo56%severely rent-burdened
Tustin, CA$3,172/mo56.3%severely rent-burdened
Watsonville, CA$3,192/mo56.7%severely rent-burdened
Diamond Bar, CA$3,244/mo57.6%severely rent-burdened
Pleasanton, CA$3,264/mo57.9%severely rent-burdened
Gilroy, CA$3,273/mo58.1%severely rent-burdened
Oakley, CA$3,304/mo58.6%severely rent-burdened
Thousand Oaks, CA$3,307/mo58.7%severely rent-burdened
Dublin, CA$3,305/mo58.7%severely rent-burdened
San Ramon, CA$3,315/mo58.8%severely rent-burdened
Lake Forest, CA$3,337/mo59.2%severely rent-burdened
San Marcos, CA$3,346/mo59.4%severely rent-burdened
Chino, CA$3,345/mo59.4%severely rent-burdened
Fremont, CA$3,358/mo59.6%severely rent-burdened
La Mirada, CA$3,357/mo59.6%severely rent-burdened
Laguna Niguel, CA$3,372/mo59.8%severely rent-burdened
Lakewood, CA$3,391/mo60.2%severely rent-burdened
Brentwood, CA$3,416/mo60.6%severely rent-burdened
San Clemente, CA$3,420/mo60.7%severely rent-burdened
Irvine, CA$3,465/mo61.5%severely rent-burdened
Arcadia, CA$3,483/mo61.8%severely rent-burdened
Cerritos, CA$3,488/mo61.9%severely rent-burdened
Santa Monica, CA$3,493/mo62%severely rent-burdened
Redondo Beach, CA$3,500/mo62.1%severely rent-burdened
San Jose, CA$3,527/mo62.6%severely rent-burdened
Santa Cruz, CA$3,560/mo63.2%severely rent-burdened
Hacienda Heights, CA$3,568/mo63.3%severely rent-burdened
Aliso Viejo, CA$3,576/mo63.5%severely rent-burdened
Newark, CA$3,578/mo63.5%severely rent-burdened
Carlsbad, CA$3,617/mo64.2%severely rent-burdened
Eastvale, CA$3,641/mo64.6%severely rent-burdened
Milpitas, CA$3,715/mo65.9%severely rent-burdened
San Mateo, CA$3,821/mo67.8%severely rent-burdened
Novato, CA$3,822/mo67.8%severely rent-burdened
Santa Barbara, CA$3,849/mo68.3%severely rent-burdened
Morgan Hill, CA$3,893/mo69.1%severely rent-burdened
Sunnyvale, CA$3,899/mo69.2%severely rent-burdened
Santa Clara, CA$3,935/mo69.8%severely rent-burdened
Yorba Linda, CA$4,060/mo72.1%severely rent-burdened
Redwood City, CA$4,077/mo72.4%severely rent-burdened
South San Francisco, CA$4,088/mo72.6%severely rent-burdened
Newport Beach, CA$4,267/mo75.7%severely rent-burdened
Cupertino, CA$4,359/mo77.4%severely rent-burdened
Encinitas, CA$4,398/mo78.1%severely rent-burdened
Mountain View, CA$4,416/mo78.4%severely rent-burdened
Palo Alto, CA$4,501/mo79.9%severely rent-burdened
San Francisco, CA$4,539/mo80.6%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).