Skip to content

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.

License

Notifications You must be signed in to change notification settings

surbhidighe/react-name-initials-avatar

Repository files navigation

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.

React Name Initals Avatar

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-avatar

OR

npm install react-name-initials-avatar

Usage

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

  1. name - name of user
  2. bgColor - set background color
  3. textColor - set text color
  4. size - set container size. Accepts "40px", "40", or 40 (auto-converts to px)
  5. borderRadius - set border radius of container
  6. textWeight - set font weight of text. Accepted values - normal, bold, bolder, lighter, number, initial, inherit, 100 to 900
  7. textSize - set font size of text. Accepts "16px", "16", or 16 (auto-converts to px)
  8. borderColor - set border color of container
  9. borderStyle - set border style of container. Accepted values - none, hidden, dotted, dashed, solid, double, groove, ridge, inset, outset, initial, inherit
  10. borderWidth - set border width of container. Accepts "2px", "2", or 2 (auto-converts to px)
  11. shape - set avatar shape. Accepted values - "circle", "square". Note: borderRadius takes precedence over shape if both are provided
  12. autoColor - when true, automatically generates a consistent background color based on the name. Note: bgColor takes precedence over autoColor if both are provided
  13. initialsLength - control how many initials to display (1, 2, or 3). For "John Michael Doe": 1 shows "J", 2 shows "JD", 3 shows "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%")

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published