·2분 읽기

UUID 생성기 사용법 - 개발자가 알아야 할 UUID 버전별 차이

UUID 생성기 사용법과 버전별 차이를 정리했습니다. v1, v4, v7의 특징과 실무에서 어떤 버전을 써야 하는지 알려드려요.

UUID 생성기 사용법 - 개발자가 알아야 할 UUID 버전별 차이
🆔
UUID 생성기 바로 사용하기
고유한 UUID를 생성하세요

UUID가 뭐고 왜 필요한가요?

UUID는 Universally Unique Identifier의 약자로, 전 세계에서 유일한 식별자를 만드는 표준이에요. 550e8400-e29b-41d4-a716-446655440000 이런 형태죠. 왜 필요하냐면, 데이터베이스에서 자동 증가 ID(1, 2, 3...)를 쓰면 다른 시스템과 데이터를 합칠 때 ID가 충돌할 수 있거든요. UUID는 충돌 확률이 사실상 0이에요. 분산 시스템에서도 유용해요. 여러 서버가 동시에 데이터를 생성해도 각각 고유한 ID를 만들 수 있거든요.

UUID 버전별 차이

UUID v1은 타임스탬프와 MAC 주소를 기반으로 만들어요. 생성 시간 순서대로 정렬이 가능하지만, MAC 주소가 노출되는 보안 문제가 있어요. UUID v4는 완전히 랜덤으로 생성돼요. 가장 널리 사용되는 버전이에요. 보안성이 높고 구현이 간단하지만, 데이터베이스 인덱스 성능이 좋지 않을 수 있어요. UUID v7은 2024년에 새로 표준화된 버전이에요. 타임스탬프 기반이라 시간순 정렬이 가능하면서도 v1의 보안 문제가 없어요. 데이터베이스 인덱스 성능도 좋아서 최근 가장 추천되는 버전이에요. 실무에서는 UUID v4가 가장 무난하고, 정렬이 필요하면 v7을 쓰세요.

프로그래밍 언어별 UUID 생성하기

JavaScript에서는 crypto.randomUUID()로 v4 UUID를 생성할 수 있어요. Node.js와 브라우저 모두 지원하거든요. Python에서는 import uuid 후 uuid.uuid4()로 생성해요. uuid.uuid1()은 v1이고 uuid.uuid7()은 v7이에요. Java에서는 UUID.randomUUID()를 사용하면 돼요. Spring 프로젝트에서 엔티티 ID로 많이 쓰이죠. 빠르게 테스트용 UUID가 필요하면 [Toolkio UUID 생성기](/uuid-generator)에서 바로 만들 수 있어요. 여러 개를 한꺼번에 생성하는 것도 가능하거든요.

UUID 사용 시 주의사항

데이터베이스에서 UUID를 기본 키(PK)로 쓸 때는 저장 형태에 주의하세요. VARCHAR(36)로 저장하면 인덱스 성능이 떨어져요. BINARY(16)이나 전용 UUID 타입을 쓰는 게 좋아요. MySQL에서는 UUID v4를 PK로 쓰면 인서트 성능이 크게 떨어질 수 있어요. 랜덤 값이라 인덱스 페이지 분할이 자주 발생하거든요. UUID v7이나 ordered UUID를 쓰면 이 문제를 해결할 수 있어요. URL에 UUID를 노출할 때는 보안을 고려하세요. UUID로 리소스에 접근하는 경우, UUID만 알면 누구나 접근할 수 있으니 별도의 권한 체크가 필요해요. [해시 생성기 가이드](/blog/hash-generator-md5-sha256-guide)에서 다루는 해시값과 UUID는 용도가 다르니 혼동하지 마세요.

지금 바로 UUID 생성기를 사용해보세요

무료이며, 브라우저에서 바로 실행됩니다.

UUID 생성기