ModernUUID Icon ModernUUID
RFC 9562 COMPLIANT All UUID Versions & NanoID Supported

Online UUID Generator: Fast, Secure & Client-Side Engine.

Instant, secure, zero-dependency generator for all UUID versions (v1–v7), compact URL-safe NanoIDs, and Microsoft GUIDs.

⚡ INSTANT PREVIEW (UUID Version 4) 128-bit Secure Entropy
Loading generator…
Looking for other formats?
Select Identifier Architecture
RFC 4122 / 9562 STANDARD

Online UUID Version 4 Generator Tool

Cryptographically random universal identifier generated using modern browser hardware entropy.

Generated Output:
Generating…
Formatting & Manipulation Options

Online UUID Generator: Advanced Client-Side Cryptographic Toolkit

Modern UUID is an open, high-performance developer toolkit designed for fast identifier creation and cryptographic utilities. Powered entirely by the native Web Crypto API, it runs directly on your machine without making external network requests. Whether you need high-throughput batches for database seeding, time-ordered keys for production tables, or compact NanoIDs for URL routing, every operation executes with zero latency and complete privacy.

The Anatomy of UUIDs: Choosing the Right Identifier

Selecting an identifier format directly impacts database indexing ergonomics, storage overhead, and application security. Below is an architectural evaluation of supported standards under RFC 9562 and modern utility protocols.

UUID v4 (Random Entropic) RFC 4122/9562

The industry standard for pure pseudo-random uniqueness. Utilizing 122 bits of random entropy with a mathematical collision probability near zero (1 in 2122), v4 is ideal for API keys, session tokens, and transient referencing where predictability must be avoided.

  • Entropy: 122 bits generated via CSPRNG
  • Best Use Case: Stateless OAuth IDs and distributed systems

UUID v7 (Time-Sequential) RFC 9562

When debating uuid v4 vs v7 for persistence layers, v7 represents the modern paradigm. It prefaces random entropy with a 48-bit UNIX millisecond timestamp. This guarantees sequential ordering, eliminating B-tree index fragmentation and page splits in high-throughput database schemas.

  • Structure: 48-bit time + 74-bit random + ver/var bits
  • Best Use Case: Relational database primary keys (PostgreSQL/MySQL)

NanoID (Compact & URL-Safe) Modern Spec

A high-performance alternative to UUIDs. By leveraging a larger 64-character alphabet (A-Za-z0-9_-), NanoID shrinks standard strings down to 21 characters while maintaining comparable cryptographic collision resistance. Perfect for compact URL routing and payload reduction.

  • Efficiency: ~40% smaller payload foot-print than standard UUIDs
  • Best Use Case: Short public shareable URLs and document keys

UUID v1 & v5 (Legacy & Deterministic) Namespace Hash

UUID v1 combines host MAC addresses with Gregorian timestamps for hardware-bound tracing. UUID v5 offers reproducible hashing: given a namespace UUID and an input string, it evaluates a deterministic SHA-1 output—allowing identical distributed generation without synchronization.

  • Mechanism: SHA-1 hashing over fixed namespaces (v5)
  • Best Use Case: Deduplication and stable deterministic idempotency

Why Client-Side Generation Matters: Privacy & Zero Latency

Legacy online generator utilities often rely on server-side APIs, transmitting generated tokens across public internet infrastructure. This introduces network IO latency, API rate-limiting, and severe data telemetry vulnerabilities when generating security-sensitive infrastructure identifiers.

Modern UUID completely decouples utility generation from cloud backend servers. When initializing a random string generator workflow or spinning up a secure key generator batch, our architecture binds directly to JavaScript Web Workers and the hardware-backed window.crypto.getRandomValues() interface. Entropy is pulled straight from your OS kernel (via /dev/urandom or Windows CNG), completely bypassing HTTP serialization.

This zero-backend design converts Modern UUID into a truly hardened client-side token generator. Whether you are generating verification hashes, testing auth pipelines alongside a bcrypt hash generator, or creating thousands of migration records offline, your identifiers never leave your volatile browser memory. Furthermore, as part of your essential suite of offline developer tools, this utility functions natively as a Progressive Web Application (PWA)—delivering reliable, secure execution even in isolated air-gapped environments.

Specialized Cryptographic & Security Utilities

Beyond standard identifier generation, Modern UUID provides dedicated utilities for token inspection, credential hashing, and secret key generation—all running locally in your browser with zero server telemetry.

JWT Studio & Inspector → RFC 7519

