Workspace Kanban: Automation Is Here
You can now automate repetitive tasks directly inside the Workspace Kanban plugin.
Read update
August 24, 2026
4 min read
Introducing @readytools/id — The Ultimate Ultra-Fast, Zero-Dependency ID & Token Generator for Modern Enterprise Systems
readytools
ReadyTools author
We’re excited to announce the official release of @readytools/id (v1.0.6), our newest professional npm package designed from the ground up for developers building high-performance, secure, and scalable applications.
After seeing the fragmentation in the JavaScript ID ecosystem — where teams juggle separate packages for UUIDs, NanoIDs, ULIDs, CUIDs, and more — we built a single, battle-ready solution that replaces them all without adding a single dependency to your project.
The JavaScript ecosystem has long forced developers into a fragmented toolkit:
@readytools/id is the all-in-one replacement that solves real-world enterprise problems while keeping your node_modules clean and your supply-chain risk near zero.
npm install @readytools/id # or pnpm add @readytools/id # or yarn add @readytools/id
Random UUIDv4 values cause significant B-Tree index fragmentation in PostgreSQL and MySQL. UUIDv7 and ULID solve this by being chronologically sortable.
import { uuidv7, ulid } from '@readytools/id';
const uid = uuidv7(); // "01917f9b-6b80-71a2-8b9a-1c8f3b2a4d5e"
const u = ulid(); // "01M0PSE3E250JQT8AVKQQ71XDX"import { nanoId, cuid2 } from '@readytools/id';
const nid = nanoId(); // "V1StGXR8_Z5jdHi6B-myT"
const cid = cuid2(); // "oyx0325cv6x4vqlsja5s7yd8"Domain-prefixed IDs make logs, APIs, and debugging dramatically clearer.
import { smart } from '@readytools/id';
const userId = smart('usr'); // "usr_7eto6037Z-N5JDsBKKVYl"
const invoiceId = smart('inv', { date: true }); // "inv_20260823_6mY686gs0CYsJnxzeuG90"import { generateToken } from '@readytools/id';
const token = generateToken(32, 'base64url'); // 32-byte cryptographically secure Base64URL string1. Deterministic Testing / Mocking
Stop writing fragile mocks for random IDs. Seed the generator so snapshot tests become 100% reproducible.
import { seed, resetMocks, uuidv4 } from '@readytools/id';
seed(12345); // PRNG is now deterministic
const a = uuidv4(); // Always the same value for this seed
// ... run your tests ...
resetMocks(); // Restore secure Web Crypto generator2. Database Storage Optimizer (BINARY(16))
Storing 36-character UUID strings wastes space and slows indexes. Convert to a compact 16-byte Uint8Array.
import { uuidv7, toBinary, fromBinary } from '@readytools/id';
const binary = toBinary(uuidv7()); // Uint8Array(16)
const uuidStr = fromBinary(binary, 'uuid'); // Restore original string3. Collision Risk Calculator
Calculate exact mathematical collision probability using the Birthday Paradox.
import { collisionRisk } from '@readytools/id';
const risk = collisionRisk(64, 21, 1_000_000); // alphabet length, ID length, expected countimport { isValid, getVersion, extractTimestamp } from '@readytools/id';
isValid('01917f9b-...', 'uuid'); // true
getVersion('01917f9b-...'); // 7
extractTimestamp('01M0PSE3E250JQT8AVKQQ71XDX', 'ulid'); // Date objectGenerate IDs or calculate risk directly from the terminal:
npx @readytools/id uuidv7 npx @readytools/id smart usr npx @readytools/id risk 64 21 1000000
Tested on Node.js v20 (ops/sec — higher is better):
| Generator | Ops/sec | Description |
|---|---|---|
| uuidv4 (native) | ~9,180,000 | Native Crypto direct binding |
| uuidv1 | ~3,890,000 | Time + MAC based |
| snowflake | ~3,880,000 | 64-bit integer generation |
| nanoId | ~3,870,000 | Zero-allocation, zero modulo bias, URL-friendly |
| uuidv7 | ~3,430,000 | Time-sortable UUID for databases |
| generateToken | ~2,670,000 | Cryptographic secret / API key generator |
| cuid2 | ~2,620,000 | Highly secure, 32-bit hashed ID |
| smart | ~2,570,000 | Domain-prefixed Stripe-style IDs |
| ulid | ~2,040,000 | Time-sortable Crockford Base32 |
(Run npm run bench for results on your machine.)
Complete, production-ready documentation is available at:
https://www.readytools.co/docs/id/
The docs cover:
MIT © ReadyTools
Happy coding!
— The ReadyTools Team
Type
NewDate
August 24, 2026
Reading time
4 min read
Explore more recent ReadyTools changes.
You can now automate repetitive tasks directly inside the Workspace Kanban plugin.
Read update
You can now compare your website directly against a competitor in the SEO Analyzer.
Read update
We’ve upgraded the AI model behind Lara inside the SEO Analyzer to GPT-5.6 Luna, bringing a significantly more capable AI model to your SEO workflow.
Read update