npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@alpersamur3/nickname-generator

v1.0.0

Published

A poetic, combinatorial nickname generator. Ships with Turkish word lists by default — fully replaceable with any language.

Downloads

159

Readme

nickname-generator

npm version npm downloads license node

A poetic, combinatorial nickname generator and username generator.
Ships with Turkish word lists by default — fully replaceable with any language.

Generate unique display names, gamer tags, Discord handles, Twitch usernames, bot names, and more. 10 output formats including PascalCase, snake_case, kebab-case, and ASCII-safe slugs. Zero dependencies.

Sabah Sisi · Kayıp Plak · soluk_avlu · GriMektup42


English · Türkçe


Features

  • 10 built-in formats: spaced, pascal, snake, kebab, colorNoun, verbNoun, double, …
  • Bundled with curated Turkish word lists (poetic / melancholic register)
  • Word lists are fully replaceable or extendable per call — works with any language
  • ASCII mode: strips diacritics for URL-safe / social-media-friendly output
  • Zero dependencies

Installation

npm install @alpersamur3/nickname-generator

Quick Start

const { generate, generateMany, allFormats } = require("@alpersamur3/nickname-generator");

// Single nickname — random format
generate();                              // → "YorgunTren"

// Specific format
generate({ format: "spaced" });          // → "Sabah Sisi"
generate({ format: "kebab" });           // → "kayıp-plak"
generate({ format: "pascalNumber" });    // → "KırıkAnahtar42"

// ASCII mode — strips diacritics (URL-safe, social-media-friendly)
generate({ format: "joined", ascii: true });  // → "sabahsisi"
generate({ format: "pascal", ascii: true });  // → "KayipPlak"

// Bulk generation
generateMany(5);
// → ["SolukAvlu", "GeceMektup", "BoşVagon", …]

generateMany(5, { format: "snake", ascii: true });
// → ["sabah_sis", "kayip_duman", …]

// One nickname in every format
allFormats({ ascii: true });
// → { spaced: "Sabah Sisi", joined: "sabahsisi", pascal: "SabahSisi", … }

API

generate(opts?)

Generates a single nickname.

| Option | Type | Default | Description | |---|---|---|---| | format | string | "random" | Format key or "random" | | ascii | boolean | false | Strip diacritics for ASCII-safe output | | words | object | — | Custom word lists (any category, see below) | | extend | boolean | false | true → append to defaults; false → replace defaults |

generateMany(count?, opts?)

Returns an array of count nicknames (default: 10). Accepts the same options as generate().

allFormats(opts?)

Returns one nickname per format as { formatKey: nickname, … }. Accepts the same options as generate() (except format).


Formats

| Key | Example | Description | |---|---|---| | spaced | Sabah Sisi | Title-cased, space-separated | | joined | sabahsisi | Lowercase, no separator | | pascal | SabahSisi | PascalCase | | snake | sabah_sisi | snake_case | | kebab | sabah-sisi | kebab-case | | pascalNumber | SabahSisi42 | PascalCase + number suffix | | joinedNumber | sabahsisi_42 | Joined + number suffix | | colorNoun | GriMektup | Color + noun, PascalCase | | verbNoun | AkanDuman | Verb-participle + noun, PascalCase | | double | SabahSisiVeYağmur | Adj + noun + connector + noun |


Custom Word Lists

Word lists can be swapped per call. Replace mode (default) discards the built-in list entirely; extend mode appends to it.

Replace (default)

// Override nouns — built-in Turkish list is discarded for this call
generate({ format: "pascal", words: { nouns: ["galaxy", "orbit", "pulsar"] } });
// → "SolukGalaxy"

// Override multiple categories at once
generate({
  format: "colorNoun",
  words: { colors: ["neon", "plasma"], nouns: ["grid", "core"] }
});
// → "NeonCore"

Extend

// Append to the default Turkish lists
generate({
  format: "pascal",
  words: { nouns: ["galaxy", "orbit"] },
  extend: true
});
// → may produce "SolukGalaxy" or "YorgunTren" (both pools active)

Inspecting the defaults

const { DEFAULT_WORDS } = require("@alpersamur3/nickname-generator");

console.log(DEFAULT_WORDS.adjectives); // ["eski", "geç", "son", …]
console.log(DEFAULT_WORDS.nouns);      // ["tren", "vagon", "iskele", …]

ASCII Mode

Strips Turkish diacritics (ğ ü ş ı ö ç) for ASCII-safe output:

generate({ format: "pascal", ascii: true }); // → "KayipPlak"  (no diacritics)
generate({ format: "snake",  ascii: true }); // → "sabah_sis"

