Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

unique-usernames

saurabh-lohiya23MIT1.0.6TypeScript support: included

unique-usernames is a lightweight and customizable npm package designed to generate unique and creative usernames for apps, organizations, and platforms. Whether you're building a social media app, a gaming platform, or any service that requires unique us

unique-usernames, username-generator, customizable-usernames, random-usernames, creative-usernames, quirky-usernames, anime-usernames, marvel-usernames, cartoon-usernames, funny-usernames, lightweight, fast, genre-based-usernames, username-creation, username-tool, npm-package, social-media-usernames, gaming-usernames, unique-identifier, username-customization

readme

unique-usernames

unique-usernames is a lightweight and customizable npm package designed to generate unique and creative usernames for apps, organizations, and platforms. Whether you're building a social media app, a gaming platform, or any service that requires unique user identifiers, this package provides a flexible solution tailored to your needs.

Features

  • Genre-Based Username Generation: Choose from multiple genres, including quirky, Marvel universe, cartoons, anime, and more.
  • Customizable Formats: Configure username length, inclusion of separators (e.g., hyphens, underscores), and capitalization.
  • Uniqueness Check: Optionally ensure usernames are unique by providing a custom isUsernameTaken function.
  • Lightweight and Fast: Optimized for performance and minimal dependencies.

Installation

Install the package using npm:

npm install unique-usernames

Or with Yarn:

yarn add unique-usernames

Usage

Basic Example

import { generateUniqueUsername } from 'unique-usernames';

const username = generateUniqueUsername({
    adjectiveGenre: 'quirky',
    nounGenre: 'marvel',
    separator: true,
    shouldCapitalize: true,
});

console.log(username); // Example: Witty_Spiderman123

Advanced Example with Uniqueness Check

import { generateUniqueUsername } from 'unique-usernames';

const takenUsernames = new Set(['Witty_Spiderman123']);

const username = generateUniqueUsername({
    adjectiveGenre: 'quirky',
    nounGenre: 'marvel',
    separator: true,
    shouldCapitalize: true,
    isUsernameTaken: (username) => takenUsernames.has(username),
});

console.log(username); // Generates a unique username not in `takenUsernames`

Configuration Options

Option Type Default Description
adjectiveGenre "quirky", "nfsw", etc. "quirky" The genre of the adjective.
nounGenre "quirky", "marvel", etc. "marvel" The genre of the noun.
serial number Random number A specific number to append to the username.
separator boolean false Whether to include a separator (e.g., _ or -) between adjective and noun.
shouldCapitalize boolean false Whether to capitalize the first letter of each word in the username.
isUsernameTaken (username: string) => boolean () => false A function to check if the generated username is already taken.

Genres

The following genres are supported for adjectives and nouns:

Adjective Genres

  • quirky
  • nfsw

Noun Genres

  • quirky
  • marvel
  • cartoons
  • anime

Contributing

Contributions are welcome! If you’d like to add more genres or improve the functionality, feel free to submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.