How to Generate UUID in Java

Java provides the java.util.UUID class for generating RFC 4122 compliant UUIDs. This guide covers UUID generation, parsing, and integration with Spring Boot and JPA.

1. Generate Random UUID (v4)

import java.util.UUID;

public class UUIDExample {
    public static void main(String[] args) {
        // Generate a random UUID (version 4)
        UUID uuid = UUID.randomUUID();
        System.out.println(uuid);
        // Output: 550e8400-e29b-41d4-a716-446655440000

        // Get as String
        String uuidString = uuid.toString();
    }
}

2. Parse UUID from String

import java.util.UUID;

// Parse a UUID string
UUID uuid = UUID.fromString("550e8400-e29b-41d4-a716-446655440000");

// Validate with try-catch
try {
    UUID.fromString("not-a-uuid");
} catch (IllegalArgumentException e) {
    System.out.println("Invalid UUID format");
}

3. UUID in Spring Boot Entity

import jakarta.persistence.*;
import java.util.UUID;

@Entity
@Table(name = "users")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.UUID)
    private UUID id;

    private String username;

    // Getters and setters
}

4. UUID Formatting

import java.util.UUID;

UUID uuid = UUID.randomUUID();

// Standard format
String standard = uuid.toString();

// Without dashes
String noDashes = uuid.toString().replace("-", "");

// Uppercase
String uppercase = uuid.toString().toUpperCase();

5. Generate Multiple UUIDs

import java.util.UUID;
import java.util.List;
import java.util.stream.Stream;
import java.util.stream.Collectors;

// Generate 10 UUIDs using Stream API
List uuids = Stream.generate(UUID::randomUUID)
    .limit(10)
    .collect(Collectors.toList());

uuids.forEach(System.out::println);

Ready to use what you learned?

Try UUID Generator now