Over the years, I have been collecting a list of my go-to resources for cartography and web design, including everything from selecting colors to finding data to helpful tutorials (though this list is by no means comprehensive). Feel free to submit a pull request or email me at [email protected] if you have suggestions of resources to add to this list or notice that something is outdated.
- General mapping
- Web mapping
- Basemaps and Vector Tiles
- Mapping frameworks and templates
- Routing
- Color
- Typography
- Software
- Databases
- Data Sources
- Data wrangling, transformation, and manipulation
- Data scraping
- Textures / Patterns
- Images
- Icons
- Geocoding
- Projections
- Tutorials / Guides / Forums
- Blogs
- Conversion tools
- Site generators
- Hosting
- WYSIWYG mapping
- SQL
- Git
- Raster
- UI/UX
- Miscellaneous
- Tutorials
- Cartography Guide: Axis Maps' amazing thematic cartography guide
- OpenStreetMap: Editable, open map of the world.
- mapschool.io: Brief introduction to all things geo.
- 20 Unrequested Map Tips: John Nelson's 20 map-making tips
- CartoDB: Create web maps easily. Especially useful for large datasets.
- D3.js: A JavaScript library to create powerful online visualizations. Often used for web mapping.
- D3 Tips & Tricks: Free, downloadable book on D3
- D3 Selection: Understanding how D3 selections work
- Let's Make a Map!: Introduction to making a basic map with D3, by Mike Bostock himself (the creator of D3).
- Leaflet: JavaScript library for making mobile-friendly, interactive web maps.
- TurfJS: GIS for web maps
- DropChop: In-browser application to perform basic GIS operations
- awesome-spatial: Links to various (awesome) GitHub repos that have some sort of spatial/geo/web mapping use
- Leaflet providers: Previews free map tiles that you can use on your Leaflet map, with instructions on how to include it in your code.
- Storymap.js: a javascript library for storytelling with web maps, maintained by Cartography and Geovisualization Group at Oregon State University.
- Storytelling: template designed by Mapbox to accelerate building out a "scrollytelling" map story using Mapbox styles and GL JS.
- GeoJSON Path Finder: Serverless, offline routing in the browser
- GraphHopper
- Mapbox Directions API
- Project OSRM
- Transitland
- chroma.js
- Chroma.js Color Palette Helper
- ColorBrewer: Cartographer's go-to resource for selecting colors for thematic maps, especially choropleth maps. Can filter based on whether color scheme is optimized for printing, colorblindness, etc.
- 0to255: One of my favorite color resources. Pick a color, and 0to255 will show you every shade of that color.
- Adobe Color: Create your own color scheme, up to 5 colors. Explore others' color schemes.
- Paletton: Create your own color scheme.
- HEX to RGB Converter: Convert between HEX and RGB color values. Super simple interface.
- Selecting equidistant perceived colors: Great blog post and tool(s) to select colors that are evenly spaced, especially good for choropleth maps
- i want hue: Generate palettes of optimally distinct colors. This is great for making sure colors will look different enough on a map to distinguish colors.
- D3 Curvy: Design your own color scheme for choropleth maps based on ColorBrewer.
- ColorHexa: Enter in a color value and get pretty much any information you would ever want about the color, including shades, tints, and tones of that color, as well as suggested color schemes that include that color. Also includes a color gradient generator, where you can type in the values of two colors and it will generate a gradient between those colors.
- PaletteFX: Create a color scheme from an image that you upload.
- Color Ramp Creator: Create color schemes of 4, 8, or 16 colors. Fun to play with.
- Color Calculator: Choose an initial color, select the type of color scheme you're looking for, and get some ideas.
- ColorClaim: A color picking site by Tobias van Schneider to help with picking color schemes. "All I do is collect my favorite color combinations on one big page. Usually these combinations are very subtle, one main and one accent color.";
- simple colors: an elegant and minimalistic color palette. It provides a set of colors optimized to be used in UI projects.
- color supply
- A Bivariate Choropleth Palette Generator
- Fontelico
- DaFont: Free, downloadable fonts.
- FontSquirrel: Free, downloadable fonts.
- Google Fonts: Free fonts that can be used for webpages.
- TypeKit: Download fonts specifically for using with Adobe's software suite
- TypeBrewer: Looks at different attributes of selecting typography for maps.
- 8 typography tips: General typography tips from Adobe
- Flipping Typical: Allows you to see and test out all of the fonts installed on your computer by typing in a specific phrase and showing you what it looks like in the various fonts
- Top 30 free open-source web fonts: Great collection of free fonts for download/web use
- QGIS: Open-source desktop GIS software. Can do most of what ArcMap can do, for free. Often it does it much, much faster.
- Mapbox: Use Mapbox online to design basemaps; Mapbox Studio is desktop software for designing map tiles that can be uploaded and hosted on Mapbox. Check out their Getting Started Guides or Help section for more information.
- Indiemapper: Make thematic maps online. Bring in your own or use provided data.
- Map Stack by Stamen: Create quick map snapshots of anywhere, with the ability to customize colors and which labels/lines to include.
- HUGEpic: Create a slippy map from an image. This can be used when you want to be able to pan and zoom on a static map.
- Kosmtik: Open-source MBTiles software.
- Pyramid Shader: An application for visualizing terrain data
- Why should you care about PostGIS? — A gentle introduction to spatial databases
- DBeaver: Free multi-platform database tool for developers, SQL programmers, database administrators and analysts
- qri: A new tool for data science:qri (“query”) is versioned, scriptable, exportable, collaborative datasets
- Urban Institute Data Catalog: a place to discover, learn about, and download open data provided by Urban Institute researchers and data scientists.
- Global Change Data Lab: on-profit research organization in the education sector.
- Our World in Data: Research and data to make progress against the world’s largest problems
- Public Data Sources: compiled by @justmarkham for DAT5
- US National Historical GIS: DOWNLOAD U.S. CENSUS DATA TABLES & MAPPING FILES
- Harvard dataverse: Share, archive, and get credit for your data. Find and cite data across all research fields
- Mapbox Traffic Data
- FEMA to Release a Flood of Insurance Data
- OSMaxx: Get the OpenStreetMap data you want in the file format you need
- SOI Tax Stats - Migration Data
- Census Factfinder: Download Census demographic data
- Data.gov: U.S. Government data
- Diva-GIS: Basic datasets for many countries around the world. Administrative boundaries datasets may be more detailed than Natural Earth.
- EarthWorks: Compilation of free GIS data from various universities; run by Stanford Libraries
- Free GIS Data: A list of over 300 FREE data sources from around the world! Woo hoo!
- GADM. Includes countries as well as lower level administrative boundaries.
- GIS Data Repositories: Google Doc compilation of free, downloadable datasets that may be useful in humanitarian response (and many other scenarios). Compiled by Karen Payne of the University of Georgia's Information Technologies Outreach services.
- Libra: A browser for open Landsat 8 imagery.
- Natural Earth: Public domain datasets available for the world. Includes political and physical features at various scales. You can easily get Natural Earth datasets as GeoJSONs from geojson.xyz.
- OpenStreetMap Data Extracts: Download the latest data from OpenStreetMap, by continent/country.
- Overpass Turbo: Make queries for specific downloads from OpenStreetMap (for example, if you just want a certain type of road in a certain area, but not every type of data in that area).
- Viewfinder Panoramas: Best publicly-available DEMs, according to Daniel Huffman
- World Bank Data: Free and open access to development data
- U.S. Cartographic Boundary Shapefiles: These are what you should use if you want to show coastline on your map. If you download the regular TIGER shapefiles from the U.S. Census, they'll give you the technical boundaries but will look weird because boundaries for counties/states extend into the ocean.
- World Population data: 100m resolution raster population for many parts of the world
- 30 data sources: Data tips from FlowingData. See also, this.
- OpenStreetMap administrative boundaries: Free administrative boundary downloads from OpenStreetMap data, provided by Mapzen and updated monthly
- College Scorecard: U.S. government data on colleges
- CAIT Climate Data: One of the most trusted sources of climate data, from the World Resources Institute. Includes historical data, visualizations, and data downloads.
- U.S. Census of Agriculture: Leading source of information on agriculture in the U.S.
- U.S. Department of Transportation: Download data on everything to do with transportation in the U.S.: airports, various road networks, U.S. Army Corps of Engineers waterways, national bridge inventory, fatality analysis from drunk driving crashes, etc.
- U.S. Hydropower datasets: Various datasets from the National Hydropower Asset Assessment Program on hydropower in the U.S.
- Elevation data: From Paolo Raposo's 2015 NACIS talk: USGS National Map, Earth Explorer, GDEM
- National Historic GIS: Free census data and historic boundary files for the U.S. since 1790
- Open Terrain Data: A list of where to get worldwide open terrain data.
- Open Geoportal: A “collaboratively developed, open source, federated web application to rapidly discover, preview, and retrieve geospatial data from multiple repositories”
- Download elevation data: Awesome/easy interface to download 30-m resolution elevation data
- GLOVIS: Can be used to download U.S. government satellite imagery. Beware: requires Java in your browser. It's not a great interface, but possible to get lots of data, including historic imagery.
- OECD: Data from the Organisation for Economic Co-operation and Development; not necessarily in readily available geographic format, but lots of data by member countries.
- U.S. Homeland Security data: A portal of a wide variety of datasets, including everything from agriculture to education to energy to law enforcement to transportation and more.
- Gapminder: Database of world demographic and economic data.
- OpenAQ: The most comprehensive compilation of datasets I've seen on air quality around the world. Can access data either through download or API.
- Top 10 data sources for international development: According to The Guardian
- 10 Free GIS Data Sources: Best Global Raster and Vector Datasets (2017)
- Free Spatial Data from DIVA-GIS
- WorldClim Version2
- GADM database of Global Administrative Areas
- HindustanTimesLabs/shapefiles
- U.S. GEOGRAPHIC SUMMARY DATA AND BOUNDARY FILES (National Historic GIS data)
- Bridging data for census tracks across time
- Comprehensive list of 2600+ Open Data Portals Around the World
- NextGIS
- The United States Wind Turbine Database (USWTDB)
- HERE Student Sample Data
- Our World In Data
- Public APIs
- Open Data Network
- Discovery API
- Public APIs (A collective list of free APIs for use in software and web development.)
- CARTO's LOCATING GEOSPATIAL AND MAPPABLE DATA
- Inside AirBNB
- Awesome Datascience data sets
- US City Open Data Census
- College Scorecard Data
- Homeland Infrastructure Foundation-Level Data (HIFLD)
- Hydroshare
- European Data Portal
- Programmable Web Search APIs
- Jeezy: a JavaScript library for manipulating data. It provides lots of useful functions and has no dependencies, so it won't add a lot of code to your project.
- AddFIPS : AddFIPS is a tool for adding state or county FIPS codes to files that contain just the names of those geographies.
- All the Places: A project to extract GeoJSON from the web focusing on websites that have 'store locator' pages.
- Subtle Patterns
- Lost & Taken
- 55 seamless, subtle grunge patterns
- Geopattern
- Pattern Fills
- Hero Patterns (repeatable SVG backgrounds)
- Placeholder: API for querying images of various sizes with custom text and colors. Good for mockups of layout
- Streamline 3.0 Icons
- Hero Icons
- Nounproject: Creative Commons license icons. Can either pay to use them without attribution, or give attribution to the creator.
- Maki: Open-source icons developed by Mapbox for cartographic uses.
- Font Awesome: Scalable vector icons specifically designed for web use.
- Ionicons: Icon font.
- Ikonate
- Geocodio: Online geocoder. Simple to use, but only covers the U.S. Free for less than 5,000 entries per day, after that it's really cheap.
- Texas A&M Geoservices
- OpenCage Geocoder
- Geocoding in the browser: tutorial/tips by Sam Matthews
- Geocode with a CSV: Uses the Google Maps API, ideally with not more than a few hundred rows
- csvgeocode: Node.js geocoder tool by Noah Veltman that allows you to convert a CSV with addresses to lat/lon coordinates using several built-in geocoders or a custom one. Fulcrum wrote a blog post explaining how to use it.
- Nominatim
- OpenCage Data
- OSMNames
- [Mapbox Search API](Mapbox Search API)
- Pelias
- Choosing the Right Map Projection: Michael Corey’s guide to smashing the earth for fun and profit
- Projection Wizard: Helps you select an appropriate projection for your map, depending on the area that you are mapping.
- Projection overlays: Shows different areas of the world in different projections to demonstrate the importance of selecting an appropriate projection
- ArcGIS list of supported map projections
- USGS Map Projections: Descriptions of different types of common projections, plus tables that layout the different properties of various projections
- Radical Cartography's projection reference
- Why Web Mercator is used for web maps
- Flex Projector: Tool to create your own map projection
- Projection distortions: Awesome animated map that shows how different projections distort differently
- Dirty Reprojectors: Download geojson for common features in different projections, or upload your own WGS84 geojson and reproject it.
- What the proj?: Provide a projected coordinate and an idea of where it should be and the tool suggests the projection.
- Intro to the Geo Command Line: A blog post by yours truly to introduce GIS/mapping people to the wonderful world of the command line.
- Making web maps with JavaScript: A series of web mapping tutorials by Mike Foster.
- Series of web, web development, web mapping, etc tutorials from DUSPviz
- Aligned Left: Scott Murray's great D3 tutorials
- How to create a bivariate choropleth map: Excellent tutorial by Josh Stevens
- How to make a bivariate choropleth map with ArcMap
- How to make a value-by-alpha map: Excellent tutorial by Andy Woodruff
- Find and Replace Graphics in Illustrator: Have you ever wanted to replace all point symbols on a map in Illustrator with a different symbol? Here's a handy dandy script that you can use!
- LearnOSM: Guide to learning how to use OpenStreetMap.
- Flow-mapping with QGIS
- Designing icons for maps
- Python tutorials
- CartoTalk: Forum run by NACIS (North American Cartographic Information Society) on all cartography topics.
- GIS Stack Exchange: Forum for answering GIS questions, including QGIS.
- PostGIS + SQL in Mapbox Studio
- Intro to Node: A guide to Node.js, a JavaScript library that helps you work with different sources
- Convert Google directions to GeoJSON: Inspired by the NYC Taxi visualization, describes how to extract Google Maps directions data as a GeoJSON to then use as you please
- How to use different projections with Leaflet: Pannable, zoomable map with Leaflet that isn't in web mercator
- How to create illuminated contours in QGIS: A tutorial by Anita Graser
- Introduction to D3 web mapping: Rich Donohue's maptime tutorial that walks through how some basic d3 web maps work
- GDAL Cheat Sheet: Cheat sheet for GDAL/OGR command-line geodata tools by Derek Watkins
- How to use non-Web Mercator projections in CartoDB
- Mapping blogs, woo! Publicly editable list of blogs about "maps, cartographic design, mapping technology, and a few related subjects that may include maps."; Initially created by Andy Woodruff.
- Geojson.io: Convert to/from GeoJSON. Prep your data for making web maps. I've found it particularly useful for converting to/from CSVs.
- ToGeoJSON: Convert from KML to GeoJSON.
- csv2geojson: Convert from CSV to GeoJSON.
- leaflet-omnivore: Parses different file format to add to Leaflet map.
- ai2html: Converts from Adobe Illustrator document to HTML
- prj2epsg: Converts a .prj projection file to EPSG number
- The Distillery: Convert files to TopoJSON.
- Ogre: Convert to/from GeoJSON/shapefile.
- ogr2ogr: Great blog post on using ogr2ogr to convert to GeoJSON.
- Gatsby: static site generator (works well with React)
- Now: static web host
- Surge: static web host
- Map hosting on Amazon S3
- MapHub: simple interface for making and embedding web maps.
- Spatial SQL (Workshop by Michele Tobias)
- GeoTiff.js: Library to parse TIFF files for visualization or analysis, usable in both the browser and node.js applications.
- Convert ArcGIS JSON to GeoJSON
- Everything you ever wanted to know about GeoJSON: Excellent blog post by Tom MacWright about the GeoJSON format
- Awesome GeoJSON: List of useful GeoJSON utilities
- Project Linework: Library of free, public-domain sets of vector linework for cartographic use
- The Lost Art of Critical Map Reading: Mike Foster's explanation of how and why to read maps with a critical eye
- http://www.comparea.org/: Compares areas of two different geographic regions/countries
- Political world maps: Free, openly licensed world political maps from Tom Patterson, including hand-made shaded relief. You can edit as you wish and use without attribution.
- Sketchy D3 map
- More resources! From DUSPviz
- Data Viz Tools: a curated guide to the best tools, resources and technologies for data visualization
- Popper: JS library for managing popups and tooltips within a document
- Bounding box: tool for finding the lat/lon coordinates of a bounding box.