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
Jitsi Meet
Collaboration · Team Chat · Video Conferencing
Open-source, end-to-end encrypted video conferencing you can self-host or embed into any web or mobile app.
Joplin
Note Taking
The privacy-first, open-source note-taking app with end-to-end encrypted sync, AI assistance, and a powerful plugin ecosystem across every platform.
Kan
Project Management
An open-source, self-hostable Kanban board built as a modern Trello alternative with team workspaces, board permissions, and Trello import.
Keep
Automation · Devops · Monitoring
The open-source AIOps and alert management platform that unifies 130+ monitoring tools into a single pane of glass with AI-powered correlation, deduplication, and workflow automation.
Kestra
Automation · Data Engineering · Devops
Event-driven orchestration platform for data, AI, and infrastructure workflows — define everything in YAML, run anywhere at scale.
KeystoneJS
CMS · Developer Tools
The superpowered headless CMS for developers built with GraphQL and React
Kibana
Analytics · Monitoring
Your open source window into the Elastic Stack — query, visualize, and act on data stored in Elasticsearch with real-time dashboards, AI-assisted search, and automated alerting.
kopia
File Storage
Fast, encrypted, deduplicated backups to any cloud or local storage with full client-side control.
Laminar
AI Development · Monitoring
Open-source observability platform purpose-built for AI agents — trace, evaluate, debug, and monitor at scale with SQL access and real-time replay.