전형적인 UUID v4
550e8400-e29b-41d4-a716-446655440000
16진수 다섯 그룹이 하이픈으로 구분되어 있죠. 13번째 자리의 4가 "이건 v4(랜덤) UUID"라는 표시입니다.
복사할 수 있는 v1/v4 UUID를 한 번에 생성.
마지막 업데이트
36f4fc9c-f905-4ea9-b8f3-6a6442277bfb169e2eb9-8247-4793-9373-40ce12d281b822ad93b3-a6d5-4aff-8bba-0961d0a078c30157083a-0f15-426e-94f4-9331d21f49638f42d324-4924-4c05-8849-aaadad30c81fccc98fa7-61a5-4a6c-abe6-a19c26fd2d9b00b63bdb-9961-4605-93ed-fa35be7be0061241dc02-984e-45a6-99e1-9c17838fce38b634351a-33b4-4ed8-af04-24efe0b6a04f54880a4b-986f-4369-8efb-bf323e7472b0UUID 생성기는 Universally Unique Identifier(보편 고유 식별자), 즉 어디서 누가 만들어도 통계적으로 절대 겹치지 않는 128비트 값을 만들어 줍니다. 개발자들은 이걸 DB 행의 기본 키, API 리소스 ID, 테스트 픽스처 이름, 메시지 큐의 메시지 ID, 분산 시스템의 식별자 등으로 두루 사용합니다.
UUID가 편리한 이유는 어떤 머신이든 독립적으로 만들어도 다른 누구도 같은 값을 만들지 않는다고 믿을 수 있기 때문입니다. 중앙 카운터도, 시퀀스 동기화도, 서버 왕복도 필요 없습니다. 그래서 "누구한테 허락받지 않고" ID를 발급해야 하는 상황이라면 어디든 잘 어울립니다.
*GUID*(Globally Unique Identifier)는 Microsoft가 같은 128비트 식별자를 부르는 이름입니다. 실무 관점에서는 GUID와 UUID는 사실상 같은 것이고, 생태계마다 부르는 이름만 다를 뿐입니다.
랜덤 ID가 필요하면 v4, 인덱스 친화적인 시간순 ID가 필요하면 v7, 타임스탬프 + 노드 ID가 필요한 레거시 시스템이라면 v1을 선택하세요.
ID 하나만 빠르게 뽑을 수도 있고, DB 시드 데이터나 API 응답 모킹을 위해 한 번에 최대 1,000개까지 생성할 수도 있습니다.
대문자 여부, 하이픈 유무, 중괄호({...}) 감싸기 등을 토글해서 사용 중인 DB·코드·플랫폼이 기대하는 표기에 맞추세요.
하나만 복사하거나 목록 전체를 복사할 수 있습니다. 모든 생성은 브라우저 안에서만 이루어집니다.
실무에서 자주 쓰이는 다섯 가지 UUID 버전과 각각의 용도입니다.
| 버전 | 고유성의 출처 | 언제 쓰나 |
|---|---|---|
| v1 | 타임스탬프 + MAC 주소 | 레거시 시스템. 호스트 MAC이 노출될 수 있음 |
| v3 | 이름 + 네임스페이스의 MD5 해시 | 문자열에서 결정론적으로 ID를 만들고 싶을 때 |
| v4 | 암호학적 난수 | 대부분의 앱에서 기본값. 고민되면 이걸 쓰세요 |
| v5 | 이름 + 네임스페이스의 SHA-1 해시 | v3와 비슷하지만 더 강한 해시를 쓰고 싶을 때 |
| v7 | Unix 타임스탬프(ms) + 난수 | DB 기본 키. 시간순 정렬이 필요한 경우 |
550e8400-e29b-41d4-a716-446655440000
16진수 다섯 그룹이 하이픈으로 구분되어 있죠. 13번째 자리의 4가 "이건 v4(랜덤) UUID"라는 표시입니다.
{ "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Lesson 1", "createdAt": "2026-04-25T10:00:00Z"}API에서는 보통 UUID를 JSON 문자열로 노출합니다. 많은 DB는 네이티브 UUID 컬럼 타입도 지원하는데, 이 경우 36자 문자열 대신 16바이트로 저장됩니다.
550e8400-e29b-41d4-a716-446655440000
550E8400-E29B-41D4-A716-446655440000
{550E8400-E29B-41D4-A716-446655440000}
550e8400e29b41d4a716446655440000
내부 값은 똑같은 128비트인데 겉모양만 네 가지입니다. 한 프로젝트 안에서는 하나로 통일하세요. 섞어 쓰면 비교 결과가 안 맞는 황당한 버그가 생깁니다.
crypto.randomUUID(), Python의 uuid.uuid4(), Java의 UUID.randomUUID() 같은 식이죠.