Inspect, decode, and verify JSON Web Tokens without sending sensitive authorization payloads over the network. Decode claims, validate expiration badges, and verify HMAC-SHA256 signatures locally in browser memory.

Bcrypt Hash Studio → Password Security

Generate salted password hashes and test string-to-hash verification using configurable cost factors. Powered by dedicated background Web Workers, hashing operations run smoothly without freezing your interface.

API Key & Secret Generator → 256-Bit Entropy

Generate high-entropy secrets, authorization headers, and API keys. Sourced directly from your operating system's cryptographic random pool, outputs can be formatted in hexadecimal, Base64, or custom alphanumeric sets.

Random String Generator → CSPRNG Entropy

Synthesize unguessable character sequences, session tokens, and passwords with real-time Shannon information entropy calculations. Tailor character pools to match your database or security policy requirements.

⚡ Instant Generation: Need standard identifiers right away? Use the interactive controls above or jump straight to our high-throughput batch generator.
Try v4 Generator →

Featured Engineering Guides

In-depth reference architecture articles written by our engineering team.

View All Guides →
Developer FAQ & Technical Reference

Frequently Asked Questions

Deep technical explanations covering identifier architecture, token security, cryptographic hashing, and zero-backend client execution.

UUIDs & Identifiers

RFC 9562 & NanoID
01. What is a UUID and what does UUID stand for? +

UUID stands for Universally Unique Identifier (often used interchangeably with GUID, or Globally Unique Identifier). It is a standardized 128-bit algorithmic label formatted as a 36-character hexadecimal string separated by hyphens (e.g., 550e8400-e29b-41d4-a716-446655440000).

As standardized under RFC 9562 (which supersedes RFC 4122), UUIDs empower distributed systems, microservices, and databases to generate uniquely identifying primary keys locally without requiring network synchronization, consensus verification, or a centralized identifier generation authority.

02. What is the difference between UUID v4 and UUID v7? +

The core architectural difference lies in randomness versus time-sortability:

  • UUID v4 is purely pseudo-random, relying entirely on 122 bits of cryptographically secure pseudo-random number generator (CSPRNG) entropy. While completely unpredictable, inserting random v4 keys into relational database engines causes severe B-tree index fragmentation and page splits at massive scales.
  • UUID v7 introduces a revolutionary time-sequential format. It encodes a 48-bit UNIX millisecond timestamp in the most significant bits, followed by monotonic sequence counters and random entropy.

Engineering Recommendation: Deploy UUID v7 for relational database primary keys (PostgreSQL, MySQL, CockroachDB) to maintain lightning-fast chronological B-tree insert indexing, and deploy UUID v4 for transient session authentication IDs, secure bearer tokens, or API secret keys where unpredictability is essential.

03. Can UUIDs collide? Is a UUID completely unique? +

In theoretical mathematics, yes; in practical engineering reality, no. A UUID v4 contains 122 bits of independent entropic variance, creating a total keyspace of 2122 (approx. 5.3 × 1036, or 5.3 undecillion) possible combinations.

According to the cryptographic birthday paradox, a system would need to generate approximately 2.71 quintillion UUIDs before reaching a modest 50% probability of a single collision occurring. When generated using hardware-backed operating system entropy (such as the browser native window.crypto.getRandomValues() interface utilized strictly by Modern UUID), cryptographic collision is considered mathematically negligible in production infrastructure.

04. What is a NanoID, and NanoID vs UUID: which is better? +

NanoID is an ultra-compact, URL-safe, high-speed unique identifier generation protocol. When evaluating NanoID vs UUID for architectural integration:

  • Payload Size & Alphabet: NanoID defaults to a concise 21-character representation by harnessing a larger 64-character alphabet (A-Za-z0-9_-). This renders NanoID ~40% smaller than a standard 36-character UUID string while guaranteeing identical cryptographic collision resistance.
  • Execution Performance: NanoID is optimized for rapid hardware memory allocation and CPU efficiency, making it ideal for high-frequency short link URL routing, JSON packet transmission compaction, and NoSQL document keys.
  • Standardization: UUID is explicitly governed by IETF specification protocols (RFC 9562), making it the universal choice for traditional SQL schemas, enterprise RPC contracts, and cross-language interoperability.

JWT (JSON Web Tokens) & Auth

RFC 7519 Security
01. What is a JWT token, what does JWT stand for, and how does JWT work? +

JWT stands for JSON Web Token (pronounced "jot"), an industry standard defined under RFC 7519 for securely representing claims between two interacting parties as a compact, self-contained JSON object.

