Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Short id generator. Url-friendly. Non-predictable. Cluster-compatible.

tree: 0c6923fb84

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 examples
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 index.js
Octocat-spinner-32 makefile
Octocat-spinner-32 package.json
Octocat-spinner-32 readme.md
readme.md

ShortId Build Status

ShortId creates amazingly short non-sequential url-friendly unique ids. Perfect for url shorteners, MongoDB and Reddis ids, and any other id users might see.

  • 7-12 url-friendly characters: A-Za-z_-
  • Non-sequential so they are not predictable.
  • Shuffled alphabet based on an optional seed you provide so others can't decrypt your ids.
  • Includes version in case you want to change how you encode your id.
  • Includes cluster worker id so you can use on node instances running using Cluster.
  • Includes tests that run on Mocha.
  • Requires Node 0.6 because it uses Node's new crypto functions.

Example

    var ShortId = require('../index');
    var i = 10;
    while (i--) {
        console.log(ShortId.generate());
    }

    // Resulting ids:
    PPBqWA9
    PefBO4A
    eV9B94A
    eemGO4d
    PPGBqhd
    VPyX9hw
    eeDX94w
    PT7GOWA
    PP4XqWA
    PTxG9hD

API

ShortId.generate()

Returns an amazingly short non-sequential unique id.

Other functions

(Full docs coming soon.)

  • ShortId.version(int) sets version, returns ShortId module.
  • ShortId.worker(int) sets cluster worker, returns ShortId module.

See the tests for more examples.

Created for Node Knockout 2011 winner Doodle Or Die.

Something went wrong with that request. Please try again.