Base62.js: JavaScript Base62 Encoder/Decoder

2.0.2 · maintenance · verified Sun Apr 19

The `base62` package provides JavaScript utilities for encoding and decoding numbers into Base62 strings. These strings use a character set of 0-9, a-z, and A-Z, typically resulting in shorter, human-readable identifiers compared to other encoding schemes. The current stable version is 2.0.2, though its last publish date was over two years ago, suggesting a maintenance rather than rapid development cadence. A key differentiator of `base62` is its dual API approach: a legacy API (v1.x) available directly from the main package import and a modernized API (v2.x) that allows selective imports for specific character sets (ASCII or custom). The v2.x API is designed for efficiency by enabling modular loading, particularly useful for larger applications.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates encoding and decoding numbers using both the modern (v2.x) API with default ASCII and a custom character set, as well as the legacy (v1.x) API.

const base62Ascii = require('base62/lib/ascii');
const base62Custom = require('base62/lib/custom');

// Using the default ASCII character set (modern API)
const num1 = 999;
const encoded1 = base62Ascii.encode(num1);
const decoded1 = base62Ascii.decode(encoded1);
console.log(`Default ASCII: ${num1} => ${encoded1} => ${decoded1}`);

// Using a custom character set (modern API)
const customCharset = "~9876543210ABCDEFGHIJKLMNOPQRSTU$#@%!abcdefghijklmnopqrstuvw-=";
const indexedCharset = base62Custom.indexCharset(customCharset);
const num2 = 999;
const encoded2 = base62Custom.encode(num2, indexedCharset);
const decoded2 = base62Custom.decode(encoded2, indexedCharset);
console.log(`Custom Charset: ${num2} => ${encoded2} => ${decoded2}`);

// Using the legacy API (default ASCII)
const base62Legacy = require('base62');
const num3 = 9999;
const encoded3 = base62Legacy.encode(num3);
const decoded3 = base62Legacy.decode(encoded3);
console.log(`Legacy API: ${num3} => ${encoded3} => ${decoded3}`);

view raw JSON →