Dillon Issa , home

California Teacher Salary Dashboard

The California Teacher Salary Dashboard is a public-data analytics dashboard built on California's annual teacher-salary release, CDE Form J-90. The state publishes the complete dataset every year, but it arrives as a raw Microsoft Access database that most people cannot open, filter, or compare. This project ingests that release and normalizes it into one consistent model that anyone can browse and read with assistive technology, with district-to-district comparison built in. The product has five views, a statewide overview, a searchable district directory, per-district salary schedules with the full step-and-lane detail, a side-by-side comparison, and a salary explorer. Every figure stays aggregate and institution-level, with small reporting units suppressed and no individual teacher records.

Role
Product Manager
Type
Public-data analytics dashboard
Status
Complete
  • PRD
  • Charter
  • User Guide
  • Skeletal App Demo

Problem

  • California publishes the complete teacher-salary dataset every year, but it arrives as a raw Microsoft Access database.
  • Most people cannot open a file like that, much less filter or compare it.
  • Comparing pay across districts, or reading a full step-and-lane schedule, took real technical effort for the public and researchers.
  • In very small districts, a summary figure could come close to one person's compensation, so the raw figures needed careful handling.

Solution

  • Scoped an ingestion and normalization workstream that turns the raw release into one consistent model.
  • Designed five views so a reader can browse the overview, find a district, read a schedule, and compare side by side.
  • Defined small-reporting-unit suppression so per-district figures below the floor are removed and shown as suppressed.
  • Set accessibility and data privacy as acceptance-level requirements, with each chart carrying a data-table alternative.

Results

  • Turned a raw state database into a dashboard anyone can browse and read with assistive technology.
  • Gave the public district-to-district salary comparison built in.
  • Made full step-and-lane schedules readable without opening a database.
  • Suppressed figures for small reporting units so no summary can reveal one person's pay.

What you can explore here

  • The skeletal dashboard below is an interactive prototype that renders a static, pre-baked snapshot of the public data. The overview, district directory, comparison, explorer, and about views are all present, with accessible charts that each carry a data-table alternative and never rely on color alone. The search, county and type filters, column sorting, comparison selectors, and the salary explorer all work client-side over the inlined snapshot; there is no backend, no login, and no data collection.
  • Small-reporting-unit suppression is applied in the data itself. For any district below the reporting-unit floor, the per-district salary figures are removed from the shipped snapshot and shown as "suppressed, small reporting unit," because in a very small district a summary figure could equal one person's compensation. Individual superintendent and principal salary fields from the source are excluded entirely.

Skeletal App Demo

Illustrative portfolio demo. An interactive prototype that filters, sorts, compares, and ranks a static, pre-baked snapshot of public California Department of Education Form J-90 salary data entirely in your browser. There is no backend, no login, and no data collection. Small-reporting-unit figures are suppressed in the data itself, so a suppressed salary is simply absent, not hidden.

CA Teacher Salaries Public salary data, made browsable Demo
Data source

Source: California Department of Education, Form J-90 Certificated Salaries and Benefits, 2024-2025 school year (published November 2025). https://www.cde.ca.gov/ds/fd/cs/ An independent portfolio project built from public data. It is not affiliated with, sponsored by, or endorsed by the California Department of Education.

Statewide

California teacher salary overview

Headline figures across 697 reporting districts that meet the reporting-unit floor, from 776 total reporting districts in the 2024-2025 snapshot. Source: California Department of Education (CDE), Form J-90, 2024-2025 school year.

  • Statewide average $96,422 Median district average $96,242
  • Highest average district $181,322 Mountain View-Los Altos Union (Santa Clara)
  • Lowest average district $54,108 Big Valley Joint Unified (Lassen)
  • Districts reporting 776 697 meet the reporting-unit floor; 79 suppressed
  • Total teacher FTE 263,018 Across all reporting districts

Average beginning salary $60,558

Average highest salary $122,058

