Sqids (pronounced “squids”) is an open-source library that lets you generate (encode) and decode YouTube-looking IDs from numbers. These IDs are short, can be generated from a custom alphabet, and are guaranteed to be collision-free.
e.g. 5,200,000,000,000 → 28hrcgdxfj → 5,200,000,000,000
Sqids IDs:
- are shorter than numbers - the default Word-safe user-friendly alphabet in this plugin will encode over 5.2 trillion numbers into 10 or fewer letters
- are not sequential
- do not contain common profanity (Sqids has a blocklist, and the Word-safe user-friendly alphabet (and others) doesn’t include vowels, so no words are created)
- can use a variety of different alphabets e.g. excluding uppercase letters, or your own custom alphabet
- are safe to use in URLs (unless you use a custom alphabet (or Ascii85) which includes non-URL-safe characters)
- are supported by 11+ programming languages
- can encode/decode multiple numbers in one ID (useful for example to include a checksum, version number, or Thing type in one ID)
- are NOT good for sensitive data as it is not an encryption library.
There are two server-side actions: Sqids - Encode and Sqids - Decode.
See https://sqids.org/ for more details, or try the Demo page.