# UUID·ULID 생성기

UUID v4, UUID v7, ULID를 한꺼번에 생성하거나, ID를 붙여 넣어 버전, 변형, 타임스탬프를 확인하세요.

https://codeknife.dev/ko/uuid-saengseong/

## 기능 소개

UUID와 ULID를 한꺼번에 생성하거나, 기존 ID를 붙여넣어 버전, 변형(variant), 타임스탬프를 확인합니다. ID는 브라우저의 안전한 난수 생성기로 만들며 기기 밖으로 나가지 않습니다.

## 사용 방법

1. **UUID v4**(완전 무작위), **UUID v7**(시간순 정렬), **ULID**(시간순 정렬, 26자) 중에서 고릅니다.
2. 필요한 개수를 정한 다음 대문자와 하이픈 여부를 고릅니다.
3. **생성**을 누릅니다. ID는 한 줄에 하나씩 입력란에, 각 ID의 상세 정보는 출력란에 나타납니다.
4. 또는 직접 가진 ID를 한 줄에 하나씩 붙여넣어 확인합니다. 중괄호, `urn:uuid:` 접두사, 빠진 하이픈도 허용합니다.

## 예제

버전 7 UUID와 도구가 그 값에서 읽어 낸 내용입니다.

```
017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v7 · RFC 9562 · 2022-02-22T19:22:22.000Z
```

## 알아두면 좋은 점

- 버전 7과 ULID는 밀리초 타임스탬프로 시작하므로 생성된 순서대로 정렬됩니다. 덕분에 데이터베이스 인덱스가 작게 유지됩니다.
- 같은 밀리초에 만든 ID는 값이 증가하므로 고유성과 순서가 유지됩니다.
- 버전 4는 언제 만들어졌는지에 대한 정보를 전혀 드러내지 않습니다.
- nil UUID(모두 0)와 max UUID(모두 1)는 특수한 값으로 인식합니다.

## UUID와 ULID란?

UUID는 조율 없이 어디서든 만들 수 있는 128비트 식별자입니다. 버전 4는 완전히 무작위입니다. 버전 7은 밀리초 타임스탬프로 시작하므로 ID가 생성 순서대로 정렬되고 데이터베이스 인덱스가 간결하게 유지됩니다. ULID는 UUID 버전 7과 같은 정보를 26자로 담습니다.

## 자주 묻는 질문

### 데이터베이스 키로는 무엇을 써야 하나요?

버전 7이나 ULID를 권장합니다. 둘 다 생성 시각순으로 정렬되어 새 행이 인덱스 곳곳에 흩어지지 않고 끝에 추가됩니다. ID가 생성 시점을 드러내면 안 된다면 버전 4를 쓰세요.

### 두 ID가 충돌할 수 있나요?

버전 4는 122비트의 무작위 값을 가져 충돌이 사실상 불가능합니다. 버전 7과 ULID는 타임스탬프와 무작위 비트를 결합하고, 같은 밀리초에 만든 ID는 하나씩 증가해 고유성과 순서를 유지합니다.

### 이 도구가 ID를 어딘가로 전송하나요?

아니요. ID는 브라우저의 안전한 난수 생성기로 만들고 기기에서 검사합니다. 입력한 내용은 저희 서버로 전송되지 않습니다.