Top 10 Districts by Average Salary
Mountain View-Los Altos Union $181,322
St. Helena Unified $169,801
Fremont Union High $158,950
Santa Clara Unified $149,175
Menlo Park City Elementary $147,525
Palo Alto Unified $145,938
Laguna Beach Unified $143,700
Montecito Union Elementary $141,414
Los Gatos-Saratoga Union High $141,136
Los Gatos Union Elementary $141,021
Show data table
Top 10 districts by average salary
DistrictCountyAverage salary
Mountain View-Los Altos UnionSanta Clara$181,322
St. Helena UnifiedNapa$169,801
Fremont Union HighSanta Clara$158,950
Santa Clara UnifiedSanta Clara$149,175
Menlo Park City ElementarySan Mateo$147,525
Palo Alto UnifiedSanta Clara$145,938
Laguna Beach UnifiedOrange$143,700
Montecito Union ElementarySanta Barbara$141,414
Los Gatos-Saratoga Union HighSanta Clara$141,136
Los Gatos Union ElementarySanta Clara$141,021
Average Salary by County (Top 8)
Napa $138,706
Santa Clara $121,368
Marin $113,580
Orange $113,249
Riverside $112,261
San Mateo $111,299
Imperial $110,099
Alameda $109,280
Show data table
Top 8 counties by mean district average salary
CountyDistrictsMean district average
Napa3$138,706
Santa Clara28$121,368
Marin12$113,580
Orange28$113,249
Riverside21$112,261
San Mateo18$111,299
Imperial13$110,099
Alameda17$109,280
Salary Distribution (All 776 Districts)
$40k-50k 0
$50k-60k 4
$60k-70k 20
$70k-80k 96
$80k-90k 127
$90k-100k 174
$100k-110k 154
$110k-120k 76
$120k-130k 27
$130k-140k 5
$140k-150k 11
$150k-160k 1
$160k-170k 1
$170k-180k 0
$180k-190k 1
Show data table
Count of districts by average-salary band
Salary bandDistricts
$40k-50k0
$50k-60k4
$60k-70k20
$70k-80k96
$80k-90k127
$90k-100k174
$100k-110k154
$110k-120k76
$120k-130k27
$130k-140k5
$140k-150k11
$150k-160k1
$160k-170k1
$170k-180k0
$180k-190k1
Beginning vs Highest Salary (sampled districts)

Horizontal axis: beginning salary. Vertical axis: highest salary.

Show data table
Beginning and highest salary for sampled districts
DistrictBeginningHighest
Saddleback Valley Unified$30,000$133,169
Templeton Unified$46,688$107,678
Piner-Olivet Union Elementary$48,872$126,391
Fortuna Union High$50,096$102,137
Susanville Elementary$51,125$95,106
Upper Lake Unified$51,883$114,383
Fallbrook Union Elementary$52,921$129,725
Brea-Olinda Unified$53,617$128,193
Ballico-Cressey Elementary$54,349$99,485
Linden Unified$55,108$113,502
Ripon Unified$56,000$110,709
Anderson Valley Unified$56,585$97,234
Chico Unified$56,997$121,381
Lassen View Union Elementary$57,716$109,390
Redding Elementary$58,469$107,666
San Pasqual Union Elementary$58,859$117,409
John Swett Unified$59,264$117,249
Oroville City Elementary$59,796$114,343
National Elementary$60,297$129,486
Bennett Valley Union Elementary$60,837$112,560
Mcswain Union Elementary$61,142$120,159
Shiloh Elementary$61,594$107,573
Perris Elementary$62,325$144,477
Nuview Union Elementary$62,950$144,050
Walnut Valley Unified$63,690$143,470
Ross Valley Elementary$64,142$117,301
Orange Unified$65,014$136,010
Long Beach Unified$65,703$137,718
Pixley Union Elementary$66,756$117,449
San Bernardino City Unified$67,927$136,734
Roseville Joint Union High$69,263$134,857
Hacienda La Puente Unified$70,168$134,578
Burton Elementary$71,538$137,082
Beverly Hills Unified$74,743$142,810
Sunnyvale$80,296$150,834

Directory

Districts

All 776 reporting districts. Search, filter by county or type, sort any column, and limit to districts with a full salary schedule. Districts below the 10-FTE reporting-unit floor are listed and counted, but their salary figures are suppressed. Source: California Department of Education (CDE), Form J-90, 2024-2025 school year.

Showing 1 to 25 of 776 districts.