A JWT consists of three Base64URL-encoded strings separated by periods: Header.Payload.Signature.

  • Header: Specifies the metadata, including the token type and cryptographic signature or encryption cipher algorithm (such as HMAC SHA-256 or RSA/ECDSA).
  • Payload (Claims): Encapsulates domain-specific user assertions, permissions, and standard security timestamps (including sub for subject, iat for issued-at, and exp for expiration time).
  • Signature: A cryptographic evaluation generated by hashing the Header and Payload together using a private server secret or private key, preventing data tampering in transit.

On Modern UUID, our specialized client-side JWT engine parses, decodes, and validates these cryptographic signatures entirely within your browser sandbox—zero token strings or validation secrets are ever transmitted across external network sockets.

02. What is the difference between JWT authentication and authorization? +

While frequently interconnected within application security workflows, authentication and authorization enforce two structurally distinct security requirements:

  • Authentication (AuthN - "Who are you?"): The protocol of validating identity credentials. For example, verifying a submitted email and password combination against a database, and subsequently issuing an immutable, cryptographically signed JWT to represent that validated session.
  • Authorization (AuthZ - "What can you do?"): The verification of resource access privileges and action permissions. When an authenticated client transmits a JWT to an API gateway, the backend verifies the signature and parses internal authorization claims (e.g., "role": "admin" or "scopes": ["write:orders"]) before permitting route execution.

Because JWTs encapsulate validated authorization claims directly within the signed token body, backend microservices can execute stateless authorization verification locally without querying a relational database on every subsequent HTTP request.

03. What is an access token vs refresh token in token authentication? +

Modern OAuth2 and OIDC application security architectures mandate a dual-token strategy to balance seamless UX session continuity with rigorous defensive threat containment:

  • Access Token: A short-lived cryptographic credential (typically expiring between 15 minutes and 1 hour) transmitted inside network authorization request headers (Authorization: Bearer <token>) to gain immediate access to protected resource endpoints.
  • Refresh Token: A long-lived, securely sequestered cryptographic secret (lasting several days or months) utilized strictly to request a brand new Access Token from an identity authorization server whenever the prior access token naturally expires.

This separation minimizes attack surface vulnerability: if an in-memory access token is accidentally exfiltrated via network interception, its short expiry renders it useless within minutes. Meanwhile, long-lived refresh tokens remain safely quarantined in hardened vaults where they can be explicitly revoked by server admins.

04. Where should I store JWT tokens on the frontend: LocalStorage vs HTTP-only cookies? +

HTTP-only, Secure Cookies represent the architectural defense-in-depth standard for web client browser token persistence.

  • HTTP-only Cookies: Completely immune to Cross-Site Scripting (XSS) exfiltration attempts because standard DOM JavaScript cannot read, parse, or transmit cookie payloads via the document.cookie interface. Combining HTTP-only flags with SameSite=Strict configurations simultaneously eliminates Cross-Site Request Forgery (CSRF) vulnerability vectors.
  • LocalStorage & SessionStorage: Critically vulnerable to XSS exploitation. If a compromised third-party NPM dependency or malformed script injection executes within the application DOM, attackers can execute trivial harvesting routines via localStorage.getItem() to siphon active JWT session credentials to remote exfiltration servers.

Universal Best Practice: Store sensitive authentication tokens in HTTP-only, Secure, SameSite cookies for traditional web clients, and utilize transient in-memory state or OS native keychain vaults when engineering mobile web views or desktop wrappers.

05. Can a JWT be decrypted or read without the secret key? +

Yes, immediately and trivially. Standard JSON Web Tokens are cryptographically signed to prove authorship and prevent structural modification, but they are almost never encrypted.