// Direct utility
const { toAscii } = require("@alpersamur3/nickname-generator");
toAscii("şişli köşe"); // → "sisli kose"

Default Word Lists (Turkish)

The bundled word lists are curated for a poetic, melancholic tone in Turkish.
All categories are fully replaceable via opts.words.

| Category | Key | Sample words | |---|---|---| | Adjectives | adjectives | eski, sessiz, soluk, yalnız, donmuş | | Nouns | nouns | tren, sis, mektup, ayna, şafak | | Colors | colors | sarı, mavi, gümüş, eflatun, kiremit | | Numbers | numbers | 0, 1, 7, 13, 42 | | Verbs | verbs | akan, yanan, sönen, kaybolan, sürüklenen |


License

MIT


Keywords

nickname generator · username generator · random name generator · display name · gamer tag · gamertag generator · Discord username · Twitch handle · bot name · Turkish · slug · ASCII · no dependencies


Türkçe

Şiirsel ve melankolik bir nickname üreteci.
Varsayılan olarak Türkçe kelime listeleriyle gelir — words seçeneğiyle istediğiniz dile göre tamamen değiştirilebilir veya genişletilebilir.

Kurulum

npm install @alpersamur3/nickname-generator

Hızlı Başlangıç

const { generate, generateMany, allFormats } = require("@alpersamur3/nickname-generator");

// Tek nickname — rastgele format
generate();                                  // → "YorgunTren"

// Belirli format
generate({ format: "spaced" });              // → "Sabah Sisi"
generate({ format: "kebab" });               // → "kayıp-plak"
generate({ format: "pascalNumber" });        // → "KırıkAnahtar42"

// ASCII modu — Türkçe karakterleri kaldırır (URL ve sosyal medya dostu)
generate({ format: "joined", ascii: true }); // → "sabahsisi"
generate({ format: "pascal", ascii: true }); // → "KayipPlak"

// Toplu üretim
generateMany(5);
// → ["SolukAvlu", "GeceMektup", "BoşVagon", …]

// Tüm formatlarda birer tane
allFormats({ ascii: true });
// → { spaced: "Sabah Sisi", joined: "sabahsisi", pascal: "SabahSisi", … }

Kelime Listelerini Özelleştirme

// Sadece kendi isimlerinizi kullanın (varsayılan liste devre dışı)
generate({ format: "pascal", words: { nouns: ["gezegen", "yıldız", "nebula"] } });
// → "SessizGezegen"

// Varsayılan listeye ekleme yapın (extend modu)
generate({ format: "pascal", words: { nouns: ["meteor"] }, extend: true });
// → varsayılan Türkçe isimler + "meteor" arasından rastgele seçer

// Birden fazla kategoriyi aynı anda değiştirin
generate({
  format: "colorNoun",
  words: { colors: ["neon", "plazma"], nouns: ["çekirdek", "ızgara"] }
});
// → "NeonIzgara"

Formatlar

| Anahtar | Örnek | Açıklama | |---|---|---| | spaced | Sabah Sisi | Boşluklu, başharfler büyük | | joined | sabahsisi | Bitişik, küçük harf | | pascal | SabahSisi | PascalCase | | snake | sabah_sisi | Alt tire | | kebab | sabah-sisi | Tire | | pascalNumber | SabahSisi42 | PascalCase + sayı | | joinedNumber | sabahsisi_42 | Bitişik + sayı | | colorNoun | GriMektup | Renk + isim | | verbNoun | AkanDuman | Fiil + isim | | double | SabahSisiVeYağmur | Sıfat + isim + bağlaç + isim |

API

| Fonksiyon | Açıklama | |---|---| | generate(opts?) | Tek nickname üretir | | generateMany(count?, opts?) | count adet nickname döner (varsayılan: 10) | | allFormats(opts?) | Her format için birer nickname döner | | toAscii(str) | Türkçe karakterleri ASCII'ye çevirir | | DEFAULT_WORDS | Varsayılan kelime listelerine erişim | | FORMAT_KEYS | Geçerli format anahtarları dizisi |

  • 10 built-in formats: spaced, pascal, snake, kebab, colorNoun, verbNoun, double, …
  • Bundled with curated Turkish word lists (poetic / melancholic register)
  • Word lists are fully replaceable or extendable per call — works with any language
  • ASCII mode: strips diacritics for URL-safe / social-media-friendly output
  • Zero dependencies

Installation

npm install @alpersamur3/nickname-generator

Quick Start

const { generate, generateMany, allFormats } = require("@alpersamur3/nickname-generator");

