전체 도구 ↗
💻 이 도구는 PC에서 더 편하게 쓸 수 있어요 · 코드 복사·붙여넣기 작업용

UUID 생성기

UUID v4를 생성합니다.

광고

설명

암호학적 난수 기반 UUID v4를 한 번에 여러 개 생성합니다.

광고

관련 도구

UUID 생성기는 시간, 난수, 기기 정보 등을 조합해 전 세계에서 유일한 128비트 식별자를 즉시 만들어 주는 도구입니다. 데이터베이스 기본키, API 요청 추적 ID, 파일명 중복 방지 등 고유 값이 반드시 필요한 개발 작업에서 자주 쓰입니다. 별도 라이브러리 설치 없이 브라우저에서 RFC 4122 표준을 따르는 UUID v4를 즉시 생성할 수 있습니다.

사용 방법

페이지를 열면 UUID 하나가 즉시 생성되어 표시됩니다. 복사 버튼을 클릭하면 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' 형식의 값이 클립보드에 저장됩니다. 여러 개가 필요하다면 생성 개수를 입력하고 일괄 생성하면 목록으로 받을 수 있습니다. 대소문자 구분이 필요한 경우 대문자 변환 옵션을 사용하고, 하이픈 없이 32자리 연속 문자열이 필요하다면 하이픈 제거 옵션을 활용하면 됩니다.

UUID v4가 실제로 충돌하지 않나요?

UUID v4는 122비트의 난수를 사용하므로 총 5.3 x 10^36 가지의 값이 존재합니다. 초당 10억 개를 생성해도 중복이 발생할 확률은 수십억 년에 한 번 꼴로, 실용적인 환경에서는 충돌이 없다고 봐도 무방합니다. 단, 보안이 취약한 환경(구형 브라우저, 특정 서버 환경)에서는 난수 품질이 낮아질 수 있으므로, 민감한 보안 토큰이 필요하다면 서버사이드 전용 생성 라이브러리를 쓰는 것이 더 안전합니다.

이럴 때 유용해요

SQL 데이터베이스에서 AUTO_INCREMENT 대신 UUID를 기본키로 쓰면 여러 서버에서 동시에 행을 삽입해도 ID가 겹치지 않아 분산 환경에 적합합니다. 파일 업로드 시 원본 파일명 대신 UUID를 파일명으로 쓰면 이름 충돌과 경로 추측 공격을 동시에 방지합니다. Postman 같은 API 테스트 도구에서 요청마다 다른 ID가 필요할 때, 이 도구에서 빠르게 복사해 쓰는 용도로도 많이 활용됩니다.

자주 묻는 질문

UUID v1과 v4의 차이는 무엇인가요?
v1은 생성 시각과 기기의 MAC 주소를 기반으로 만들어 시간 순서 정렬이 가능하지만, MAC 주소가 노출될 수 있습니다. v4는 완전한 난수 기반으로 가장 널리 쓰이며, 개인 정보 노출 우려가 없습니다.
생성된 UUID를 그대로 비밀번호로 써도 되나요?
UUID는 고유성을 위한 식별자로 설계된 것이지 보안 토큰이 아닙니다. 비밀번호나 인증 토큰에는 별도의 암호학적으로 안전한 난수 생성기를 사용하는 것이 권장됩니다.
하이픈 없이 32자리로 써야 하는 경우가 있나요?
MySQL의 CHAR(32) 컬럼이나 일부 레거시 API가 하이픈 없는 형식을 요구합니다. 이 도구의 '하이픈 제거' 옵션을 켜면 8-4-4-4-12 형식 대신 32자리 연속 문자열을 받을 수 있습니다.
같은 UUID가 두 번 나올 수 있나요?
이론적으로는 가능하지만 그 확률이 사실상 0에 가깝습니다. 수십억 건의 데이터를 다루는 대형 서비스에서도 UUID 충돌로 인한 문제는 거의 보고되지 않습니다.
JavaScript에서 UUID를 코드로 직접 만들 수 있나요?
Node.js 14.17 이상이나 최신 브라우저에서는 crypto.randomUUID()를 호출하면 됩니다. 이전 환경에서는 'uuid' npm 패키지를 사용하면 RFC 4122 표준을 따르는 UUID를 생성할 수 있습니다.

