Smoother Canvas Experience, Mobile Enhancements & Smarter Workspaces
This release focuses on making your workspace faster, mobile publishing more intuitive, and shared content effortless for your audience to explore.
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.
This release focuses on making your workspace faster, mobile publishing more intuitive, and shared content effortless for your audience to explore.
Read update
We’re excited to share that ReadyTools is moving forward with the latest AI capabilities.
Read update
Today, we are releasing Canvas, a dedicated visual whiteboard block integrated directly into ReadyTools Workspace.
Read update