react-name-initials-avatar
v0.1.0
Published
Creating Stylish Initial-Based Avatars in React
Maintainers
Readme
react-name-initials-avatar
Npm Package Url - https://www.npmjs.com/package/react-name-initials-avatar
The react-name-initials-avatar is a lightweight and customizable React component that generates avatars based on user names or initials. This component is ideal for user profile displays, comment sections, or any application where you want to visually represent users with avatars.

Features
- Customizable - You can easily customize the appearance of the avatars by adjusting properties like size, background colors, text colors, and more.
- Easy Integration - Integrating the React Name Initials Avatar into your project is simple. Just import the component and pass the necessary props.
- Auto Color - Automatically generate consistent colors based on user names.
- Flexible Initials - Control how many initials to display (1, 2, or 3).
- Shape Options - Easily switch between circle and square shapes.
Installation
yarn add react-name-initials-avatarOR
npm install react-name-initials-avatarUsage
To use the component, import it into your React application:
import {NameInitialsAvatar} from 'react-name-initials-avatar';
function UserProfile(props) {
const { username } = props;
return (
<div className="user-profile">
<NameInitialsAvatar
name={username}
/>
<h2>{username}</h2>
</div>
);
}
export default UserProfile;
In the above example, the NameInitialsAvatar component generates an avatar based on the user's name initials. You can customize the avatar's size, background color, border radius, font weight and text color according to your design.
Props
| Key | Default | Type |
| ----------------- | -----------| ----------------|
| name (required) | undefined| string |
| bgColor | white | string |
| textColor | black | string |
| size | 40px | string | number |
| borderRadius | 50% | string |
| textWeight | bold | string | number |
| textSize | 16px | string | number |
| borderColor | black | string |
| borderStyle | solid | string |
| borderWidth | 2px | string | number |
| shape | undefined | "circle" | "square" |
| autoColor | false | boolean |
| initialsLength | undefined | 1 | 2 | 3 |
Props Description
- name - name of user
- bgColor - set background color
- textColor - set text color
- size - set container size. Accepts
"40px","40", or40(auto-converts to px) - borderRadius - set border radius of container
- textWeight - set font weight of text. Accepted values - normal, bold, bolder, lighter, number, initial, inherit, 100 to 900
- textSize - set font size of text. Accepts
"16px","16", or16(auto-converts to px) - borderColor - set border color of container
- borderStyle - set border style of container. Accepted values - none, hidden, dotted, dashed, solid, double, groove, ridge, inset, outset, initial, inherit
- borderWidth - set border width of container. Accepts
"2px","2", or2(auto-converts to px) - shape - set avatar shape. Accepted values - "circle", "square". Note:
borderRadiustakes precedence overshapeif both are provided - autoColor - when
true, automatically generates a consistent background color based on the name. Note:bgColortakes precedence overautoColorif both are provided - initialsLength - control how many initials to display (1, 2, or 3). For "John Michael Doe":
1shows "J",2shows "JD",3shows "JMD"
Examples
Basic Usage
<NameInitialsAvatar name="John Doe" />Auto Color
Each name generates a unique, consistent color:
<NameInitialsAvatar name="John Doe" autoColor textColor="white" />
<NameInitialsAvatar name="Jane Smith" autoColor textColor="white" />Shape
<NameInitialsAvatar name="Circle" shape="circle" />
<NameInitialsAvatar name="Square" shape="square" />Initials Length
<NameInitialsAvatar name="John Michael Doe" initialsLength={1} /> {/* J */}
<NameInitialsAvatar name="John Michael Doe" initialsLength={2} /> {/* JD */}
<NameInitialsAvatar name="John Michael Doe" initialsLength={3} /> {/* JMD */}Custom Styling
<NameInitialsAvatar
name="John Doe"
bgColor="#3498db"
textColor="white"
size={60}
borderRadius="12px"
borderColor="#2980b9"
borderWidth={3}
/>Precedence Rules
- Background Color:
bgColor>autoColor> default ("white") - Border Radius:
borderRadius>shape> default ("50%")
