@jamesonhodge/avvvatars-react v0.5.1
Avvvatars
Beautifully crafted unique avatar placeholder for your next react project
Lightweight and customizable β€οΈ
https://user-images.githubusercontent.com/1702215/158075475-c23004ab-827a-45ad-bdba-aee29ac5b582.mp4
Live Demo π§© | Website π§ββοΈ
Built by Nusu Alabuga and Oguz Yagiz Kara
πΒ Special thanks to Monika Michalczyk for awesome shapes π
Features
- π 40 Colors - Colors are so on point that most of the projects can use it without changing it
- π 60 Shapes - Beautifully crafted shapes that are unique to your user with color combination
- π Text or Shapes πΈ - Use letters (eg. JD for John Doe) or unique shapes
- π€ Unique to user - Generated avatars are unique to the string that you provide, it means if you pass janedoe@gmail.com you will always get the same avatar
- π Lightweight - less than 20kb compressed + gzipped
- βοΈ Customizable - use shadows, change size, provide alternative text to display
- π― Headless Mode - Use the core avatar generation logic in any environment, not just React
Installation
With yarn
yarn add avvvatars-reactWith npm
npm install avvvatars-reactGetting Started
Import Avvvatars to your app, then use it anywhere you want.
import Avvvatars from "avvvatars-react";
export default function MyAvatar() {
return <Avvvatars value="best_user@gmail.com" />;
}Headless Usage
For non-React environments or when you need just the SVG generation logic, you can use the headless version:
import { createAvatar } from "avvvatars-react/headless";
// Generate an SVG string
const svgString = createAvatar("best_user@gmail.com", {
style: "character", // or 'shape'
size: 32,
shadow: false,
border: false,
borderSize: 2,
borderColor: "#fff",
radius: 32,
displayValue: "BU", // optional
});
// Use the SVG string as needed
console.log(svgString);The headless version provides the same customization options as the React component but returns an SVG string instead of a React component. This is useful for:
- Server-side rendering
- Non-React environments
- Custom implementations
- Generating avatars for emails or other non-browser contexts
Customization
value: string
This is required for plugin to work, each value generates a random avatar to unique to this value, so each time plugin renders, you will get the same results.
<Avvvatars value="best_user@gmail.com" />displayValue?: string
Override default text by providing displayValue
for example if you provide value="best_user@gmail.com" the character output will be the first 2 letters of value which is "BE", if you pass displayValue="BU" you can override it to BU
<Avvvatars value="best_user@gmail.com" displayValue="BE" />style?: character | shape (default character)
Use shape or character as avatar.
<Avvvatars value="best_user@gmail.com" style="character" />size?: number (default 32)
Override default size (32px) by providing a number.
<Avvvatars value="best_user@gmail.com" size={32} />shadow?: boolean (default false)
Enable shadow around the avatar.
<Avvvatars value="best_user@gmail.com" shadow={false} />radius?: number (default size)
Override the radius of the avatar, it takes size by default to always turn it to a circle
<Avvvatars value="best_user@gmail.com" radius={10} />border?: boolean (default false)
Toggle border
<Avvvatars value="best_user@gmail.com" border={false} />borderSize?: number (default 2)
Override border width
<Avvvatars value="best_user@gmail.com" borderSize={2} />borderColor?: string (default #fff)
Override border color
<Avvvatars value="best_user@gmail.com" borderColor="#fff" />Figma
If you want to access design files to change something or customize it to your own, use our Figma File
License
MIT