{"id":1009,"date":"2026-10-23T17:31:27","date_gmt":"2026-10-23T17:31:27","guid":{"rendered":"http:\/\/jfdi-blog-us-county-map-from-excel-fips"},"modified":"2026-10-23T17:31:27","modified_gmt":"2026-10-23T17:31:27","slug":"us-county-map-from-excel-fips","status":"publish","type":"post","link":"https:\/\/jfdi.pro\/blog\/us-county-map-from-excel-fips\/","title":{"rendered":"How to map US county data from Excel (FIPS codes explained)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">To map US county data, you need a column that identifies each county, ideally its five-digit FIPS code, and a column of values. Paste both into the <a href=\"https:\/\/jfdi.pro\/map\/\">JFDI map maker<\/a> and it draws all of the roughly 3,200 counties and county-equivalents, with state borders on top. It&#8217;s free, there&#8217;s no account, and your spreadsheet isn&#8217;t uploaded.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/jfdi.pro\/map\/\">Open the map maker<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Most problems with county maps come from the codes, not the map. Here&#8217;s how FIPS codes work and how to avoid the usual gaps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What a FIPS code is<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A county FIPS code has five digits: two for the state, then three for the county within it.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>County<\/th><th>State code<\/th><th>County code<\/th><th>FIPS<\/th><\/tr><\/thead><tbody><tr><td>Autauga County, Alabama<\/td><td>01<\/td><td>001<\/td><td>01001<\/td><\/tr><tr><td>Los Angeles County, California<\/td><td>06<\/td><td>037<\/td><td>06037<\/td><\/tr><tr><td>Cook County, Illinois<\/td><td>17<\/td><td>031<\/td><td>17031<\/td><\/tr><tr><td>Miami-Dade County, Florida<\/td><td>12<\/td><td>086<\/td><td>12086<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Almost every US government dataset (Census Bureau, BLS, CDC, USDA) includes FIPS codes, often in a column called <code>GEOID<\/code>, <code>FIPS<\/code> or <code>county_fips<\/code>. Codes are more reliable than names, because many states share county names: there are dozens of Washington Counties and Jefferson Counties.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step by step<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Get your data into two columns<\/strong>: the FIPS code (or county name) and the value. Extra columns are fine.<\/li>\n\n\n\n<li><strong>Paste it into the <a href=\"https:\/\/jfdi.pro\/map\/\">map maker<\/a><\/strong>, or drop the CSV or Excel file on the page. It recognises county data and switches to the US county map on its own.<\/li>\n\n\n\n<li><strong>Check the match count<\/strong> under Data. If any rows aren&#8217;t matched, press <strong>Fix<\/strong> to see why.<\/li>\n\n\n\n<li><strong>Pick a scale.<\/strong> With 3,000 areas, a smooth gradient often reads better than steps. Turn on <strong>Log scale<\/strong> for things like population density that vary a thousandfold.<\/li>\n\n\n\n<li><strong>Zoom if you need to.<\/strong> If all your data is in one state or a few neighbouring ones, the map zooms in automatically. You can choose the area yourself under <strong>Map \u203a Area<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/jfdi.pro\/blog\/wp-content\/uploads\/2026\/10\/us-counties-density.png\" alt=\"A map of US counties shaded by population density\"\/><figcaption class=\"wp-element-caption\">US counties by people per square kilometre, on a log scale. Census Bureau 2019 estimates.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Mistake 1: Excel drops the leading zero<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open a CSV in Excel and <code>01001<\/code> becomes <code>1001<\/code>. Every county in the seven states whose codes start with 0 (Alabama, Alaska, Arizona, Arkansas, California, Colorado and Connecticut) loses a digit. Joins in other tools then quietly fail for those states.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The map maker handles four-digit codes, so <code>1001<\/code> still finds Autauga County. If you need the zeros back for other work, the <a href=\"https:\/\/jfdi.pro\/convert\/\">JFDI file converter<\/a> keeps them when it turns a CSV into an Excel file. There&#8217;s a whole post on <a href=\"https:\/\/jfdi.pro\/blog\/csv-leading-zeros-excel\/\">why Excel loses leading zeros and how to stop it<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mistake 2: Connecticut&#8217;s counties no longer exist in the data<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Connecticut replaced its eight counties with nine planning regions as county-equivalents. The Census Bureau began publishing data for the regions in 2023, starting with population estimates and the 2022 American Community Survey (<a href=\"https:\/\/www.ctdata.org\/blog\/geographic-resources-for-connecticuts-new-county-equivalent-geography\">CTData<\/a>). The new codes run from 09110 to 09190:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>FIPS<\/th><th>Planning region<\/th><\/tr><\/thead><tbody><tr><td>09110<\/td><td>Capitol<\/td><\/tr><tr><td>09120<\/td><td>Greater Bridgeport<\/td><\/tr><tr><td>09130<\/td><td>Lower Connecticut River Valley<\/td><\/tr><tr><td>09140<\/td><td>Naugatuck Valley<\/td><\/tr><tr><td>09150<\/td><td>Northeastern Connecticut<\/td><\/tr><tr><td>09160<\/td><td>Northwest Hills<\/td><\/tr><tr><td>09170<\/td><td>South Central Connecticut<\/td><\/tr><tr><td>09180<\/td><td>Southeastern Connecticut<\/td><\/tr><tr><td>09190<\/td><td>Western Connecticut<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The region boundaries don&#8217;t line up with the old counties, so there&#8217;s no honest way to draw old-county data (such as Fairfield County, 09001) on the current map. The map maker tells you this rather than guessing. If your data is older, you&#8217;ll need a pre-2022 boundary file, which you can load under <strong>Map \u203a Use my own boundaries<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mistake 3: Names that changed<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A few counties have been renamed or split, and older datasets still use the old versions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Shannon County, South Dakota<\/strong> became <strong>Oglala Lakota County<\/strong> in 2015, with a new code. The map maker matches both.<\/li>\n\n\n\n<li><strong>Dade County, Florida<\/strong> is <strong>Miami-Dade<\/strong>.<\/li>\n\n\n\n<li><strong>Valdez-Cordova, Alaska<\/strong> split into Chugach and Copper River in 2019. The map shows the combined area, and data for the two new areas is suggested as part of it.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">If you only have names<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Names work, as long as the state is there too. All of these match:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Cook County, Illinois<\/code>, <code>Cook County, IL<\/code>, <code>Cook, IL<\/code><\/li>\n\n\n\n<li>county in one column and state in another (the map maker pairs them up)<\/li>\n\n\n\n<li>parishes in Louisiana, boroughs and census areas in Alaska, and Virginia&#8217;s independent cities (Fairfax city and Fairfax County are different places)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A county name with no state only matches if just one county has that name.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Where to get county data<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/data.census.gov\">data.census.gov<\/a> for the American Community Survey (income, housing, commuting and much more)<\/li>\n\n\n\n<li>the Bureau of Labor Statistics&#8217; Local Area Unemployment Statistics for monthly unemployment rates<\/li>\n\n\n\n<li>CDC WONDER for health data<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Map rates (per person, per cent, per square mile) rather than totals: big counties otherwise look important just for being big. <a href=\"https:\/\/jfdi.pro\/blog\/what-is-a-choropleth-map\/\">What is a choropleth map, and when does it mislead?<\/a> explains why.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Related<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jfdi.pro\/blog\/what-is-a-choropleth-map\/\">What is a choropleth map, and when does it mislead?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/jfdi.pro\/blog\/csv-leading-zeros-excel\/\">How to open a CSV in Excel without losing leading zeros<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/jfdi.pro\/help-map.html#us\">The map maker guide: US states and counties<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Paste a column of county FIPS codes or names and a column of values to get a map of all 3,000+ US counties. Here&#8217;s how FIPS codes work, and the three mistakes that leave counties blank.<\/p>\n","protected":false},"author":1,"featured_media":1003,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[18,16,17,15],"class_list":["post-1009","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-maps","tag-census","tag-counties","tag-fips","tag-us"],"_links":{"self":[{"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/posts\/1009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/comments?post=1009"}],"version-history":[{"count":1,"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/posts\/1009\/revisions"}],"predecessor-version":[{"id":1053,"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/posts\/1009\/revisions\/1053"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/media\/1003"}],"wp:attachment":[{"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/media?parent=1009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/categories?post=1009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jfdi.pro\/blog\/wp-json\/wp\/v2\/tags?post=1009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}