Generates strong UUIDs - like uuid module - but encodes to compress length with url-friendly 64-char alphabet

Usage no npm install needed!

<script type="module">
  import uuidEncoded from 'https://cdn.skypack.dev/uuid-encoded';


Unique, strong (rfc4122), friendly, short UUIDs

Build Status


Uses the uuid module to produce an rfc4122 v4 compliant uuid and then encodes it using a 64-char alphabet (by default includes upper, lower letters, numbers, -, _) to encode the uuid in a shortened (22 characters - instead of 32 hex) but still url friendly string.

The module is just a few lines of code

var CHARS = '.PYFGCRLAOEUIDHTNSQJKXBMWVZ_pyfgcrlaoeuidhtnsqjkxbmwvz1234567890';
module.exports = function (chars) {
    var uuid = require('uuid');
    var d64 = require('d64')(chars||CHARS);
    return d64.encode(uuid.v4(null,new Array(16),0))


Using this module:

> var uuid = require('uuid-encoded');
> console.log(uuid());
> console.log(uuid());
> console.log(uuid());
> // use an alphabet that uses . instead of -
> uuid('.PYFGCRLAOEUIDHTNSQJKXBMWVZ_pyfgcrlaoeuidhtnsqjkxbmwvz1234567890')


Installing the module

npm install uuid-enccoded