Quality public domain icons for your map pins
So you're making a map and need some icons. Well, maybe a lot of icons. Like, for anything that might appear on a map. And they need to be visually consistent. Like the size and direction and whatever. And they gotta be free. Even public domain. In vector format. With no AI. Oh, and they all need to be legible on the head of a pin.
This happened to me while building themap.is. I put together this icon library in case it happens to you too. It's called Pinhead.
Pinhead is an active, collaborative project. There are now over 1,500 total icons, including standardized versions of the most popular public domain cartographic icon sets: Maki, Temaki, OSM Carto, and NPMap.
Pinhead is a library of free vector icons. There are other projects like this, but Pinhead is special because it's:
- Cartography first
- 100% public domain
Map icons need to be really small to support high visual density, so all of Pinhead icon's are intended to be legible at 15x15 pixels minimum. This is much smaller than most other icon sets you'll find, but you can scale them up and they'll still look great. And since they're licensed CC0, you can use them anywhere for free without restrictions.
A small community is developing around Pinhead! We're working to make this the best and largest library of public domain map icons anywhere on the web, but we can't do it alone. Come join us in the #pinhead channel on OSM US Slack. Bring your questions, comments, and ideas, or feel free to open an issue on GitHub. You can also contact me (@quincylvania) directly through any of the channels listed on my website.
There are a number of ways to get Pinhead icons. But before you get started, you'll want to be aware of a few things:
- Churn: Pinhead is an active project receiving regular updates. If you want stability, use a specific version of Pinhead. If you want to stay up-to-date with the latest version, be aware that icons may change. Developers can use the
changelog.jsonfile to deal with changes automatically. - Verison numbers: Each Pinhead version number refers to a complete, static set of icons. The version number increments whenever an icon is added, deleted, renamed, or otherwise changed. This ensures version integrity, so that two apps running the same Pinhead version will have the same icons.
- Content warning: Pinhead aims to be comprehensive and contains icons that some audiences may find objectionable. Sensitive users should review any icons they plan to redistribute or display to others.
Visit pinhead.ink to browse the icons. Each icon has a download link, a copyable <svg> code, and an embeddable <img> code. These links are permanent and will not break in the future even if an icon is deleted or renamed, so feel free to save, share, or embed them.
If you want to get the full set of icon files, use the download link on pinhead.ink for the most recent version. The zipped file is <1 MB. You can also browse past versions. Each release contains the following:
dist/icons/*.svg: the individual icon SVG filesdist/icons/index.json: a list of all the available icons in this versiondist/icons/index.complete.json: same as the above but with the SVG code included inlinedist/changelog.json: a machine-readable list of icon additions, deletions, and renames between major versionsdist/external_sources.json: a detailed list of the external icon sources referenced inchangelog.json
The above files are also hosted on pinhead.ink (through GitHub Pages) at the following URLs. You can point your app directly to these endpoints.
- For each version:
https://pinhead.ink/v*/*.svghttps://pinhead.ink/v*/index.jsonhttps://pinhead.ink/v*/index.complete.json
- For the latest version only:
https://pinhead.ink/changelog.jsonhttps://pinhead.ink/external_sources.json
It is not recommended for production apps to depend directly on the GitHub repository or any of its raw files as these may change without notice.
All Pinhead icons are synced to Wikimedia Commons for convenient integration with Wikipedia, Wikidata, the OpenStreetMap Wiki, and other such projects. These files are easy to search.
Node developers can install Pinhead as usual. The npm package has no dependencies and is basically just a directory of SVG files and JSON metadata.
npm install @waysidemapping/pinhead
This package uses a special flavor of semantic versioning (major.minor.patch), with the Pinhead version number corresponding to the minor version. If your app expects the icons to be static, depend on the package like (~x.x.0). If your app can automatically handle icons changes, i.e. by reading the changelog.json file, then depend on the package like (^x.x.0). We'll only increment the major version if there is a breaking change to the package format, in which case the minor version will NOT reset to zero but will remain the Pinhead version number. Note that prior to v15, the Pinhead version number corresponded to the major package version instead of the minor.
Pinhead is seeded from the following public domain sources. Thank you to all the contributors who made these projects possible.
Temaki (CC0) A special shoutout to Temaki for directly inspiring this repo and provding some of the build scripts <3
Maki (CC0)
NPMap Symbol Library (public domain)
OpenStreetMap Carto (CC0)
Health Icons (CC0)
princesse and pirate map icons by @Viglino (CC0)
OpenStreetMap Americana (CC0)
OpenTrailMap (MIT)
I've been cleaning up the seed icons by scaling them to the same size, conflating duplicates, improving names, removing SVG cruft, and manually improving legibility. I've also been splitting out certain icon elements into standalone icons, such as taking the "wine" icon and creating two additional icons:
wine_glass and
wine_bottle.
If you know of other sources for public domain map icon that might be a good fit for Pinhead, I'd love to hear about them!
And finally, the icons come from the likes of you! I myself have been addings some totally new icons I've designed in support of themap.is. I'm hoping for contributors to grow and sustain this icon library.
Contributions to Pinhead are open. See the contributors' guide for details, including the icon design guidelines, the code of conduct, and the AI/ML policy.
This repository is distributed under CC0.