Fresh version 4 or version 7 identifiers, one or a whole batch. Generated in your browser, nothing is sent to a server.
Hit Generate and a fresh identifier shows up here.
A UUID is a 128-bit identifier. RFC 9562 defines how those bits are laid out and how to print them: 32 hexadecimal digits in five groups, separated by hyphens. Version 4 fills almost all of those bits with random data. Version 7 starts with the current Unix time in milliseconds, then random bits, so the text form sorts in creation order.
This tool draws new identifiers in your browser. It can draw one or a batch of up to 100. It does not check whether an identifier you already have is in use somewhere, and it does not store what it generates.
The values below are fixed illustrations of the layout. A real click draws fresh random bits, so you will not see these exact identifiers.
version 4, count 1, lowercase, hyphens
550e8400-e29b-41d4-a716-446655440000
version 7, count 3, 2026-01-01T00:00:00.000Z
019b76da-a800-7000-8000-000000000000 019b76da-a800-7001-8000-000000000000 019b76da-a800-7002-8000-000000000000
In that version 7 example the random bits are zeros, so the layout is easy to read. The first 48 bits are the Unix time in milliseconds. The next group starts with the version nibble 7 , then a 12-bit counter: 000 , 001 , 002 . A real batch fills the remaining bits at random and still keeps that order.
550e8400e29b41d4a716446655440000
550e8400-e29b-41d4-a716-446655440000
RFC 9562 prints a UUID as 36 characters: eight, four, four, four and twelve hexadecimal digits, with hyphens between the groups, in lowercase. Some parsers accept the 32-digit form. Many do not. Leave the hyphens on unless you know the consumer wants them gone.
aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee 00000000-0000-4000-8000-000000000001
019b76da-a800-7000-8000-000000000000 019b76da-a800-7001-8000-000000000000 019b76da-a800-7002-8000-000000000000
Version 4 text does not sort by creation time. The two lines above can be drawn in either order. Version 7 text sorts by the embedded timestamp, then by the counter used inside the same millisecond.
crypto.getRandomValues . Version 4 uses crypto.randomUUID when the browser provides it. Both are cryptographically strong sources. Math.random is not used. rand_a field. That is method 1 of RFC 9562 section 6.2. If the counter would wrap, the timestamp moves forward by one millisecond. RFC 9562 was published in May 2024 by K. Davis, B. Peabody and P. Leach. It obsoletes RFC 4122, which was published in July 2005. Version 7 is defined there, not in the older RFC.
A version 4 UUID has 122 random bits (128, minus 4 bits of version and 2 bits of variant). A collision becomes likely only around 2^61 identifiers, roughly 2.3 quintillion. That is the birthday bound, not a promise that a collision is impossible.
The 8-4-4-4-12 text form comes from earlier UUID work in the Apollo Network Computing System and OSF DCE, later written up for the IETF. Version 1 stored a timestamp counted in 100-nanosecond steps from 15 October 1582, and often a MAC address. Version 7 uses Unix milliseconds and random bits, so it does not expose a machine address.