01
Two point three million
people work for
the federal government.
= 100,000 · Defense civilian (33%) 2,313,216 total · 15 top agencies · 50 states
By agency
Top 15 by civilian headcountThe Department of Defense's civilian workforce alone - over 770,000 people - is larger than the next two agencies, Veterans Affairs and Homeland Security, combined. The shape of the federal government - by people - is overwhelmingly defense, healthcare, and borders. Median salary varies by 2× across these agencies, mostly because of which job series each agency leans on.
Veterans Affairs
Homeland Security
Justice
Treasury (incl. IRS)
Agriculture
Health & Human Services
Interior
Social Security Administration
Transportation
Commerce
NASA
Energy
Environmental Protection Agency
State
est Salary is an illustrative stand-in for DoD, DHS and DOJ - OPM redacts pay for all of DoD and most DHS/DOJ law-enforcement staff, so no honest median can be computed. Every other agency salary is a real FY2024 median. Headcount, veteran share and STEM share are real for all. See methodology.
Who staffs each agency
Two dimensions the headline count hides: what share of each agency is veterans, and what share works in a STEM occupation. Defense and Veterans Affairs lean veteran; Energy, Commerce, and HHS lean STEM.
By occupation
Top occupational series · pay distributionEach row is one occupational series, ordered by real Sept-2024 headcount. The bar shows the real pay spread - 10th percentile to 90th, with the median marked inside - over the unredacted records. Physician (0602) and Air Traffic Controller (2152) hit eye-catching ceilings because they break the GS cap via Title 38 special pay or premium pay; the median is what most people in that series actually earn. Four series where OPM redacts most of the pay - Contracting, General Engineer, Criminal Investigator, Police - carry an est-badged stand-in instead. Headcount is real for every row.
est Pay spread is an illustrative stand-in for Contracting (1102), General Engineer (0801), Criminal Investigator (1811) and Police (0083) - OPM redacts most of those series' pay, so a real percentile spread would be biased. All other spreads and every headcount are real FY2024 figures. See methodology.
By geography
By locality pay area - the unit OPM sets pay againstMost federal civilian workers are nowhere near Washington: the largest single group sits in the Rest of U.S. locality - every county outside a named metro - ahead of the Washington-Baltimore area. Locality pay makes a real difference in take-home: the Rest-of-U.S. floor adds 16.8% on top of base pay, Washington-Baltimore adds 33.3%, and San Jose-San Francisco tops out at 45.4%. Counts below cover only employees with a disclosed duty station - OPM redacts location for all of DoD - so read each as a floor, not a full total.
Rest of U.S.
NationwideWashington-Baltimore-Arlington
DC-MD-VA-WVNew York-Newark
NY-NJ-CT-PAAtlanta-Athens-Sandy Springs
GA-ALLos Angeles-Long Beach
CABoston-Worcester-Providence
MA-RI-NHPhiladelphia-Reading-Camden
PA-NJ-DE-MDSan Jose-San Francisco-Oakland
CADallas-Fort Worth
TX-OKChicago-Naperville
IL-IN-WIDenver-Aurora
COKansas City-Overland Park
MO-KSHouston-The Woodlands
TXSeattle-Tacoma
WAMiami-Fort Lauderdale
FLHeadcounts and medians are real FY2024 figures, but cover only the ~55% of the workforce with a disclosed duty station; OPM redacts location for all of DoD, so these are disclosed-duty-station counts, not full-population totals. Locality percentages are the published 2024 OPM rates. See methodology.
The GS pyramid
Where federal employees actually sit on the General ScheduleThe federal General Schedule runs from GS-1 (entry clerical) to GS-15 (senior), with the Senior Executive Service (SES) above it. The classic wide-base pyramid is mostly a myth: GS-12 and GS-13 are the two largest single grades, and a plurality of the workforce - about 40% - sits outside the numbered GS grades entirely (wage-grade trades, Title 38 medical schedules, and agency pay systems like TSA, FAA and DoD demo). Bar lengths and the median-pay column are both real: grade is not redacted, and because GS pay is schedule-bound, the median over the unredacted records is representative of each band.
Methodology
Notes on the data
This page reads the U.S. federal civilian executive-branch workforce as of the September 2024 snapshot. The source is OPM FedScope Employment, in its record-level release on data.opm.gov - one row per federal civilian employee. The pipeline aggregates that file directly (see scripts/build-data.ts).
What is real vs. a stand-in
Real, from the record-level file: every headcount, the veteran and STEM shares, the year-over-year change, the GS-grade distribution, the geography section (by locality pay area), and most salary medians. Curated stand-ins: only the salary cells for groups OPM redacts at source. OPM stores REDACTED in place of pay for ~45% of records - 100% of the Department of Defense (a third of the workforce), plus 72% of DHS and 64% of DOJ. Where more than half of a group's pay is redacted, no honest median can be computed, so those cells keep a curated placeholder that is marked with an est badge everywhere it appears, never shown as a real number: the agency medians for DoD, DHS and DOJ, and the occupation medians for Contracting (1102), General Engineer (0801), Criminal Investigator (1811) and Police (0083). Every other salary on the page is a real FY2024 median over the unredacted records.
What FedScope captures
Executive-branch civilian employees, which is the lion's share of the federal workforce visible in this view: 2.31 million people. Not in this dataset: active-duty military (1.3M), Postal Service (~600K, a separate accounting), the Legislative branch (Congress, GAO, CBO, Library of Congress), the Judicial branch, and several intelligence agencies that are statutorily redacted.
Pictograms as data marks
Each Aicher-style figure represents a fixed unit (25,000 people for agencies, 15,000 for geography, 100,000 for the masthead total). Counts are rounded to the nearest whole figure; long tails are summarized with a "+N" overflow. Different occupational series get different pictograms (lawyer / doctor / engineer / agent / manager) but the figure-as-unit remains constant.
Pay distributions
OPM's only pay column is annualized adjusted basic pay - base pay plus locality, the figure on an employee's SF-50. For each occupational series the bar shows the real 10th-to-90th-percentile spread over the unredacted records, with the median as a vertical mark; physician (0602) and air traffic controller (2152) break the GS ceiling via Title 38 and premium pay. The four series where OPM redacts most of the pay - Contracting (1102), General Engineer (0801), Criminal Investigator (1811), Police (0083) - instead carry an est-badged stand-in, because a percentile spread over only the unredacted minority would be biased. Headcounts are always real.
Geography and locality pay
Geography groups the workforce by locality pay area - the unit OPM actually sets pay against. Headcounts and medians per area are real, but they cover only the ~55% of employees with a disclosed duty station: OPM redacts location for the same records it redacts pay (all of DoD), so these are disclosed-duty-station counts, not full-population totals, and they understate exactly the places where DoD civilians concentrate. Treat each area's figure as a floor. The locality percentages are the published 2024 OPM rates (Rest of U.S. 16.82%, Washington-Baltimore 33.26%, San Jose-San Francisco 45.41%); a GS-13 nets those points above base pay.
What's still curated
The seven est-badged salary cells above (redaction, non-random). Also absent: career length / tenure trends, separation rates, time-in-grade, and per-agency occupation/grade splits. The compare page reads the real headcount / salary (where real) / veteran / STEM fields; the searchable "any agency × any agency" picker is the next pass.
Generated 2026-07-10 23:26 UTC
Source: OPM FedScope Employment, record-level release (data.opm.gov), Sept 2024 snapshot