개인정보처리방침

UUID 생성기 사용법

생성할 개수를 입력하고 버튼을 누르면 UUID v4 값이 그 수만큼 한 줄에 하나씩 만들어집니다. 만들어진 값은 전부 복사해 그대로 코드나 데이터베이스에 붙여 넣을 수 있습니다. 테스트용 더미 데이터, API 요청 식별자, 파일명 충돌 방지 등 중복되면 안 되는 값이 필요할 때 즉석에서 여러 개를 뽑아 쓰는 용도입니다. 생성은 전부 브라우저 안에서 처리되므로 만든 값이 서버로 전송되지 않습니다.

UUID v4는 어떻게 만들어지나

UUID는 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 형태의 32자리 16진수(하이픈 4개 포함 36자)입니다. v4는 이름 그대로 거의 전부를 난수로 채우는 방식입니다. 128비트 중 버전과 변형을 나타내는 6비트를 뺀 122비트가 무작위 값입니다.

고정 규칙이 두 군데 있습니다. 세 번째 그룹의 첫 글자는 버전 표시로 항상 4이고, 네 번째 그룹의 첫 글자는 변형 표시로 8·9·a·b 중 하나가 됩니다. 그래서 ...-4xxx-axxx-... 같은 패턴이 보이면 정상적인 v4입니다. 나머지 자리는 0~f가 무작위로 들어갑니다.

중복 가능성과 활용 상황

무작위이므로 이론상 겹칠 수 있지만 경우의 수가 2의 122제곱이라 실무에서 우연히 같은 값이 나올 확률은 무시할 수준입니다. 그래서 중앙 서버의 번호 발급 없이도 각자 알아서 ID를 만들어 쓸 수 있습니다.

  • DB 기본키를 자동증가 정수 대신 UUID로 두어 여러 서버에서 동시에 생성
  • 업로드 파일명 앞에 붙여 이름 충돌 방지
  • 주문·세션·요청 추적용 식별자
  • 테스트/시드 데이터에 채울 임의 키

알아두면 좋은 팁

상황참고
대소문자16진수라 대소문자 의미가 같음. 비교할 땐 한쪽으로 통일하세요.
하이픈저장 공간을 아끼려면 하이픈을 빼고 32자로 넣기도 합니다. 표시할 때 다시 넣으면 됩니다.
정렬v4는 무작위라 생성 순서대로 정렬되지 않습니다. 시간순 정렬이 필요하면 별도 타임스탬프 컬럼을 두세요.
보안추측이 어렵긴 하나 UUID 자체는 인증 수단이 아닙니다. 비밀번호·토큰 대용으로 쓰지 마세요.

자주 묻는 질문

UUID v4와 v1은 뭐가 다른가요?

v1은 시간과 기기 MAC 주소를 섞어 만들어 순서 정보가 담기지만 하드웨어 정보가 노출될 수 있습니다. v4는 순서 정보 없이 난수로만 만들어 개인·기기 정보가 들어가지 않습니다. 이 도구는 v4를 만듭니다.

같은 값이 두 번 나올 수 있나요?

가능성이 0은 아니지만 확률이 극히 낮아 현실적으로 신경 쓰지 않아도 됩니다. 다만 절대 중복이 없어야 하는 결제·회계 같은 영역이라면 DB에 유니크 제약을 걸어 이중으로 막는 것이 안전합니다.

한 번에 몇 개까지 만들 수 있나요?

브라우저에서 처리하므로 수백~수천 개 정도는 무리 없습니다. 너무 큰 수를 넣으면 화면 표시가 느려질 수 있으니 필요한 만큼만 생성하세요.

대문자로 바꿔도 같은 UUID인가요?

네. 16진수 표기라 Aa는 동일한 값입니다. 시스템에 따라 소문자만 허용하기도 하니 저장 규칙을 한 가지로 정해두는 편이 좋습니다.