Data
Race and density data comes from the 2010 and 2020 US Census. Income data is from the American Community Survey (2014-2018 - 5 year summary). I used Census Bureau data both directly and the helpful extraction tool Dexter from the Missouri Census Data Center.

The Income Block layer found in Advanced mode should not be used for research or serious analysis. It is a visualization that is highly speculative and based on a smoothing/estimating algorithm that I created. It uses Race for the 2010 US Census (block level) and Income from the 2010-2015 ACS at the census tract level.


Mbtiles Format
Mbtiles is a custom format that contains all of the tiles in a single file. I use the Mbtiles Viewer to view the files on Windows.


Download the Map Layers
The map layers are available in two formats: 1)a zipped collection of many images and 2) mbtiles (you can view them in a mbtile viewer or extract them yourself with a tool like mb-util)

The layers are also available at different resolutions (census tract to block) and various zoom levels.

County Map Layers
Race layers include zoom levels 4-9.
American Indian - zip - mbtile
Asian zip - mbtile
Black - zip - mbtile
Hispanic - zip - mbtile
Multiracial - zip - mbtile
Non-White - zip - mbtile
Other - zip - mbtile
White - zip - mbtile
Plurality- zip - mbtile

Income layers include zoom levels 0-10
Income - Differential: zip
Income - Sequential - Low Income Emphasis: zip
Income - Sequential - High Income Emphasis: zip


Tract Map Layers
Race layers include zoom levels 4-12.
American Indian - zip - mbtile
Asian zip - mbtile
Black - zip - mbtile
Hispanic - zip - mbtile
Multiracial - zip - mbtile
Non-White - zip - mbtile
Other - zip - mbtile
White - zip - mbtile
Plurality - zip - mbtile

Income layers include zoom levels 0 to 13 (in Zip)
Income - Differential: Zoom 0-4 - Lower 48 zoom 5-13 - HI 5-13 - AK 5-13 - PR 5-13
Income - Sequential - Low Income Emphasis: Zoom 0-4 - Lower 48 zoom 5-13 - HI 5-13 - AK 5-13 - PR 5-13
Income - Sequential - High Income Emphasis: Zoom 0-4 - Lower 48 zoom 5-13 - HI 5-13 - AK 5-13 - PR 5-13
Income - Change: Zoom 0-4 - Lower 48 zoom 5-13 - HI 5-13 - AK 5-13


Block Group Map Layers
Race layers include zoom levels 4-12.
American Indian - zip - mbtile
Asian zip - mbtile
Black - zip - mbtile
Hispanic - zip - mbtile
Multiracial - zip - mbtile
Non-White - zip - mbtile
Other - zip - mbtile
White - zip - mbtile
Plurality - zip - mbtile

Zoom level 13.
American Indian - zip - mbtile
Asian zip - mbtile
Black - zip - mbtile
Hispanic - zip - mbtile
Multiracial - zip - mbtile
Non-White - zip - mbtile
Other - zip - mbtile
White - zip - mbtile
Plurality - zip - mbtile


Block Map Layers
Split into multiple files due to size. Zoom levels 4-11, 12, 13, and 14.
American Indian: 4-11: zip mbtile   12: zip mbtile   13: zip mbtile   14: zip mbtile
Asian: 4-11: zip mbtile   12: zip mbtile   13: zip mbtile   14: zip mbtile
Black: 4-11: zip mbtile   12: zip mbtile   13: zip mbtile   14: zip mbtile
Hispanic: 4-11: zip mbtile   12: zip mbtile   13: zip mbtile   14: zip mbtile
Multiracial: 4-11: zip mbtile   12: zip mbtile   13: zip mbtile   14: zip mbtile
Nonwhite: 4-11: zip mbtile   12: zip mbtile   13: zip mbtile   14: zip mbtile
White: 4-11: zip mbtile   12: zip mbtile   13: zip mbtile   14: zip mbtile
Plurality: 0-12: zip mbtile   13-14: zip mbtile


Highest Resolution - KML data
The resolution of the image map tiles is limited (due to disk space and tile generation time). However the data is also available in KML. As shapefiles use a vector based format this allows for the highest possible resolution without using as much disk space. The downside is that Google Maps only supports small and a limited number of KML files per map (more than 15 can stop the map from loading).

For race, I've created a KML (well actually kmz) file for each census tract in the US that includes all of the blocks within it. I'm using standardized Census ids for state, county, and tract.
The location is http://maptile.org/tile/kml/[layer-name]/[state-id]/[state-id]_[county-id][tract-id].kmz

For income, I've created a KMZ file for each county that includes all of the census tracts within it.
The location is http://maptile.org/tile/kml/[layer-name]/[state-id]/[county-id].kmz

We also have a KML export feature which is easier to use.


KML Zipped Layers
One big zip that includes all the kmz files for a single layer. There is one KMZ file for each of the 72,000 census tracts with block-level data.
American Indian
Asian
Black
Hispanic
Multi-Racial
Nonwhite
Other
White
Plurality

Each income kml layer includes a file for every county with census tract level data.
Income - Differential
Income - Sequential - Low Income Emphasis
Income - Sequential - High Income Emphasis
Income - Change



PostgreSQL Database
The data is stored in four PostgreSQL tables (county, tract, bg, and blocks). This includes both the shape (in the geom900913 column - with a 900913 SRID projection), several census fields (IDs, name, etc) and the core demographic fields (% race, total population, income, income confidence interval). These were created in PostgreSQL 9.3 and PostGIS 2.1.
County
Tract
Block Group
Block



Alaska, Hawaii, and Puerto Rico
We have almost complete data sets for Alaska and Hawaii (that are available upon request - not available online, except for the KML which is included in the regular KML files). For Puerto Rico, we only have income data at the tract level (Eg. no race data at all, no county data, and no KML).