School custodian pay in California, by district (2026–27)
Updated 2026-11-05
The typical California district pays school custodians about $21.81 to $27.26 an hour this school year. The highest posted pay right now is at Las Lomitas Elementary ($37.14–$47.40/hr), Sequoia Union High School District ($36.19–$43.89/hr) and Hillsborough City School District ($34.35–$41.75/hr). There are 166 custodian jobs open at 131 districts and schools as of today.
The tables below cover 240 districts and schools, from 489 postings since July 1, and they update every day.
What the job usually asks for
Custodian is one of the few school jobs that regularly comes as a full day: most postings are 8 hours, and a lot of them are evening shifts, since the cleaning happens after students leave. Districts usually ask for a high school diploma or the equivalent, a driver's license, and some cleaning or building experience, and some give a short written or hands-on test. Everyone gets fingerprinted and does a TB risk assessment before starting. Lifting is part of the job; postings often name a weight.
A few things that move the rate: night shifts sometimes carry a differential, "Custodian II" or "lead" jobs pay a step or two more, and year-round (12-month) jobs pay all year where school-year jobs don't. Supervisors and maintenance trades aren't in these tables; they're paid on different ranges.
Custodian pay by district
Highest posted pay
| District or school | County | Posted pay |
|---|---|---|
| Las Lomitas Elementary | San Mateo County | $37.14–$47.40/hr |
| Sequoia Union High School District | San Mateo County | $36.19–$43.89/hr |
| Hillsborough City School District | San Mateo County | $34.35–$41.75/hr |
| Merced City School District | Merced County | $21.45–$40.44/hr |
| Gravenstein Union School District | Sonoma County | $28.07–$40/hr |
| Tulare Joint Union High School District | Tulare County | $26.17–$39.28/hr |
| Manteca Unified School District | San Joaquin County | $23.02–$39.11/hr |
| Fremont Unified School District | Alameda County | $28.61–$38.52/hr |
| Washington Unified School District - W. Sacramento | Yolo County | $23.31–$38.44/hr |
| Kentfield School District | Marin County | $30.11–$37.60/hr |
By county
Pick your county to see every district and school in it. "Typical" is the middle district: half post more, half less.
Alameda County
| District or school | Posted pay |
|---|---|
| Alameda Unified School District | $24.96–$33.49/hr |
| Albany Unified School District | $23.58–$30.08/hr |
| Education for Change Public Schools - EFC | $26.38–$34.80/hr |
| Fremont Unified School District | $28.61–$38.52/hr |
| New Haven Unified School District | $20.63/hr |
| San Leandro Unified School District | $30.70–$34.71/hr |
Butte County
| District or school | Posted pay |
|---|---|
| CORE Butte Charter School | $19.18–$34.44/hr |
| Chico Unified School District | $21.82/hr |
| Durham Unified | $20.68–$29.16/hr |
| Gridley Unified School District | $20.61–$33.57/hr |
Calaveras County
| District or school | Posted pay |
|---|---|
| Mark Twain Union Elementary School District | $18.77–$20.69/hr |
| Vallecito Union School District | $21.33–$26.07/hr |
Colusa County
| District or school | Posted pay |
|---|---|
| Pierce Joint Unified School District | $22.02–$30.12/hr |
Contra Costa County
| District or school | Posted pay |
|---|---|
| Brentwood Union School District (Northern California) | $25.03–$30.78/hr |
| Mt. Diablo Unified | $22.85–$33.79/hr |
| Pittsburg Unified School District | $24.68–$30.03/hr |
| San Ramon Valley Unified School District | $25.69–$32.79/hr |
| Walnut Creek School District | $18.64–$29.17/hr |
Del Norte County
| District or school | Posted pay |
|---|---|
| Del Norte County Unified School District and COE | $20.83–$23.66/hr |
El Dorado County
| District or school | Posted pay |
|---|---|
| El Dorado County Office of Education | $20.93–$30.75/hr |
| Lake Tahoe Unified School District | $21.68–$30.55/hr |
| Mother Lode Union School District | $20.40–$25.87/hr |
| Rescue Union School District | $23.56–$27.28/hr |
Fresno County
| District or school | Posted pay |
|---|---|
| Central Unified School District | $22.04–$29.67/hr |
| Fowler Unified | $22.11–$27.21/hr |
| Golden Plains Unified | $21.74–$25.64/hr |
| Kings Canyon Unified School District | $21.07/hr |
| Parlier Unified School District | $19.54–$22/hr |
| Sanger Unified School District | $20.40–$26.93/hr |
| Selma Unified School District (Selma, California) | $20.09–$25.71/hr |
| Sierra Unified | $21.41–$26.02/hr |
| West Park School District | $19.62–$22.20/hr |
Glenn County
| District or school | Posted pay |
|---|---|
| Willows Unified School District | $21.80–$26.58/hr |
Humboldt County
| District or school | Posted pay |
|---|---|
| Eureka City Schools | $18.48–$33.20/hr |
| Ferndale Unified School District | $19.17–$27.28/hr |
| Klamath-Trinity Joint Unified | $16.80–$20.56/hr |
Imperial County
| District or school | Posted pay |
|---|---|
| Central Union High School District | $25.58–$30.96/hr |
| McCabe Union Elementary School District | $17.98/hr |
Kern County
| District or school | Posted pay |
|---|---|
| Beardsley Elementary | $17.43–$22.22/hr |
| Lakeside Union School District | $17.23–$21.89/hr |
| McFarland Unified School District | $19.02–$24.25/hr |
| Mojave River Academy - Kern County | $24.51–$32.13/hr |
| Mojave Unified School District | $18.43–$21.36/hr |
| Rosedale Union School District | $18.52–$28.90/hr |
| Tehachapi Unified School District | $19.38–$25.26/hr |
Kings County
| District or school | Posted pay |
|---|---|
| Pioneer Union Elementary School District - Kings County | $23.10–$27.58/hr |
Lake County
| District or school | Posted pay |
|---|---|
| Lakeport Unified School District | $21.98–$28.52/hr |
Los Angeles County
| District or school | Posted pay |
|---|---|
| Acton-Agua Dulce Unified | $20.13–$24.46/hr |
| Antelope Valley Schools Transportation Agency | $21.30–$25.89/hr |
| Bonita Unified School District | $22.98–$27.88/hr |
| CHAMPS, Charter High School For The Arts | $19/hr |
| Duarte Unified School District | $20.80–$24.48/hr |
| El Segundo Unified | $20.92–$27.24/hr |
| Glendale Unified School District | $19–$26.13/hr |
| LA Promise Fund/Westbrook Academy | $20/hr |
| Lancaster School District | $23.36–$28.38/hr |
| Little Lake City School District | $21.46–$26.08/hr |
| Lowell Joint School District | $24.96–$35.38/hr |
| Manhattan Beach Unified School District | $20.35–$25.96/hr |
| Santa Clarita Valley School Food Services Agency | $20.33–$25.24/hr |
| The Palmdale Aerospace Academy | $21.09/hr |
| Valle Lindo Elementary | $30.96/hr |
| Village Christian School | $18.42/hr |
| Walnut Valley Unified School District | $24.08–$31.24/hr |
| Westside Union School District | $24.64–$24.87/hr |
| Whittier Union High School District | $23.99/hr |
| Wilsona Elementary | $20.07–$24.40/hr |
| YPI Charter Schools | $19.53–$28.69/hr |
Madera County
| District or school | Posted pay |
|---|---|
| Chawanakee USD | $21.98–$28.66/hr |
| Chowchilla Elementary School District | $18.96–$23.62/hr |
| Golden Valley Unified School District | $21.41–$31.42/hr |
| Madera Unified School District | $20.79/hr |
| Yosemite Unified School District | $18.85–$23.41/hr |
Marin County
| District or school | Posted pay |
|---|---|
| Kentfield School District | $30.11–$37.60/hr |
| Lagunitas School District | $26.15–$28.80/hr |
| Mill Valley School District | $30.12–$36.58/hr |
| Miller Creek Elementary School District | $24.03–$32.17/hr |
| Novato Unified School District | $22.79–$26.40/hr |
Mariposa County
| District or school | Posted pay |
|---|---|
| Mariposa County Unified School District and COE | $20.62–$27.64/hr |
Mendocino County
| District or school | Posted pay |
|---|---|
| Willits Unified | $21.65–$35.27/hr |
Merced County
| District or school | Posted pay |
|---|---|
| Le Grand Union High | $17.50–$21.27/hr |
| Livingston Union School District | $23.25–$27.92/hr |
| Los Banos Unified | $23.35–$28.39/hr |
| Merced City School District | $21.45–$40.44/hr |
Modoc County
| District or school | Posted pay |
|---|---|
| Tulelake Basin Joint Unified | $20.75–$23.36/hr |
Monterey County
| District or school | Posted pay |
|---|---|
| Alisal Union School District | $21.78–$27.77/hr |
| Greenfield Union School District - Monterey County | $21.28–$32.98/hr |
| Monterey Peninsula Unified School District | $22.08–$28.25/hr |
| Pacific Grove Unified School District | $27.66–$35.41/hr |
| Salinas Union High School District | $21.37–$29.26/hr |
Napa County
| District or school | Posted pay |
|---|---|
| Napa Valley Unified School District | $24.41–$28.26/hr |
Nevada County
| District or school | Posted pay |
|---|---|
| Nevada Joint Union High School District | $19.02–$26.79/hr |
| Yuba River Charter School | $18.57–$24.23/hr |
Orange County
| District or school | Posted pay |
|---|---|
| Capistrano Unified School District | $21.89–$22.99/hr |
| Fountain Valley Elementary School District | $25.67–$31.20/hr |
| Fullerton Joint Union High School District | $16.90/hr |
| Irvine International Academy | $24.63–$30/hr |
| Irvine Unified School District | $23.92–$29.81/hr |
| Lowell Joint School District - Orange | $24.96–$35.38/hr |
| Magnolia Elementary | $28.83–$36.17/hr |
| Saddleback Valley Unified | $23.77–$30.33/hr |
| Springs Charter Schools - Orange County | $19.42–$21.22/hr |
| St. Junipero Serra Catholic School | $21/hr |
Placer County
| District or school | Posted pay |
|---|---|
| Auburn Union School District | $20.72–$26.45/hr |
| Eureka Union School District | $21.69–$29.07/hr |
| Rocklin Unified School District | $22.74–$29.03/hr |
| Roseville City School District (Preschool to 8th Grade) | $22.13–$26.29/hr |
| Sierra Joint Community College | $24.52/hr |
Riverside County
| District or school | Posted pay |
|---|---|
| Alvord Unified School District | $24.07–$31.46/hr |
| Banning Unified School District | $19.84–$29.39/hr |
| Beaumont Unified School District | $21.63–$29.60/hr |
| Corona-Norco Unified School District | $24.44–$36.21/hr |
| Menifee Union School District | $20.65–$29.06/hr |
| Moreno Valley Unified School District | $22.73–$30.56/hr |
| Nuview Union School District | $24.22–$32.41/hr |
| Palm Springs Unified School District | $22.17/hr |
| Riverside Unified School District (RUSD) | $23.64–$35.48/hr |
| Romoland School District | $22.25–$31.31/hr |
| San Jacinto Unified School District | $22.44–$28.39/hr |
| Springs Charter Schools - Riverside County | $21.22–$23.19/hr |
Sacramento County
| District or school | Posted pay |
|---|---|
| Gateway Community Charters | $20–$29.66/hr |
| Natomas Unified School District | $25.75–$32.31/hr |
| New Pacific Charter - Rancho Cordova | $18.29–$23.86/hr |
| New Pacific Charter- Arden/Arcade | $18.29–$23.86/hr |
| River Delta Unified School District | $22.67–$26.28/hr |
| Sacramento City Unified School District | $22.17–$26.43/hr |
| San Juan Unified School District | $19.72–$24.79/hr |
San Benito County
| District or school | Posted pay |
|---|---|
| Hollister School District | $20.72–$22.43/hr |
San Bernardino County
| District or school | Posted pay |
|---|---|
| Alta Loma School District | $22.23–$24.03/hr |
| Barstow Unified | $23.98–$28.33/hr |
| Central School District | $21.70–$29.83/hr |
| Chaffey Joint Union High School District | $27.94–$34.66/hr |
| Chino Valley Unified School District | $23.38–$28.42/hr |
| Fontana Unified School District | $22.55–$24.62/hr |
| Hesperia Unified School District | $22.20–$29.10/hr |
| Morongo Unified School District | $21.34/hr |
| Ontario-Montclair School District (K-8) | $23.82–$28.37/hr |
| Redlands Unified School District | $22.81–$29.12/hr |
| Rim Of The World Unified | $21.03–$25.67/hr |
| San Bernardino City Unified | $22.28–$27.10/hr |
| Silver Valley Unified School District | $20.78–$22.83/hr |
| Upland Unified School District | $21.65–$26.32/hr |
| Victor Elementary School District | $27.79/hr |
San Diego County
| District or school | Posted pay |
|---|---|
| Alpine Union School District | $26.28/hr |
| Bonsall Unified School District | $19.35–$21.87/hr |
| Cardiff School District | $27.67–$35.32/hr |
| Chula Vista Elementary | $21.38–$28.40/hr |
| Coronado Unified School District | $17.33–$25.57/hr |
| EJE Elementary Academy | $22–$35/hr |
| Encinitas Union Elementary | $23.30–$30/hr |
| Fallbrook Union High School District | $24.99/hr |
| Gompers Preparatory Academy | $22/hr |
| Hawking STEAM Charter Schools INC. | $20.35–$31.18/hr |
| Lemon Grove School District | $21.32–$25.90/hr |
| Leonardo da Vinci Health Sciences Charter School | $20/hr |
| North County Trade Tech High School | $21/hr |
| San Diego County Office Of Education | $25.26–$32.24/hr |
| San Dieguito Union High School District | $21.28–$28.52/hr |
| San Marcos Unified School District | $20.92–$30.84/hr |
| San Ysidro School District | $22.13–$25.83/hr |
| Santee School District | $23.65/hr |
| Sweetwater Union High School District | $22.74–$30.85/hr |
San Francisco County
| District or school | Posted pay |
|---|---|
| Mt. Diablo Unified School District | $22.85–$27.77/hr |
| San Francisco Unified School District | $29.92/hr |
San Joaquin County
| District or school | Posted pay |
|---|---|
| Escalon Unified | $19.79–$24.45/hr |
| Lammersville Unified School District (Mountain House) | $26.30–$30.78/hr |
| Lodi Unified | $21.24–$26.94/hr |
| Manteca Unified School District | $23.02–$39.11/hr |
| Tracy Learning Center | $20–$24/hr |
San Luis Obispo County
| District or school | Posted pay |
|---|---|
| Atascadero Unified | $19.77–$24.36/hr |
| Lucia Mar Unified School District | $20.20–$25.78/hr |
| Paso Robles Joint Unified School District | $18.62–$24.96/hr |
| San Luis Coastal USD | $23.77–$26.21/hr |
| Templeton Unified School District | $22.59–$31.68/hr |
San Mateo County
| District or school | Posted pay |
|---|---|
| Belmont-Redwood Shores Elementary | $26.66–$30.88/hr |
| Burlingame School District | $26.02/hr |
| Cabrillo Unified School District | $23.69–$31.71/hr |
| Hillsborough City School District | $34.35–$41.75/hr |
| Jefferson Elementary- Daly City | $26.90–$34.34/hr |
| Jefferson Union High School District | $26.85–$34.68/hr |
| Las Lomitas Elementary | $37.14–$47.40/hr |
| Pacifica School District | $19.15–$21.12/hr |
| Ravenswood City Elementary | $24.76–$33.21/hr |
| San Carlos School District | $26.67–$32.43/hr |
| San Mateo-Foster City School District | $27.29–$36.64/hr |
| Sequoia Union High School District | $36.19–$43.89/hr |
Santa Barbara County
| District or school | Posted pay |
|---|---|
| Buellton Union School District | $21.76–$25.04/hr |
| Carpinteria Unified School District | $25.50/hr |
| Guadalupe Union School | $22.98–$25.86/hr |
| Santa Maria Joint Union High School District | $23.29/hr |
Santa Clara County
| District or school | Posted pay |
|---|---|
| Alum Rock Union Elementary School District | $27.32–$33.21/hr |
| Evergreen Elementary School District | $24.20–$30.95/hr |
| Franklin-McKinley School District | $27.94–$34.06/hr |
| Gilroy Unified | $22.14–$28.36/hr |
| Metropolitan Education District | $21.05–$23.22/hr |
| The Foundation for Hispanic Education | $25–$29/hr |
Santa Cruz County
| District or school | Posted pay |
|---|---|
| Live Oak Elementary School District | $20.97–$24.32/hr |
| Pajaro Valley Unified School District | $20.28/hr |
| Soquel Union Elementary School District | $21.01–$26.82/hr |
Shasta County
| District or school | Posted pay |
|---|---|
| Cascade Union Elementary | $17.92–$22.66/hr |
| Redding Elementary School District | Shasta Montessori Elementary School | Igo-Ono-Platina School | $20.78–$30.10/hr |
| Redding School of the Arts | $17.95–$23.76/hr |
| Shasta County Office Of Education | $20–$26.88/hr |
| Shasta Union High School District | $19.64–$21.65/hr |
Solano County
| District or school | Posted pay |
|---|---|
| Fairfield-Suisun Unified | $23.59–$25.44/hr |
Sonoma County
| District or school | Posted pay |
|---|---|
| Cloverdale Unified | $21.18–$27.01/hr |
| Cotati-Rohnert Park Unified School District | $18.94–$24.13/hr |
| Gravenstein Union School District | $28.07–$40/hr |
| Guerneville School District | $24.68–$29.96/hr |
| Petaluma City Schools | $22.02–$28.09/hr |
| Santa Rosa City Schools | $23.65–$30.19/hr |
| Sebastopol Union School District | $22.50–$24.81/hr |
| Sonoma Valley Unified School District | $22.37–$26.12/hr |
Stanislaus County
| District or school | Posted pay |
|---|---|
| Ceres Unified School District | $22.52–$27.37/hr |
| Denair Unified School District | $17.92–$23.60/hr |
| Oakdale Joint Unified School District | $22.02–$30.57/hr |
| Patterson Joint Unified School District | $25.69–$31.28/hr |
| Sylvan Union School District | $23.38–$33.14/hr |
Sutter County
| District or school | Posted pay |
|---|---|
| Sutter County Superintendent of Schools | $18.95/hr |
| Yuba City Unified School District | $21.07–$28.99/hr |
Tehama County
| District or school | Posted pay |
|---|---|
| Red Bluff Joint Union High | $19.31–$23.47/hr |
Tulare County
| District or school | Posted pay |
|---|---|
| Burton School District | $24.59/hr |
| Dinuba Unified School District | $20.76–$25.23/hr |
| Exeter Unified School District | $18.78–$27.17/hr |
| Farmersville Unified | $19.15–$26.10/hr |
| Porterville Unified School District | $21.24–$29.77/hr |
| Stone Corral Elementary | $19/hr |
| Tulare County Office of Education - Early Childhood Education | $17.75–$20.83/hr |
| Tulare Joint Union High School District | $26.17–$39.28/hr |
| Woodlake Unified School District | $18.73–$21.11/hr |
Tuolumne County
| District or school | Posted pay |
|---|---|
| Sonora Union High School District | $20.10–$22.10/hr |
| Summerville Union High School | $24.42–$28.57/hr |
Ventura County
| District or school | Posted pay |
|---|---|
| Hueneme Elementary School District | $26.55–$32.27/hr |
| Moorpark Unified School District | $20.08–$26.89/hr |
| Ojai Unified School District | $21.51–$22.82/hr |
| Rio Elementary | $22.95–$25.31/hr |
Yolo County
| District or school | Posted pay |
|---|---|
| Washington Unified School District - W. Sacramento | $23.31–$38.44/hr |
| Winters Joint Unified | $19.74–$21.74/hr |
| Woodland Joint Unified | $19.48–$23.67/hr |
Statewide organizations
| District or school | Posted pay |
|---|---|
| Rio Hondo Community College | $26.62/hr |
Where these numbers come from
We read every custodian posting on EDJOIN and on the job boards of districts that post elsewhere, as long as it's open now or went up after July 1, 2026, and keep the ones that list an hourly rate. Substitute custodians, supervisors and the grounds and maintenance trades are left out. New hires usually start at the low end of a range and move up a step a year. Pay changes, so check the posting before you apply.