Reporting districts. Full schedule = the complete step-and-lane salary schedule is available.
Full schedule
Abc Unified Los Angeles Unified 740 $65,755 $103,886 $127,886 Summary only
Acalanes Union High Contra Costa High school 292 $64,303 $114,940 $131,169 Summary only
Ackerman Elementary Placer Elementary 29 $56,966 $86,172 $111,477 Summary only
Adelanto Elementary San Bernardino Elementary 366 $65,646 $108,309 $138,368 Summary only
Alameda Unified Alameda Unified 488 $68,272 $100,649 $124,990 Summary only
Albany City Unified Alameda Unified 226 $61,136 $97,728 $120,016 Summary only
Alhambra Unified Los Angeles Unified 847 $54,265 $110,564 $148,983 Summary only
Alisal Union Elementary Monterey Elementary 344 $57,111 $97,484 $129,403 Summary only
Allensworth Elementary Tulare Elementary 7 Suppressed - small reporting unit Summary only
Alpaugh Unified Tulare Unified 19 $61,261 $78,385 $103,350 Summary only
Alpine County Unified Alpine Unified 8 Suppressed - small reporting unit Summary only
Alpine Union Elementary San Diego Elementary 80 $59,701 $91,484 $122,820 Summary only
Alta Loma Elementary San Bernardino Elementary 276 $56,659 $98,353 $126,233 Summary only
Alta Vista Elementary Tulare Elementary 27 $59,926 $94,653 $122,120 Summary only
Alum Rock Union Elementary Santa Clara Elementary 457 $69,440 $105,419 $129,227 Summary only
Alview-Dairyland Union Element Madera Elementary 19 $54,956 $81,642 $102,601 Summary only
Alvord Unified Riverside Unified 705 $67,828 $124,525 $147,670 Summary only
Anaheim Elementary Orange Elementary 796 $65,813 $112,102 $132,436 Summary only
Anaheim Union High Orange High school 1,174 $63,781 $119,943 $139,964 Summary only
Anderson Union High Shasta High school 82 $50,399 $90,453 $116,784 Summary only
Anderson Valley Unified Mendocino Unified 32 $56,585 $70,420 $97,234 Summary only
Antelope Elementary Tehama Elementary 40 $48,223 $84,056 $103,048 Summary only
Antelope Valley Union High Los Angeles High school 843 $50,398 $99,486 $133,882 Summary only
Antioch Unified Contra Costa Unified 763 $63,441 $108,640 $131,859 Summary only
Apple Valley Unified San Bernardino Unified 715 $60,367 $95,886 $136,253 Summary only

District detail: San Diego City Unified

Unified district, San Diego County. Full salary schedule (first 14 steps shown).

  • $58,609Beginning
  • $105,672Average
  • $124,050Highest
  • 5,589Teacher FTE
Salary by step (row) and lane (column). Each cell shows the salary; the light shading is a secondary cue only.
Step BABA+36 OR MABA+60 OR BA+54+MABA+72 OR MA+66BA+90 OR MA+84
1 $58,609$62,185$65,763$69,338$72,917
2 $60,809$64,387$67,963$71,541$75,116
3 $63,099$66,674$70,252$73,828$77,406
4 $65,481$69,059$72,635$76,213$79,789
5 $67,958$71,534$75,112$78,687$82,265
6 $70,532$74,110$77,686$81,264$84,842
7 $73,213$76,791$80,366$83,945$87,520
8 $75,997$79,575$83,151$86,729$90,305
9 $78,891$82,469$86,047$89,623$93,201
10 $81,903$85,479$89,057$92,633$96,211
11 $85,034$88,609$92,188$95,766$99,341
12 $85,034$91,868$95,446$99,022$102,600
13 $85,034$91,868$98,835$102,413$105,988
14 $85,034$91,868$98,835$105,934$109,512
Salary progression by lane (one line per lane)
  • BA
  • BA+36 OR MA
  • BA+60 OR BA+54+MA
  • BA+72 OR MA+66
  • BA+90 OR MA+84
$50K $60K $70K $80K $90K $100K $110K 1234567891011121314 Step (years of experience) Salary BABA+36BA+60BA+72BA+90

