Glyphwave is a lightweight, tree-shakable React component library for SVG-based icons and emojis. Designed to be easy to use, customize, and scale in modern React applications.
- ⚡ Pure SVG components – no font or image dependencies
- 📦 Tree-shakable – import only what you use
- 🎨 Fully customizable via props (color, size, className, etc.)
- ♿ Accessible and semantic
- 🧩 Works out of the box with Vite, Webpack, Next.js, etc.
npm install glyphwaveor
yarn add glyphwaveimport { ThumbsUp, Fire } from 'glyphwave';
function App() {
return (
<div>
<ThumbsUp style={{ fontSize: 32 }} />
<Fire width={32} height={32} fill="orange" />
</div>
);
}Each icon/emoji is exported as a self-contained React component.
Each component supports all valid <svg> props:
width,heightfill,strokeclassName,stylearia-label,role
Example:
<ThumbsUp width={48} fill="blue" aria-label="thumbs up" />import { Fire } from 'glyphwave';Only the
Firecomponent will be included in your bundle.
Coming soon in the documentation site!
Clone the repo and build:
git clone https://github.com/yourusername/glyphwave.git
cd glyphwave
npm install
npm run buildLink it locally to another React project:
npm link
# In your other project:
npm link glyphwaveEnsure the build outputs (dist/) and entry fields in package.json are correct:
npm run build
npm publish --access publicMIT — free for personal and commercial use.
PRs are welcome! Add new icons/emojis or improve performance/styling. See the CONTRIBUTING.md (coming soon) for guidelines.
---