npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@waysidemapping/pinhead

v15.23.0

Published

Quality public domain icons for your map pins

Readme

Pinhead Map Icons

Quality public domain icons for your map pins

pinhead.ink

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,700 total icons, including standardized versions of the most popular public domain cartographic icon sets: Maki, Temaki, OSM Carto, and NPMap.

Overview

Pinhead is a library of free vector icons. There are other projects like this, but Pinhead is special because it's:

  1. Cartography first
  2. 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.

Community and support

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.

Usage

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.json file 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. Icons commonly considered problematic are marked sensitive in the metadata files, but concerned users should manually review any icons they plan to redistribute or display to others.

Getting an icon

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.

Getting all the icons

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 files
  • dist/icons/index.json: a list of all the available icons in this version
  • dist/icons/index.complete.json: same as the above but with the SVG code included inline
  • dist/changelog.json: a machine-readable list of icon additions, deletions, and renames between Pinhead versions
  • dist/external_sources.json: a detailed list of the external icon sources referenced in changelog.json

Web font

If you want easy access to all the Pinhead icons on your website, the easiest solution is to use the web font.

  1. Link the hosted CSS file for the latest Pinhead version in your <head> element:
<link href="https://pinhead.ink/v{{VERSION}}/pinhead.css" rel="stylesheet"/>
  1. Add icon elements with a class in the format pinhead-ICON_ID:
<span class="pinhead-box_truck"></span>
  1. Style like text:
font-size: 15px; color: navy; text-decoration: underline solid 2px red;

Hosted icons

The following files are hosted on pinhead.ink (through GitHub Pages) at the following URLs. You can point your app directly to these endpoints as they are stable.

  • For each version:
    • https://pinhead.ink/v*/*.svg: the individual icon SVG files
    • https://pinhead.ink/v*/index.json: a list of all the available icons in this version
    • https://pinhead.ink/v*/index.complete.json: same as the above but with the SVG code included inline
    • https://pinhead.ink/v*/pinhead.ttf: icons compiled into a font file
    • https://pinhead.ink/v*/pinhead.css: stylesheet for easy web usage of the font file
  • For the latest version only:
    • https://pinhead.ink/changelog.json: a machine-readable list of icon additions, deletions, and renames between Pinhead versions
    • https://pinhead.ink/external_sources.json: a detailed list of the external icon sources referenced in changelog.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.

Icons on Wikimedia Commons

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.

Icons in QGIS

Pinhead is bundled as a default collection in the QGIS Resource Sharing plugin, making it easy to use Pinhead icons in your QGIS project. These icon files support rich styling within the QGIS UI. For installation instructions and raw file downloads, see the pinhead-qgis-resources repo.

Node.js packages

Pinhead is distributed in two different packages for Node developers. The packages have no dependencies and contain no code.

These packages use 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 of @waysidemapping/pinhead corresponded to the major package version instead of the minor.

Where the icons are from

Pinhead is seeded from the following public domain sources. Thank you to all of the contributors to these projects.

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.

Contributing

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.

License

This repository is distributed under CC0.