This site joins versioned public education files by stable NCES identifiers. The goal is to make reported facts easier to inspect without turning demographics, spending, enrollment, or a missing value into an unsupported judgment about school quality.

Current directory coverage

The current build contains 98,950 school records connected to 19,249 local education agency records across all 50 states and the District of Columbia. Agency records include regular districts, independent charter districts, service agencies, specialized districts, supervisory unions, and state- or federally operated agencies. Of those school records, 96,948 (98.0%) have matched enrollment, 91,840 (92.8%) have a calculable student–teacher ratio, and 91,065 (92.0%) have at least one reported program field.

Coverage percentages describe this website’s matched dataset, not the completeness of any school’s own records. See the field-by-field data coverage report for more detail.

Sources and reporting years

Official sourceVintage usedProfile fields
NCES Common Core of Data2025–26 preliminary directory; 2024–25 complete nonfiscal filesNames, open status, addresses, grades, enrollment, teacher FTE, demographics, virtual and lunch fields
NCES EDGE2024–25County, locale, metro area, and school or district-office coordinates
NCES School District Finance Survey (F-33)FY 2023Revenue, expenditure, spending per pupil, and instruction spending per pupil
Civil Rights Data Collection2021–22English learners, IDEA enrollment, support staff, AP, gifted, and computer-science access

A newer directory record can appear beside an older program measure because federal releases follow different schedules. Every profile labels the year beside the field and links its underlying source. We do not describe joined files as a single current-year snapshot.

How records are selected and joined

  1. Start with schools and agencies identified as currently open in the preliminary NCES directory.
  2. Join membership, staffing, geographic, finance, and civil-rights records using stable NCES school or agency identifiers—not names alone.
  3. Validate every generated record against a typed schema before a page can be built.
  4. Retain the source URL, reporting year, and access date used for each profile.

Name-only fuzzy matching is not used to attach a different institution’s measurements to a profile. A record that cannot be joined confidently remains missing.

Calculations

Student–teacher ratio

Both inputs must be usable NCES CCD 2024–25 measurements. The ratio is total reported students divided by classroom-teacher full-time equivalents from that same year. A missing input or zero teacher count produces no current ratio. It is rounded to one decimal place. It is not average class size because teachers can serve different groups, subjects, schedules, and programs.

Medians and percentiles

School peer comparisons group records by state and broad school level. The median is the middle reported value, or the mean of the two middle values when the group has an even count. A percentile is the rounded share of reported peers at or below the school’s value, bounded from the 1st to the 99th percentile. A high ratio percentile is not presented as a quality score.

Finance measures

Per-pupil measures use the values reported or derived from the F-33 finance file. Headline national and state district tables include only agencies NCES classifies as regular public school districts; national finance tables also require at least 1,000 reported students and state tables require at least 200. Other agency types remain available in the directory and are compared only with the same agency type on their own profiles. These rules reduce unlike comparisons but do not make costs directly comparable across locations.

Program-access tables

The high-school program table counts positive reports across three CRDC categories: Advanced Placement, gifted/talented services, and computer science. At least two categories must be known. This measures the breadth of those reported categories only—not course quality, current availability, participation, or student outcomes.

Missing, suppressed, and historical data

“Not reported” means the source did not produce a usable value for the joined record. It does not mean zero, “no,” or that a service is absent. When a school has only current directory information, its page omits empty comparison panels and identifies exactly what can still be verified.

Values may be missing because of privacy suppression, reporting scope, source timing, a new or reorganized institution, or an identifier that did not appear in an older file. We do not estimate missing school-level values.

Historical enrollment and staffing

CRDC 2021–22 enrollment and teacher counts are preserved separately as historical measures. They never substitute for missing 2024–25 NCES figures in current statistics, rankings, or peer benchmarks. Historical agency totals aggregate matched current school records and may not represent the entire historical agency.

Correction published September 30, 2026

An earlier data join allowed older CRDC enrollment and teacher counts to fill gaps in NCES fields labeled 2024–25. It could also retain a ratio after one of its inputs changed. We separated the reporting years, recalculated current ratios only from matched same-year inputs, and regenerated comparisons and data-derived articles. Automated validation now checks the source and arithmetic for every current ratio.

Search, comparison, and location

Search includes institution names, parent agencies, actual school cities, states, ZIP codes, and NCES identifiers. Location results identify records, not attendance eligibility. The comparison tool shows up to four schools using the same dated measures as their profiles. A school location or district-office point is never drawn as an attendance boundary.

The interactive state district explorer includes every regular district with its selected measure reported. The separate highlighted finance tables apply the minimum enrollment thresholds described above. Missing values remain excluded only from the selected measure.

Need a definition? Read the school data glossary. To turn a comparison into a conversation, use our school visit checklist.

The AP indicator comes from CRDC’s student-enrollment question (SCH_APENR_IND). A positive value reports students enrolled in AP; a negative value does not prove that no course appeared in a catalog. AP course counts describe distinct courses, not repeated sections.

What is not a rating input

Race, ethnicity, disability, English-learner status, economic need, discipline, enrollment, and spending are not converted into a school-quality score. State assessments are not compared naively across state lines. An academic rating will not be published unless the outcome data, state-relative method, limitations, and weighting formula can all be shown.

Automation and editorial review

Profile pages are generated from validated records so the same disclosure rules apply nationally. Calculations and conditional explanations are deterministic. Editorial guides are written and reviewed separately. Automated prose is limited to explaining the fields present on a profile; it is not represented as first-hand knowledge of a school.

Before each data refresh, source URLs and vintages are reviewed together. Build validation catches structural errors, while representative profiles and edge cases are checked for language and presentation. Corrections can be submitted through the contact page.