uuid
RFC9562-compliant UUID generation for JavaScript and TypeScript.
Repository Health
Technical Analysis
uuid is the de facto standard library for generating RFC9562 (formerly RFC4122) compliant UUIDs in JavaScript and TypeScript. It supports all major UUID versions — v1, v3, v4, v5, v6, and v7 — along with parsing, stringifying, and validation utilities, and ships as a zero-dependency, tree-shakable package that runs identically in Node.js, browsers, and React Native/Expo.
With hundreds of millions of weekly downloads, uuid is one of the most widely used packages in the npm ecosystem, trusted by countless libraries and applications that need collision-resistant unique identifiers for database keys, distributed systems, session tokens, and more.
What You Get
- All RFC9562 UUID versions — v1 (timestamp), v3/v5 (namespace-based), v4 (random), v6/v7 (sortable timestamp) — in one package
- Zero runtime dependencies and full tree-shaking support for minimal bundle size
- Cross-platform support for Node.js, browsers (Chrome/Safari/Firefox/Edge), and React Native/Expo
- A command-line
uuidutility for generating IDs from the terminal - TypeScript types included out of the box, with parse/stringify helpers for working with raw UUID bytes
Common Use Cases
- Generating primary keys for database records without a central ID authority
- Creating unique session, request, or correlation IDs for distributed tracing
- Producing deterministic namespaced IDs (v5) for content-addressable identifiers
- Generating sortable, timestamp-ordered IDs (v7) for high-write database indexes
Under The Hood
Architecture uuid is organized as one small, focused module per concern: each UUID version (v1.ts, v3.ts, v4.ts, v5.ts, v6.ts, v7.ts) lives in its own file and shares common primitives from rng.ts (entropy via crypto.getRandomValues), stringify.ts/parse.ts (byte-array <-> string conversion), and validate.ts (regex-based format checking), all re-exported from a single src/index.ts barrel. Version-specific logic is kept deliberately thin — for example v4.ts fast-paths to the native crypto.randomUUID() when no options or buffer are supplied, falling back to a manually-assembled byte array otherwise — so the library adds almost no overhead over the platform primitives it wraps.
Tech Stack The package is written in TypeScript and compiled to dual ESM/CommonJS-free output (CommonJS support was dropped at v12), targeting native crypto APIs in both Node.js and browsers rather than any userland polyfill. It has zero runtime dependencies; devDependencies are limited to build and quality tooling (TypeScript, Biome for lint/format, Jest and Node’s built-in test runner, WebdriverIO for cross-browser testing, and release-please for versioned releases), keeping the installed footprint of the published package minimal.
Code Quality The src/test directory holds a dedicated spec file for nearly every module (v1, v4, v6, v7, parse, stringify, validate, version, rng, v35), and the maintainers additionally exercise the library end-to-end via examples/ projects covering Node ESM, Jest, TypeScript, and multiple browser bundlers (Rollup, Webpack). Source files are short, single-purpose, and typed throughout, with inline comments flagging performance-sensitive code paths (e.g. the hand-tuned hex-lookup table in stringify.ts) that intentionally trade some readability for measured speed gains.
API Design The public API is extremely low-friction: importing a single named function per UUID version (v4(), v5(), etc.) and calling it with no arguments returns a valid UUID string, with optional parameters available for advanced use (custom entropy, writing into an existing buffer). Naming is consistent across the whole surface (parse/stringify, v1ToV6/v6ToV1, validate/version), and the README documents every export with a runnable example, so getting from npm install to a working UUID takes two lines of code.
Used by 166 apps in this directory
1Panel
Devops · Hosting Control Panel · Monitoring
The only open-source VPS control panel with native AI agent runtime — deploy websites, Docker stacks, and local LLMs from one web interface.
Actual
Invoicing Finance
Local-first personal finance with envelope budgeting, end-to-end encryption, and multi-device sync — no subscription required.
AFFiNE
Productivity · Project Management · Note Taking
Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.
agenta
Developer Tools · Devops · AI Development
The open-source LLMOps platform unifying prompt engineering, evaluation, and observability for teams building reliable LLM applications.
ai-toolkit
AI Development · AI Design Tools
An all-in-one open-source training suite for finetuning diffusion models—FLUX, SDXL, Wan video, and audio—on consumer GPU hardware via CLI or web UI.
APITable
Low Code Platforms · Databases
API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.
Amical
Note Taking · AI Assistants
Local-first AI dictation that understands your active app — private, offline, and built for speed.
Amplication
Developer Tools · AI Code Assistants · Automation
Create production-ready backend services with your organization's standards baked in — generating NestJS, Prisma, and GraphQL code that you own and control.
AnythingLLM
Developer Tools · Automation · AI Assistants
The all-in-one AI platform for private document chat, no-code agents, and local LLMs with zero setup friction.