Rivet Icons

github.com ↗

Compact interface icons with state changes controlled through CSS.

SI Score
80/100
Pricing
Open Source AI reading, not confirmed
Free plan
Yes AI reading, not confirmed
Sign-up required
Not required AI reading, not confirmed

Ask SI about Rivet Icons

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the Rivet Icons homepage

What it does

Rivet Icons is Indiana University’s 16 px icon library, with a custom element, individual icon modules and a registration API for matching artwork.

A favorite button is a useful starting example. Import the heart and solid-heart modules, then let the button’s pressed state select the appropriate icon through the CSS --name variable. The same state must be communicated with aria-pressed; Rivet hides decorative icons from assistive technology by default.

For a production interface, the documentation recommends a module containing only the icons you need. The all-icons bundle is convenient for prototypes. If a required symbol is missing, registerIcon() accepts custom SVG following the 16 px grid, expanded 2 px outlines and currentColor fill. Remember that a CSS --name declaration takes precedence over the element’s name attribute when diagnosing an unexpected glyph.

Install the public rivet-icons npm package without a Rivet account. The library is free under the BSD 3-Clause licence, which requires retained notices and does not grant permission to imply university endorsement.

Strengths

  • Individual modules support a deliberately limited production set.
  • The documented state example connects visual changes with accessible button state.
  • Custom icons can use the same registration mechanism.

Watch out for

  • The compact 16 px drawing specification constrains how matching custom artwork should be prepared.

Best for

  • Rivet sites
  • Compact university navigation and action controls

Sources