UUID v4 Generator
Create a UUID v4 or a batch for resource identifiers, request IDs and test fixtures. Generation starts only when you select Generate. These are identifiers, not passwords or access credentials, and uniqueness is not guaranteed.
Create identifiers for resources, requests or test fixtures only when you select Generate.
Generation settings
Count and the current batch stay in this page's memory. This tool adds no upload, saved history, generated-value logging or input-bearing URL. Copy and download are intentional exports; other site services may behave differently.
Generate and use a current batch
- Enter a whole-number count from 1 to 1000 using digits 0–9. The default is 1. Leading zeroes and outer whitespace are accepted; signs, decimals, grouping and exponents are not. Raw input is limited to 32 UTF-16 code units and is rejected rather than silently shortened.
- Select Generate in a secure browser context with getRandomValues available. This page deliberately requires that context; it does not fall back to a weaker generator. It publishes all requested rows together or no batch if generation fails.
- Copy the current one-ID-per-line text or download uuid-v4.txt. Repeated values stay in order. Editing Count or selecting Generate removes the old batch first; Clear resets Count to 1. Nothing is generated automatically when the page opens.
What this UUID generator does
A UUID contains 128 bits. Version 4 fixes the version and variant bits and leaves 122 random-data bit positions. Here each row uses 16 browser-provided random bytes before the fixed bits are applied. That bit budget is not an independent measurement or certification of the browser's entropy.
Every result has 36 lowercase ASCII characters in the familiar 8-4-4-4-12 grouping. The version digit is 4 and the variant digit is 8, 9, a or b. This page does not offer other UUID versions, uppercase output, wrappers, shortened IDs or namespace-based generation.
A UUID can be useful as a resource identifier or test value, but it is not a password, access token or cryptographic key. Random generation does not make collisions impossible. Systems that require unique records still need appropriate uniqueness and collision-handling rules; possession of an ID must not grant access.
The batch is created in the browser only after your action, using getRandomValues with no Math.random fallback. The tool adds no upload, saved history or count-bearing URL. This describes the tool's design, not an audit of the browser, whole site, analytics providers or deployed environment.
Illustrative formatting and output examples
These examples use fixed bytes to explain formatting, not live random draws. Sixteen zero bytes become 00000000-0000-4000-8000-000000000000 after the version and variant bits are set. This is not the all-zero Nil UUID.
Sixteen bytes increasing from hexadecimal 00 to 0f become 00010203-0405-4607-8809-0a0b0c0d0e0f. Sixteen ff bytes become ffffffff-ffff-4fff-bfff-ffffffffffff. Real generation must acquire browser random bytes rather than reuse these illustrations.
Two rows produce 73 bytes of clipboard text: two 36-character IDs and one LF separator, without a final LF. The text file adds exactly one final LF for 74 bytes. Duplicate fixtures remain duplicate rows; the page never silently reduces the requested count.
Boundaries and failure behavior
The count limit is 1000, not the larger theoretical row count that could fit the API's per-call byte cap. One maximum batch requests 16000 random bytes. A secure browser context is this application's deliberate policy; it should not be confused with a universal secure-context restriction on getRandomValues itself.
An unavailable context or random API, allocation problem or generation failure leaves no batch to copy or download. The page does not publish a partial result or call a weak fallback. Copy or download failure keeps the current batch and reports the output problem without pretending the action succeeded.
Repeated values are preserved and flagged within the current batch, not compared with a global registry. A repetition is not by itself an entropy diagnosis. Editing, regenerating, clearing or changing the mounted page language invalidates old output controls; it cannot recall data already written to the system clipboard or handed to the browser for saving.
Current-browser state and intentional exports
The tool keeps Count and the current batch in page memory without adding storage, uploads, generated-value logs, telemetry or input-bearing URLs. Reloading does not restore a history. Copy and download are explicit exports you control; clipboard managers, browser download handling and other site services have their own behavior.
UUID v4 questions
Method and sources
Sixteen browser-provided bytes are formatted as UUID v4 after setting the version and variant bits.
- rfc-editor.orgRFC 9562: Universally Unique IdentifiersSections 4 and 5.4 describe the layout and version 4; sections 6.7–6.9 and 8 discuss collisions and security.
- w3.orgW3C Web Cryptography API, 2017 RecommendationThe getRandomValues method supplies bytes and limits each call to 65536 bytes. This tool deliberately requires a secure context and requests at most 16000 bytes.
Reviewed 5 November 2026. Public standards were reviewed; this is not an entropy implementation audit, browser-support certification or uniqueness/security approval.
Related tools
Download Time Calculator
Estimate download, upload or copy time from file size and the speed you enter.
Open tool — Download Time CalculatorIPv4 Subnet Calculator
Find an IPv4 network, mask and address range from CIDR or a subnet mask, with clear /31 and /32 qualifications.
Open tool — IPv4 Subnet CalculatorVideo & Audio File Size Calculator
Estimate video or audio size from duration and average bitrate, with optional separate audio.
Open tool — Video & Audio File Size CalculatorVideo Bitrate Calculator
Find an average bitrate budget from target file size and duration, with optional audio subtraction and a size allowance.
Open tool — Video Bitrate Calculator