uuid

RFC9562-compliant UUID generation for JavaScript and TypeScript.

Library
npm
v14.0.3
15,337 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
71 /100 Good
Development Activity 72
Maintenance 44
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
88 /100 Excellent
Architecture 85
Code Quality 85
Innovation 90
Learning Curve 90

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 uuid utility 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

TypeScript
94%
AGPL 3.0

Element Web

Collaboration · Team Chat

13,550

A polished, self-hostable Matrix client for secure, decentralized messaging and collaboration that puts your organization in full control of its data.

View details
96
Repo Health
83
Technical
65
Dependency
Built with
TypeScript 94%
Updated today
TypeScript
90%
Other

FastGPT

AI Agents · AI Development

29,790

Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.

View details
93
Repo Health
84
Technical
66
Dependency
Built with
TypeScript 90%
Updated today
TypeScript
74%
Apache 2.0

Fern

Developer Tools

3,809

Fern turns a single OpenAPI, AsyncAPI, or Protobuf definition into type-safe SDKs for nine languages and a hosted API documentation site, all from one CLI and one source of truth.

View details
90
Repo Health
86
Technical
66
Dependency
Built with
TypeScript 74%
Updated today
TypeScript
72%
AGPL 3.0

Firecrawl

AI Development · Developer Tools

189,997

Turn any website into clean, LLM-ready data with a single API call — no proxy headaches, no scraping complexity.

View details
89
Repo Health
83
Technical
65
Dependency
Built with
TypeScript 72%
Python 12%
Updated today
TypeScript
62%
Other

Flowise

AI Development · Automation · Developer Tools

55,495

Drag-and-drop visual builder for AI agents, RAG pipelines, and multi-agent systems—deploy anywhere in minutes.

View details
80
Repo Health
77
Technical
63
Dependency
Built with
TypeScript 62%
JavaScript 27%
Updated 1 months ago
TypeScript
53%
Apache 2.0

Flowsint

Automation · Developer Tools

9,587

A privacy-first, graph-based OSINT investigation platform with 30+ automated enrichers for mapping relationships between domains, IPs, people, and organizations.

View details
85
Repo Health
71
Technical
67
Dependency
Built with
TypeScript 53%
Python 45%
Updated 1 weeks ago
TypeScript
54%
MIT

FormBee

Forms Surveys

771

A self-hostable form backend that accepts HTML form submissions and routes them to email, Telegram, Discord, webhooks, and automation platforms — without writing any server-side code.

View details
41
Repo Health
48
Technical
70
Dependency
Built with
TypeScript 54%
SCSS 25%
HTML 19%
Updated 2 weeks ago
TypeScript
98%
Other

Formbricks

Analytics · Design Tools · Forms Surveys

13,077

Open-source experience management platform for in-app, website, email, and link surveys — privacy-first and fully self-hostable.

View details
93
Repo Health
81
Technical
67
Dependency
Built with
TypeScript 98%
Updated yesterday
TypeScript
92%
MIT

GB Studio

Design Tools · Developer Tools · Game Development

9,418

Drag-and-drop retro Game Boy game creator that compiles real ROMs — no coding required.

View details
88
Repo Health
83
Technical
73
Dependency
Built with
TypeScript 92%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers