UUID Generator — Java source
Generate RFC 4122 v4 UUIDs with crypto-grade randomness. Bulk generate, copy all, toggle format (uppercase / no hyphens).
This is the Java implementation — the same logic the interactive tool runs, in a shareable, citable form.
// RFC 4122 v4 UUID generator (cryptographically secure).
//
// Language: Java (17+)
// CosmoDev polyglot showcase port of the `uuid` tool.
// Ported from src/lib/uuid.ts — display source, part of CosmoDev's
// polyglot tool pages.
//
// Produces a random (v4) UUID: 36 characters, lowercase, hyphenated as
// 8-4-4-4-12 hex digits, with the RFC version (4) and variant (10xx)
// bits set. SecureRandom is Java's bridge to the host CSPRNG, so
// output is unpredictable and collision-safe.
import java.security.SecureRandom;
public final class UuidTool {
private static final SecureRandom CSPRNG = new SecureRandom();
/** Return a freshly generated RFC 4122 version-4 UUID string. */
static String uuidV4() {
byte[] b = new byte[16];
CSPRNG.nextBytes(b);
b[6] = (byte) ((b[6] & 0x0f) | 0x40); // version 4: high nibble of byte 6
b[8] = (byte) ((b[8] & 0x3f) | 0x80); // variant : high bits of byte 8
StringBuilder out = new StringBuilder(36);
for (int i = 0; i < 16; i++) {
if (i == 4 || i == 6 || i == 8 || i == 10)
out.append('-'); // 8-4-4-4-12 group boundaries
out.append(String.format("%02x", b[i]));
}
return out.toString();
}
public static void main(String[] args) {
System.out.println(uuidV4());
}
}
Also available in 13 other languages
Every CosmoDev tool ships its pure logic in TypeScript (web) and Go (CLI), with authored implementations in a dozen-plus languages — the same contract, ported. Compare all languages side by side →