Java's standard library includes java.util.UUID, so you can generate UUIDs without any dependencies. UUID.randomUUID() returns a random version 4 UUID and is the most common choice.
The examples cover random generation, parsing, and the name-based factory method.
Generate a random UUID (v4)
Call the static UUID.randomUUID() method. Use toString() when you need the canonical 36-character form.
import java.util.UUID;
public class Demo {
public static void main(String[] args) {
UUID id = UUID.randomUUID();
System.out.println(id); // 36b8f84d-df4e-4d49-b662-bcde71a8764f
System.out.println(id.toString()); // same value as a String
}
}Parse and create from a string or bytes
UUID.fromString() parses a canonical UUID and throws IllegalArgumentException on invalid input. UUID.nameUUIDFromBytes() produces a deterministic version 3 (MD5) UUID from a byte array.
// Parse an existing UUID string
UUID parsed = UUID.fromString("36b8f84d-df4e-4d49-b662-bcde71a8764f");
// Deterministic name-based UUID (version 3)
UUID named = UUID.nameUUIDFromBytes("example.com".getBytes());
System.out.println(parsed.version()); // 4
System.out.println(named.version()); // 3Frequently asked questions
- Do I need a library to generate a UUID in Java?
- No. java.util.UUID is part of the JDK, so UUID.randomUUID() works out of the box.
- How do I generate a deterministic UUID in Java?
- Use UUID.nameUUIDFromBytes(bytes), which returns a version 3 (MD5-based) UUID that is the same for the same input.
- Does Java support UUID v7?
- The JDK only generates v3 and v4 directly. For time-ordered v7 UUIDs, use a library such as java-uuid-generator (JUG).
