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 172 apps in this directory
Dify
AI Development · Design Tools · Developer Tools
Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.
Directus
CMS · Low Code Platforms
Connect any SQL database and get instant REST and GraphQL APIs, a visual management Studio, and a native MCP server for AI agents — free for most organizations.
Dittofeed
Automation · Marketing
Open-source omni-channel customer engagement platform for automating transactional and marketing messages via email, SMS, WhatsApp, Slack, and mobile push.
Docmost
CMS · Collaboration · Note Taking
Self-hosted collaborative wiki and knowledge base with real-time editing, diagrams, AI assistance, and enterprise access controls — a modern alternative to Confluence and Notion.
Docs
CMS · File Storage
Open-source collaborative knowledge platform with real-time editing, AI writing tools, and full self-hosting control — built by the French and German governments.
DocuSeal
Digital Signiture
Open source document signing platform with WYSIWYG PDF builder, multi-party workflows, REST API, and full self-hosting via Docker.
drawDB
Databases
Design database schemas visually in your browser and export executable SQL for any major database — no account required.
Dub
Analytics · Marketing
The open-source link attribution platform for short links, conversion tracking, and affiliate programs — powering 100M+ clicks monthly.
Dyad
AI Assistants · AI Code Assistants · AI Development
Build AI-powered apps locally with your own keys, your own models, and zero cloud lock-in.