Geography / county population & migration / DOCUMENTED CSV
County Population & Migration History, 2020–2025
Compare county population size, growth and the components behind it. Six years of consistent Census estimates, prepared as county summaries and annual histories with clear dates and definitions.
Census Vintage 2025 · July 2020–2025 · fixed edition
01 / KNOW THE FIT
A useful join starts
with a clear meaning.
What you can do with it
Add population trends to county market comparisons, service-area plans and regional research. Compare both the scale and percentage of growth, then separate natural change from net domestic and international migration.
What one row means
county_summary.csv has one row per county FIPS, with six July populations, recent and five-year growth, and the latest components. population_history.csv has one row per county and year, with dates, counts, published per-1,000 rates and growth percentages. The period table and source-row audit complete the package.
Unique keycounty_fips
How to join it
Read five-digit county FIPS as text. Join the summary directly to a county list. Filter the history to the required year before joining for one row per county; an unrestricted history join produces six rows. All years use Vintage 2025 boundaries, including nine Connecticut planning regions.
Coverage, with the edges visible
All 3,144 counties and equivalents in the 50 states and DC, with complete six-year histories. All 3,195 source rows are accounted for: 3,144 county rows included and 51 state/DC rows excluded from the county product but used to reconcile all 62 count fields. Puerto Rico and other territories are outside this source file.
Keep in mind
- These are Census population estimates from one vintage, not six separately published editions or unadjusted decennial census counts. Later vintages can revise the entire history.
- Population is measured on July 1. Components for 2021–2025 cover July 1 of the preceding year through June 30; 2020 covers only April–June and must not be compared as a full year.
- Net migration is arrivals minus departures, not gross moves or origin–destination flows. Net international migration is not a foreign-born population count.
- Source component rates are per 1,000 average beginning/end population. ACD growth percentages use beginning population. The residual is retained so the components reconcile to total change.
- No age/race/sex detail, forecasts, ZIP estimates, confidence intervals or geographic conversion across vintages. Check dates and boundaries before combining this reference with ACS, SAIPE or other products.
Preserves leading zeros, original labels, every numeric source value and genuine negatives/zeros. Converts the source character encoding to UTF-8; separates county rows from state totals; reshapes all six years with explicit period definitions; derives documented growth percentages; and checks population balances, published rate denominators and county-to-state sums. Independent acceptance compares all delivered cells and derived growth with the retained original CSV. Raw, staging and processing layers replay offline. How we prepare and version our data →
02 / TRY THE SHAPE
Real rows. Before you buy.
These are the first three rows from the delivered CSV, showing 6 of 31 fields. The free download contains the first five rows and all 31 fields; it is a format sample, not a coverage test.
| county_fips | county_name | population_2020 | population_2025 | change_2024_2025 | change_pct_2024_2025 |
|---|---|---|---|---|---|
| 01001 | Autauga County | 58914 | 61920 | 444 | 0.7222 |
| 01003 | Baldwin County | 233252 | 267761 | 6109 | 2.3348 |
| 01005 | Barbour County | 24958 | 24607 | 87 | 0.3548 |
03 / NO GUESSING
Main table fields, explained.
The main table’s field dictionary from the current download. CSV has no built-in types; these are the intended import types.
| Field | Type | Meaning |
|---|---|---|
county_fips | string | Five-character state+county FIPS; import as text. Includes county equivalents and Connecticut planning regions. |
state_fips | string | Two-character state FIPS; import as text. |
state_name | string | Published state name. |
county_name | string | Published county/equivalent name, accents retained. |
region_code | string | One-character Census region code. |
region_name | string | Census region label. |
division_code | string | One-character Census division code. |
division_name | string | Census division label. |
vintage | integer | 2025: one consistently revised Census time series, not an observation year or ACD processing revision. |
geography_date | string | 2025-01-01 boundaries used throughout this source vintage, including its earlier estimates. |
population_base_2020_apr1 | number | Published April 1, 2020 estimates base; people. Revised starting population, not the original unadjusted decennial count. |
group_quarters_base_2020_apr1 | number | Published April 1, 2020 group-quarters estimates base; people, included in the total base. |
population_2020 | number | July 1, 2020 resident population from Vintage 2025; people. |
population_2021 | number | July 1, 2021 resident population from Vintage 2025; people. |
population_2022 | number | July 1, 2022 resident population from Vintage 2025; people. |
population_2023 | number | July 1, 2023 resident population from Vintage 2025; people. |
population_2024 | number | July 1, 2024 resident population from Vintage 2025; people. |
population_2025 | number | July 1, 2025 resident population from Vintage 2025; people. |
change_2024_2025 | number | July 1 2024 to July 1 2025 population change; people. Calculated from the same vintage. |
change_pct_2024_2025 | number | 100 × change_2024_2025 / population_2024; percent, ACD-derived, four decimals ROUND_HALF_UP; not annualized. |
change_2020_2025 | number | July 1 2020 to July 1 2025 population change; people. Calculated from the same vintage. |
change_pct_2020_2025 | number | 100 × change_2020_2025 / population_2020; percent, ACD-derived, four decimals ROUND_HALF_UP; not annualized. |
births_2025 | number | Births during the component period; people. 2025 component period is July 1, 2024–June 30, 2025; group quarters is July 1, 2025. |
deaths_2025 | number | Deaths during the component period; people. 2025 component period is July 1, 2024–June 30, 2025; group quarters is July 1, 2025. |
natural_change_2025 | number | Births minus deaths during the component period; people. 2025 component period is July 1, 2024–June 30, 2025; group quarters is July 1, 2025. |
net_international_migration_2025 | number | Net international migration; people. Includes US-born and non-US-born migration, Puerto Rico flows and overseas Armed Forces movement; not foreign-born immigration alone. 2025 component period is July 1, 2024–June 30, 2025; group quarters is July 1, 2025. |
net_domestic_migration_2025 | number | Domestic inflows minus outflows; people. Net total, not gross flows or origin/destination pairs. 2025 component period is July 1, 2024–June 30, 2025; group quarters is July 1, 2025. |
net_migration_2025 | number | Net domestic plus net international migration; people. 2025 component period is July 1, 2024–June 30, 2025; group quarters is July 1, 2025. |
residual_2025 | number | Published balancing residual after natural change and net migration; people. Preserve it; not an additional identified migration flow. 2025 component period is July 1, 2024–June 30, 2025; group quarters is July 1, 2025. |
group_quarters_population_2025 | number | July 1 group-quarters population estimate; a subset of the resident population, not an extra population to add. 2025 component period is July 1, 2024–June 30, 2025; group quarters is July 1, 2025. |
source_row | integer | One-based data row in the original population.csv, excluding header. |
04 / INSIDE THE DOWNLOAD
Data, with its context.
One ZIP · 1.3 MB · 17 files. No account or subscription required.
README.mdImport guidance, method, attribution, and limitationsacceptance.jsonIndependent original-source comparisons and growth calculationsall_tables_dictionary.jsonFields, units, source columns and formulas for all four tableschecksums.jsonSHA-256 checksums for the release filescounty_summary.csvMain prepared table · UTF-8 CSVdata_dictionary.jsonTypes and definitions for every fieldexample.pyNotebook-compatible county growth and migration comparisonexample_input.csvFictional project labels with real county identifiersexample_output.txtChecked printed outputexample_result.csvChecked growth and migration resultmetadata.jsonSource provenance, production time, counts, and CSV checksumperiods.csvSix explicit population and component periods, including the initial 2020 quarterpopulation_history.csv18,864 county/year records, 28 fields: populations, components, dates, rates and growthprovenance.jsonRetained source identifiers, URLs and file checksumsquality_report.jsonCoverage, missingness and product-specific quality checksrevision.jsonChanges and free-upgrade eligibility for this ACD revisionsource_row_status.csvOutcome for all 3,195 original county and state/DC source rows
05 / DATES THAT MEAN SOMETHING
Sources, versions & changes.
Source versions identify the inputs. Our processing revision describes how we prepare them. Either kind of change creates a new ACD release; the package date records when it was built.
Current source versions
- Census source vintage
- Vintage 2025 · one revised series for 2020–2025
- Census release
- March 26, 2026
- Population dates
- July 1 of each year, 2020–2025; separate April 1, 2020 base
- County geography
- January 1, 2025 boundaries
- ACD capture / preparation
- October 18, 2026 UTC · processing revision 1
- Package prepared (UTC)
- Census county population estimates
- Free original Vintage 2025 CSV
- Official field layout and period definitions
- Vintage 2025 methodology
- March 26, 2026 source release
- Census data dissemination and reuse policy
Source: U.S. Census Bureau, Population Estimates Program. Original Census data are freely available. ACD sells preparation, validation, documentation and delivery. Independent preparation; no Census Bureau endorsement.
RELEASE HISTORY
Oct 18, 2026 · current package (UTC)
First ACD edition of the retained Vintage 2025 inputs. The within-vintage growth fields describe population change over time; they are not comparisons between source editions or ACD releases. Same-source processing improvements are included.
County population: source and preparation recordProcessing corrections and improvements for your purchased source edition are free. Genuinely new source editions may be sold separately. See the update policy and access instructions.
Check the downloaded CSV’s integrity
The metadata file inside the ZIP records this SHA-256 checksum for county_summary.csv. A matching checksum confirms identical CSV bytes.
7ded211094c986894adbb41276ce1ea867dfbe15a5b21d03670a9a80dce39185READY TO PUT IT TO WORK?
County Population & Migration History, 2020–2025
$29 USD · one time · 3,144 county and equivalent records