// Single nickname — random format
generate();                              // → "YorgunTren"

// Specific format
generate({ format: "spaced" });          // → "Sabah Sisi"
generate({ format: "kebab" });           // → "kayıp-plak"
generate({ format: "pascalNumber" });    // → "KırıkAnahtar42"

// ASCII mode — strips diacritics (URL-safe, social-media-friendly)
generate({ format: "joined", ascii: true });  // → "sabahsisi"
generate({ format: "pascal", ascii: true });  // → "KayipPlak"

// Bulk generation
generateMany(5);
// → ["SolukAvlu", "GeceMektup", "BoşVagon", …]

generateMany(5, { format: "snake", ascii: true });
// → ["sabah_sis", "kayip_duman", …]

// One nickname in every format
allFormats({ ascii: true });
// → { spaced: "Sabah Sisi", joined: "sabahsisi", pascal: "SabahSisi", … }

API

generate(opts?)

Generates a single nickname.

| Option | Type | Default | Description | |---|---|---|---| | format | string | "random" | Format key or "random" | | ascii | boolean | false | Strip diacritics for ASCII-safe output | | words | object | — | Custom word lists (any category, see below) | | extend | boolean | false | true → append to defaults; false → replace defaults |

generateMany(count?, opts?)

Returns an array of count nicknames (default: 10). Accepts the same options as generate().

allFormats(opts?)

Returns one nickname per format as { formatKey: nickname, … }. Accepts the same options as generate() (except format).


Formats

| Key | Example | Description | |---|---|---| | spaced | Sabah Sisi | Title-cased, space-separated | | joined | sabahsisi | Lowercase, no separator | | pascal | SabahSisi | PascalCase | | snake | sabah_sisi | snake_case | | kebab | sabah-sisi | kebab-case | | pascalNumber | SabahSisi42 | PascalCase + number suffix | | joinedNumber | sabahsisi_42 | Joined + number suffix | | colorNoun | GriMektup | Color + noun, PascalCase | | verbNoun | AkanDuman | Verb-participle + noun, PascalCase | | double | SabahSisiVeYağmur | Adj + noun + connector + noun |


Custom Word Lists

Word lists can be swapped per call. Replace mode (default) discards the built-in list entirely; extend mode appends to it.

Replace (default)

// Override nouns — built-in Turkish list is discarded for this call
generate({ format: "pascal", words: { nouns: ["galaxy", "orbit", "pulsar"] } });
// → "SolukGalaxy"

// Override multiple categories at once
generate({
  format: "colorNoun",
  words: { colors: ["neon", "plasma"], nouns: ["grid", "core"] }
});
// → "NeonCore"

Extend

// Append to the default Turkish lists
generate({
  format: "pascal",
  words: { nouns: ["galaxy", "orbit"] },
  extend: true
});
// → may produce "SolukGalaxy" or "YorgunTren" (both pools active)

Inspecting the defaults

const { DEFAULT_WORDS } = require("@alpersamur3/nickname-generator");

console.log(DEFAULT_WORDS.adjectives); // ["eski", "geç", "son", …]
console.log(DEFAULT_WORDS.nouns);      // ["tren", "vagon", "iskele", …]

ASCII Mode

Strips Turkish diacritics (ğ ü ş ı ö ç) for ASCII-safe output:

generate({ format: "pascal", ascii: true }); // → "KayipPlak"  (no diacritics)
generate({ format: "snake",  ascii: true }); // → "sabah_sis"

// Direct utility
const { toAscii } = require("@alpersamur3/nickname-generator");
toAscii("şişli köşe"); // → "sisli kose"

Default Word Lists (Turkish)

The bundled word lists are curated for a poetic, melancholic tone in Turkish.
All categories are fully replaceable via opts.words.

| Category | Key | Sample words | |---|---|---| | Adjectives | adjectives | eski, sessiz, soluk, yalnız, donmuş | | Nouns | nouns | tren, sis, mektup, ayna, şafak | | Colors | colors | sarı, mavi, gümüş, eflatun, kiremit | | Numbers | numbers | 0, 1, 7, 13, 42 | | Verbs | verbs | akan, yanan, sönen, kaybolan, sürüklenen |


License

MIT


Keywords

nickname generator · username generator · random name generator · display name · gamer tag · gamertag generator · Discord username · Twitch handle · bot name · Turkish · slug · ASCII · no dependencies


Varsayılan kelime listeleri Türkçe'dir. words seçeneğiyle herhangi bir dildeki kelimelerle değiştirilebilir veya genişletilebilir.