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,200 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 few easy ways to access the icons depending on what you're trying to do.
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 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. Or, you can browse all version in the releases.
All Pinhead icons are synced to Wikimedia Commons for convenient integration with Wikipedia, Wikidata, the OpenStreetMap Wiki, and other such projects.
Node developers can install Pinhead as usual:
npm install @waysidemapping/pinhead
Pinhead has no dependencies and is basically just a directory of SVG files. A few convenience files are included:
dist/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 icons sources referenced in changelog.json
Pinhead uses a flavor of semantic versioning, with major releases (v2.0.0) corresponding to breaking changes, minor releases (v2.1.0) corresponding to backwards-compatible changes, and patch releases (v2.1.1) corresponding to fixes.
When it comes to icons: renaming or deleting an icon, or making any visual modification, is a breaking change. Perhaps counterintuitively, adding a new icon is also considered a breaking change. The goal is clear version integrity, where each major version number refers to a complete set of icons with no differences between minor versions. In effect, this means you can think of Pinhead v1 and Pinhead v2 as two static, independent icon sets. This avoids common gotchas, like developers depending on a package like ^1.0.0 and potentially seeing different lists of icons in development vs. production in the case where v1.1.0 adds an icon.
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)
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.