by Atrox

Generate Heroku-like random names to use in your node applications.

204 Stars 18 Forks Last release: 11 months ago (v2.1.2) BSD 3-Clause "New" or "Revised" License 146 Commits 17 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


Build Status Latest Version Dependency Status devDependency Status Coverage Status

Generate Heroku-like random names to use in your node applications.


npm install --save haikunator


Haikunator is pretty simple.

var Haikunator = require('haikunator')
// ES6: import Haikunator from 'haikunator'

// Instantiate Haikunator without options // var haikunator = new Haikunator()

// Instantiate Haikunator with default options var haikunator = new Haikunator({ adjectives: ['custom', 'adjectives'], nouns: ['custom', 'nouns'], seed: 'custom-seed', defaults: { // class defaults tokenLength: 8, tokenChars: 'HAIKUNATOR', // ... } })

// default usage haikunator.haikunate() // => "wispy-dust-1337"

// custom length (default=4) haikunator.haikunate({tokenLength: 6}) // => "patient-king-887265"

// use hex instead of numbers haikunator.haikunate({tokenHex: true}) // => "purple-breeze-98e1"

// use custom chars instead of numbers/hex haikunator.haikunate({tokenChars: "HAIKUNATE"}) // => "summer-atom-IHEA"

// don't include a token haikunator.haikunate({tokenLength: 0}) // => "cold-wildflower"

// use a different delimiter haikunator.haikunate({delimiter: "."}) // => "restless.sea.7976"

// no token, space delimiter haikunator.haikunate({tokenLength: 0, delimiter: " "}) // => "delicate haze"

// no token, empty delimiter haikunator.haikunate({tokenLength: 0, delimiter: ""}) // => "billowingleaf"


The following options are available:

var Haikunator = require("haikunator")

var haikunator = new Haikunator({ adjectives: ['custom', 'adjectives'], nouns: ['custom', 'nouns'], seed: 'custom-seed', // Custom seed defaults: { // Class wide defaults, can get overridden by haikunate(options) delimiter: "-", tokenLength: 4, tokenHex: false, tokenChars: "0123456789", } })

// Same options are also available on the haikunate method haikunator.haikunate({ delimiter: "-", tokenLength: 4, tokenHex: false, tokenChars: "0123456789" })


is true, any tokens specified in
are ignored


Everyone is encouraged to help improve this project. Here are a few ways you can help:

Other Languages

Haikunator is also available in other languages. Check them out:

  • .NET: https://github.com/Atrox/haikunator.net
  • Python: https://github.com/Atrox/haikunatorpy
  • PHP: https://github.com/Atrox/haikunatorphp
  • Java: https://github.com/Atrox/haikunatorjava
  • Go: https://github.com/Atrox/haikunatorgo
  • Perl: https://github.com/Atrox/haikunatorperl
  • Dart: https://github.com/Atrox/haikunatordart
  • Ruby: https://github.com/usmanbashir/haikunator
  • Rust: https://github.com/nishanths/rust-haikunator

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.