Base-xx UUID generator

Usage no npm install needed!

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



npm version Release

Base-XX UUID Encoder / Decoder


uuid-basex makes it easy to generate short uuid string with any encoding and encode or decode existing UUIDs. For example Base64 (url safe) or any other combination of characters. UUID generation if you use it is done by uuid.

uuid-basex began as a fork of shanehughes3's uuid62 which began as a fork of dmarcelino's uuid-base62. It rewritten in typescript and forgoes global scope. Additionally it provides ESM and commonjs exports. Time marches on doesn't it?


npm i uuid-basex


import { UUIDBaseX } from 'uuid-basex'

const uuidx = UUIDBaseX.urlSafe()
const encodedUUID = uuid.v4()
// -> G8vYZyitbW9tM_dIpBPZN

// decode a urlsafe (base64) uuid
const decodedUUID = uuidx.toUUID(encodedUUID)
// -> 2a21ff3d-8927-4be8-9770-fcdb19973f71

// urlsafe encode an existing traditional uuid
// -> G8vYZyitbW9tM_dIpBPZN

// Custom dictionaries
new UUIDBaseX('ABCEFG123456').v4()
// -> F63EF42CE4E524C5GF16FG41BE3EB1FAGE36

// Because sometimes you just have to scream
const uuidAAAAAAAAA = new UUIDBaseX('aA_!')
const aAAaaUUID = uuidAAAAAAAAA.v4()
// ->  AA_!!!A!AaAA___!a!AAAAa!Aa_!!!aa__aa!_AaA___a!_!_A__!_Aa_aaAaaA!
const decodedAAA = uuidAAAAAAAAA.toUUID(aAAaaUUID)
// -> 5bf745ab-3553-4bf0-a0e4-6a3b9ae48107


Checkout our docs!

How does it work?

We use base-x for the conversions under the hood. And for the v4() method we use uuid the defacto standard for making uuids. If you want other uuid versions make them with uuid and pass them to the fromUUID() method because it will be a lot easier to reason about doing that, then trying to understand if you're passing a converted uuid into the arguments or not.