The structural Header and Payload sections of a conventional JWT are simply transformed into textual readability using standard Base64URL encoding. Any user, intermediate proxy, or network observer who intercepts a standard JWT can instantly run Base64 decoding routines (using tools like Modern UUID's local client-side JWT decoder) to inspect every embedded user ID, email address, role assertion, and payload variable without possessing the server signing secret.

Critical Security Imperative: Never embed confidential credentials, database passwords, secret keys, or unencrypted personally identifiable information (PII) inside a standard JWT payload. If payload privacy across public channels is strictly required, implement JWE (JSON Web Encryption) protocols.

06. How do you invalidate or revoke a stateless JWT token? +

Because standard JWTs are architecturally stateless—meaning receiving servers verify token legitimacy purely via mathematical signature verification and expiration checking—a remote backend cannot inherently "delete" an issued JWT prior to its natural expiration timestamp (exp claim) without introducing targeted verification logic. Approved engineering patterns include:

  • Aggressive Short-Lived Expirations: Maintain access token TTL lifespans under 10 to 15 minutes, relying on rapid natural expiration to limit access persistence upon session termination.
  • Token Blacklisting (Denylisting): Persist revoked token unique identifiers (the jti claim) within an ultra-fast in-memory cache architecture (such as a Redis cluster) until their timestamp naturally expires. Every incoming API request verifies absence from the denylist.
  • Token Versioning (Generation Counters): Store an integer token generation counter (tv claim) within both the user database record and the signed JWT payload. When a user explicitly signs out or executes an emergency password reset, increment the database version counter—causing all legacy tokens carrying outdated numerical assertions to fail validation instantly.

Bcrypt & Password Hashing

Blowfish Cipher
01. What is bcrypt and how does bcrypt hashing work? +

Bcrypt is an advanced, robust cryptographic password hashing function derived from the established Blowfish symmetric block cipher, engineered by cryptologists Niels Provos and David Mazières specifically to defeat exhaustive brute-force crack arrays and specialized custom hardware attacks.

When processing an authentication credential, bcrypt merges an algorithm formatting designator, an adaptive exponential computational work factor (cost rounds), and a cryptographically randomized 128-bit salt before running iterative Blowfish key expansion algorithms for $2^{ ext{cost}}$ cycles. On Modern UUID, our specialized verification and salting tools execute all complex bcrypt computational hashing cycles directly inside localized browser Web Workers.

02. Is bcrypt secure, and why is bcrypt better than SHA-256 for password hashing? +

Yes, bcrypt remains a premier engineering gold standard for secure password database storage. It vastly outperforms standard general-purpose cryptographic message digests such as SHA-256 or MD5 for human credential persistence:

  • Deliberate Computational Resistance: SHA-256 is designed for raw computational speed (enabling modern commercial graphics processing units to calculate billions of hash digests per second), rendering fast dictionary and rainbow table brute-force attacks trivial. Bcrypt is deliberately engineered to be computationally intensive and memory-hard.
  • Adaptive Work Factor Tuning: Bcrypt incorporates a configurable computational cost factor, allowing infrastructure engineers to scale hashing CPU execution times upwards over the years to permanently neutralize advancing CPU, GPU, and ASIC computational processing speeds.
03. Can bcrypt hashes be decrypted, reversed, or unhashed? +

No, never. Bcrypt is strictly a one-way cryptographic hashing algorithm, completely distinct from bidirectional data encryption ciphers.

While traditional encryption algorithms rely on cryptographic keys to transform encrypted ciphertext back into readable plaintext, cryptographic password hashing irreversibly destroys original string input structures to produce a unique, unalterable mathematical verification fingerprint. To authenticate a user signing into an application, security backends take the submitted plaintext password, extract the cryptographic salt embedded inside the existing user database hash, execute identical iterative bcrypt derivation cycles, and check the resulting hash fingerprints for constant-time string equivalence.

04. What is a salt in bcrypt and why is it necessary? +

A cryptographic salt is a unique, unguessable bit sequence of pure randomized entropy (exactly 128 bits in standard bcrypt specifications, encoded as a 22-character Base64 algorithmic prefix) automatically concatenated to a plaintext password before computational hashing rounds begin.

Salting serves two mandatory defensive security requirements:

  • Defeating Rainbow Tables: Eliminates the feasibility of pre-computed hash dictionary lookup tables (rainbow tables). Because each individual user credential possesses a unique random salt, an attacker cannot compute a universal lookup table and must calculate brute-force derivation attempts individually for every single user record in a compromised database.
  • Masking Duplicate Credentials: Prevents identifying patterns in database storage. Even if two totally independent users pick an identical plaintext password (such as SuperSecure2026!), their unique cryptographic salts ensure their stored bcrypt database hashes remain totally different.
05. What is a good cost factor (work factor) for bcrypt today? +

For enterprise authentication deployments across modern servers in 2026, a bcrypt cost factor (work rounds) between 12 and 14 is universally recommended for standard interactive authentication endpoints.

Because the work factor scales exponentially (calculating exactly $2^{ ext{cost}}$ iterative cryptographic evaluation rounds), incrementing a cost factor from 12 (4,096 calculation cycles) to 13 (8,192 calculation cycles) precisely doubles the underlying CPU computational execution time. Your architectural tuning target should be configuring a cost factor that requires approximately 250 milliseconds to 500 milliseconds of processing time on your underlying production hardware—slow enough to completely incapacitate offline offline brute-force harvesting scripts, yet rapid enough to deliver seamless authentication UI workflows without perceived interface lag.

Secure Tokens & Strings

OS-Level Entropy
01. What is the difference between a security token and an API token? +

While both represent machine-readable verification artifacts engineered to authorize digital transactions, their operational lifecycles and security scopes serve different architectural requirements:

  • API Token (API Key): An opaque, long-lived alphanumeric verification string issued directly to developers, applications, or downstream microservices to authorize programmatic system-to-system interactions. API keys function as persistent identity proxies for automated infrastructure and are typically configured within restricted server environment variables.
  • Security Token (Session / Auth Token): A short-lived, dynamic assertion artifact (such as an OAuth2 bearer token or OIDC identity JWT) issued directly to an end-user client following successful interactive authentication. Security tokens encapsulate detailed permission scopes and carry strict expiration constraints.
02. How long should a cryptographically secure API key or secret be? +

To establish mathematically infallible defense-in-depth against automated exhaustive offline dictionary and brute-force harvesting attacks, an enterprise API secret or verification token must maintain an unalterable floor of 128 bits to 256 bits of underlying entropic randomness.

  • Hexadecimal Representation: Achieving 256 bits of raw cryptographic entropy translates directly into a 64-character hexadecimal string (where each hex digit represents 4 bits of entropy).
  • Base64 / URL-Safe Alphanumerics: Utilizing high-density alphanumeric alphabets yields an ultra-compact 43- to 44-character verification token.

Architectural Best Practice: Always prefix operational API secrets with descriptive, plaintext environment designations (e.g., live_sec_, test_key_, or prod_auth_). This empowers automated GitHub secret scanners and enterprise DLP (Data Loss Prevention) engines to identify and revoke leaked credentials immediately without executing database evaluation lookups.

03. How do you generate a cryptographically secure random string in modern web browsers? +

Developers must strictly eliminate legacy computational functions like JavaScript's standard Math.random() when synthesizing authentication tokens, cryptographic nonces, or security keys. Standard math generators rely on deterministic pseudo-random number generators (PRNGs), which produce predictable numerical distributions that attackers can mathematically reverse-engineer by observing subsequent sequence outputs.

To achieve absolute cryptographic unguessability, modern web architectures must interface exclusively with the hardware-backed Web Crypto API using methods such as window.crypto.getRandomValues() or the native window.crypto.randomUUID() function:

  • Direct OS Kernel Entropy: The Web Crypto API bridges JavaScript runtimes directly into the host operating system's hardware-seeded kernel cryptographic entropy pools (utilizing interfaces such as /dev/urandom on Linux/macOS or the CNG Cryptography API on Windows).
  • Client-Side Sandbox Execution: On Modern UUID, our entire suite of random string generators, high-entropy key synthesizers, and bulk token generators harnesses these exact native browser APIs—guaranteeing that every random string is constructed entirely in your localized client memory with zero server latency or network eavesdropping vulnerability.

Ready to execute these cryptographic utilities locally?

Run multi-format UUID generators, JWT decoders, Bcrypt hashers, and Token synthesis engines inside your browser sandbox—zero server latency, total anti-interception privacy.

🚀 HIGH-SPEED BATCH

Bulk Identifier Generation

Generate up to 50,000 unique identifiers simultaneously. Export instantly to Plain Text (`.txt`), JSON Arrays (`.json`), or CSV Column (`.csv`).

items
Previewing generated batch: 10 generated
Developer Knowledge & Standards

Specifications & Multi-Language Code Snippets.

Integrate UUID version 4, time-ordered version 7 (RFC 9562), and compact NanoIDs directly into your backend or frontend microservices with native, dependency-free code.

generator-snippets.ts
          
        

📊 Identifier Architecture Matrix

Version Entropy / Logic Ideal Use Case
UUID v4 122 bits random General API keys & universal IDs.
UUID v7 48b time + 74b rand Database Primary Keys (B-Tree sort).
NanoID 126 bits (21 char) URL slugs & tight payloads.
UUID v3/5 MD5 / SHA-1 Hash Deterministic IDs from strings/URLs.
UUID v1 100ns time + MAC Legacy systems requiring MAC audit.
Why use UUID v7 over v4 for databases?

Standard random UUID v4 inserts cause random disk page I/O fragmentation in SQL indexes. Version 7 embeds a chronological millisecond timestamp in the top 48 bits, keeping index inserts naturally sequentially sorted!