The FCC may still label a license “Active” after it expires. Our counts exclude expired licenses, including those in the two-year renewal grace period, unless the data supports continued operating authority through a timely pending renewal. The grace period allows renewal but does not itself authorize transmitting. Unresolved cases are excluded and listed for review. See which licenses are counted below.
Map geography is the mailing address on the FCC license, not proven station location (PO boxes, clubs, and stale addresses matter). Growth means new grant dates in the last 12 months among currently active licenses — not net change after expirations. FCC public dumps do not include licensee ages; age maps describe the whole county population.
Data freshness
| This site generated | 2026-10-01 17:46 UTC |
|---|---|
| FCC ULS amateur dump downloaded | 2026-10-01 |
| Census population estimates downloaded | 2026-10-01 · Vintage 2024 (POPESTIMATE2024) |
| Census age/sex estimates downloaded | 2026-10-01 · cc-est2024-agesex (latest YEAR code in file) |
| Growth window | Last 12 months (grant date) |
| Active licenses loaded | 740,213 |
Dates above are when this build’s pipeline downloaded or wrote each artifact (UTC file timestamps). The FCC publishes a weekly complete amateur license file; this project is intended to refresh monthly via GitHub Actions.
Which licenses are counted?
Classification date: 2026-10-01. Active counts include unexpired licenses and expired-date licenses with a supported timely renewal still pending, including applications returned for correction. A two-year renewal grace period alone does not confer operating privileges.
| Unexpired — included | 740,025 |
|---|---|
| Pending timely renewal — included | 188 |
| Within two years past expiration — excluded | 82,212 |
| Two or more years past expiration — excluded | 425 |
| Unresolved — excluded; see license_review.csv | 327 |
Renewals are matched by call sign and FCC registration number. The documented 2025–26 renewal deadline extension is included. Other extensions, missing data, and ambiguous renewals may need review; these counts do not resolve every individual licensing case. Status tables use FCC mailing states; map states follow ZIP-to-county placement.
Maps
Continuous-scale county maps clip colors to the bulk of the distribution so extreme small-population rates do not flatten everything else. Quantile maps put ~equal numbers of counties in each color class — better for comparing ranks like 285 vs 360 licenses per 100k. Open any map, then pan/zoom (MapLibre).
State maps
-
Active licenses by state
Absolute count of active amateur licenses with a mailing address in each state.
state_license_count.html -
Licenses per 100,000 residents (state)
Density of active licenses relative to state population. Better for comparing sparsely vs densely populated states than raw counts.
state_licenses_per_100k.html -
New grants — last 12 months (state)
Active licenses whose FCC grant date falls in the last 12 months. A proxy for new licensees, not net stock change from expirations.
state_new_grants.html -
New grants per 100,000 (state)
Same 12-month grant window, scaled by population so large and small states are comparable.
state_new_grants_per_100k.html
County maps (continuous scale)
-
Active licenses by county
Absolute active-license counts by county. Large metro areas dominate.
county_license_count.html -
Licenses per 100,000 residents (county)
County density with a continuous color scale clipped to the bulk of the distribution (2nd–98th percentile) so a few extreme small-population counties do not wash out mid-range differences. Hover shows the true rate.
county_licenses_per_100k.html -
New grants — last 12 months (county)
Count of licenses with grant dates in the last 12 months, by county.
county_new_grants.html -
New grants per 100,000 (county)
Population-scaled growth proxy, continuous color scale (clipped percentiles).
county_new_grants_per_100k.html -
County median age
Census population-estimates median age of each county’s whole population (not the ages of license holders — FCC does not publish DOB).
county_median_age.html -
Share of population age 65+
Percent of county residents age 65 and older (Census estimates).
county_pct_65plus.html
County maps (quantile bins)
-
Licenses per 100,000 (county, quintiles)
Same density metric, but colored by equal-count quintiles: each class has ~20% of counties. Best for seeing rank differences in the middle of the distribution (e.g. 280 vs 360 per 100k).
county_licenses_per_100k_quantile.html -
New grants per 100,000 (county, quintiles)
12-month grants per 100k, quintile-binned for rank comparison.
county_new_grants_per_100k_quantile.html -
Population age 65+ (county, quintiles)
County % age 65+ in five equal-count classes. Useful next to ham-density quintile maps when exploring the age–hobby relationship.
county_pct_65plus_quantile.html
Age analysis
-
Scatter: density vs median age
Each point is a county. Tests whether older places have more hams per capita (ecological correlation only).
county_density_vs_median_age.html -
Scatter: density vs % age 65+
Same idea using share of population 65+ instead of median age.
county_density_vs_pct_65plus.html
Downloadable tables
Data sources
- FCC ULS — Amateur complete license dump (l_amat.zip), plus amateur applications (a_amat.zip). Weekly public dump. Counts include unexpired A records and supported timely pending renewals; grace-period and unresolved records are excluded. Geography is mailing address on the license.
- Census Population Estimates — co-est2024-alldata (Vintage 2024 (POPESTIMATE2024)).
- Census age/sex — cc-est2024-agesex-all (median age, population 65+).
- Boundaries — Census cartographic boundary files (GENZ2023 500k state & county).
- ZIP → county — Census 2020 ZCTA–county relationship (primary county by land area).
Methods (short)
- Keep unexpired A records and supported timely pending renewals; one row per call sign.
- Join licensee ZIP to county via ZCTA relationship file.
- Per-capita rates use Census county/state population estimates.
- “New grants” = grant_date within the configured rolling window.
- Age correlation is ecological (county vs county), not individual hams.
Project
Analysis code and pipeline live in the GitHub repository for this site.
Rebuild locally with ham all then ham site, or wait for
the monthly Actions workflow that publishes this Pages site.