Horizontal axis: step (1 to 14, years of experience). Vertical axis: salary. Each lane is one continuous line, labelled at its right end and keyed above; full values are in the schedule table above.

Side by side

Compare districts

Choose two to four full-schedule districts to compare over their common steps on the base lane. Lane labels vary by district, so comparisons use the first (base) lane and common steps only. Source: California Department of Education (CDE), Form J-90, 2024-2025 school year.

Comparing 3 districts over 12 common steps.

Base-lane salary by step. Highest and lowest at each step are labeled in text; the green and red shading is a secondary cue only. Difference is highest minus lowest.
Step Los Angeles UnifiedSan Diego City UnifiedFresno Unified Difference
1 $60,420 Highest $58,609 Lowest $59,054 $1,811
2 $60,420 Lowest $60,809 $62,597 Highest $2,177
3 $60,420 Lowest $63,099 $66,141 Highest $5,721
4 $61,471 Lowest $65,481 $69,684 Highest $8,213
5 $64,641 Lowest $67,958 $71,774 Highest $7,133
6 $65,314 Lowest $70,532 $71,774 Highest $6,460
7 $67,333 Lowest $73,213 Highest $71,774 $5,880
8 $69,599 Lowest $75,997 Highest $71,774 $6,398
9 $72,801 $78,891 Highest $71,774 Lowest $7,117
10 $76,034 $81,903 Highest $71,774 Lowest $10,129
11 $85,034 Highest $59,999 $85,034
12 $85,034 Highest $63,599 $85,034

Salary explorer

Who pays most at a chosen step and lane

Pick an experience step and an education lane, then rank the full-schedule districts by salary at that point. Source: California Department of Education (CDE), Form J-90, 2024-2025 school year.

Ranking 12 districts at step 10, First lane (base column).

Ranked by salary at step 10
1. Fremont Unified $108,378
2. Riverside Unified $91,110
3. Long Beach Unified $89,894
4. Capistrano Unified $88,887
5. San Diego City Unified $81,903
6. Sweetwater Union High $79,976
7. Oakland Unified $78,360
8. San Bernardino City Unified $77,257
9. Kern Union High $76,492
10. Los Angeles Unified $76,034
11. Irvine Unified $72,514
12. Fresno Unified $71,774

Ranked list

  1. Fremont Unified Alameda $108,378
  2. Riverside Unified Riverside $91,110
  3. Long Beach Unified Los Angeles $89,894
  4. Capistrano Unified Orange $88,887
  5. San Diego City Unified San Diego $81,903
  6. Sweetwater Union High San Diego $79,976
  7. Oakland Unified Alameda $78,360
  8. San Bernardino City Unified San Bernardino $77,257
  9. Kern Union High Kern $76,492
  10. Los Angeles Unified Los Angeles $76,034
  11. Irvine Unified Orange $72,514
  12. Fresno Unified Fresno $71,774

About this data

Source, terms, and limitations

Source

Source: California Department of Education, Form J-90 Certificated Salaries and Benefits, 2024-2025 school year (published November 2025). https://www.cde.ca.gov/ds/fd/cs/

An independent portfolio project built from public data. It is not affiliated with, sponsored by, or endorsed by the California Department of Education.

Key terms

Step
Years of experience on the salary schedule.
Lane / column
Education level (for example bachelor's, bachelor's plus units, master's). Labels vary by district.
Beginning
The minimum salary on the schedule.
Average
The FTE-weighted average salary across schedule positions.
Highest
The maximum salary on the schedule.
Teacher FTE
Full-time-equivalent teacher count on the schedule.

Coverage and limitations

  • The J-90 survey is voluntary, so not every district reports. Not-reported values are labeled, never shown as a misleading zero.
  • Lane labels and step structures differ by district, so cross-district comparisons are approximate and use common steps only.
  • Figures are a fixed 2024-2025 snapshot and will age until the next annual release.

Privacy

The dashboard presents aggregate, institution-level statistics and published salary schedules only, with no individual teacher records or identifiers. Districts below the 10-FTE reporting-unit floor have their per-district salary figures suppressed in the data itself, because in a very small district a summary figure could equal one person's compensation. Individual superintendent and principal salary fields in the source are excluded from the data entirely.