Nano ID 생성기

Nano ID를 온라인으로 생성. 크기(1–128)와 알파벳(URL 안전·영숫자·16진수·숫자만·사용자 정의) 커스터마이징 가능. 단건 또는 일괄(최대 100개) 지원. 브라우저에서 처리, nanoid 라이브러리 사용.

  • 브라우저에서 처리
  • 데이터가 브라우저 밖으로 나가지 않습니다
  • 무료 · 회원가입 불필요

Nano ID를 생성하면 여기에 복사할 목록이 표시됩니다.

예시·자세한 설명·자주 묻는 질문 실제 출력이 있는 예시, 다른 도구와의 차이, 자주 묻는 질문.

Nano ID vs UUID 비교

기능Nano ID (기본)UUID v4
길이21자36자 (하이픈 포함)
무작위성약 126비트122비트
URL 안전✓ 예✓ 예 (하이픈도 URL에서 그대로 쓸 수 있는 문자)
커스텀 알파벳✓ 예✗ 아니오
정렬 가능✗ 아니오✗ 아니오
타임스탬프 내장✗ 아니오✗ 아니오

알파벳 참고

프리셋문자개수
URL 안전 (기본)A-Za-z0-9_-64
영숫자A-Za-z0-962
숫자만0-910
소문자 16진수0-9a-f16

한글로 만든 알파벳

ID는 매번 무작위라서 직접 생성한 결과는 아래 예와 다릅니다. 설정으로 정해지는 것은 글자 하나가 가지는 log2(알파벳 크기)비트의 무작위성과, 몇 개를 만들면 중복 확률이 1%에 이르는지(생일 문제 근사)입니다.

행사 입장 코드를 한글로 읽기 쉽게 만들고 싶다고 해 봅시다. 사용자 정의 알파벳에 가나다라마바사아자차카타파하를 넣고 크기를 8로 두면 다음과 같습니다.

  • 입력: 가나다라마바사아자차카타파하, 기호 14개
  • 무작위성: 8 × log2(14) = 30.5비트
  • 중복 확률이 1%에 이르는 개수: ≈ 5,450

수천 장만 나눠 줘도 겹칠 가능성이 생기므로, 발급할 때 이미 나간 코드와 대조해야 합니다. 같은 8자리라도 URL 안전 알파벳(64자)을 쓰면 48비트가 되어 훨씬 여유가 있습니다. 한글은 UTF-8에서 한 글자에 3바이트이므로, 바이트 수로 길이를 제한한 DB 컬럼에서는 24바이트가 필요하다는 점도 확인하세요.

주문 번호처럼 외부에 보이는 ID를 12자로 줄이고 싶다면 URL 안전 알파벳으로 계산해 볼 수 있습니다.

  • 무작위성: 12 × log2(64) = 72.0비트
  • 중복 확률이 1%에 이르는 개수: ≈ 9.7 × 10^9

자모로 분해된 한글을 붙여넣으면

사용자 정의 알파벳은 Unicode 코드 포인트 단위로 셉니다. 같은 ‘한글’이라도 완성형(NFC)이면 두 기호지만, 자모로 분해된 형태(NFD)로 복사된 문자열은 초성·중성·종성이 각각 하나의 기호가 됩니다.

  • 입력: 한글 (화면에는 ‘한글’로 보이지만 NFD)
  • 나뉜 기호 6개: ᄒ ᅡ ᆫ ᄀ ᅳ ᆯ
  • 무작위성: 10 × log2(6) = 25.8비트
  • 중복 확률이 1%에 이르는 개수: ≈ 1,100

이렇게 만든 ID에는 홀로 쓰인 자모가 섞여 글꼴에 따라 이상하게 보입니다. 다른 프로그램에서 복사한 한글이 예상보다 기호 수가 많다면 NFC로 정규화한 뒤 다시 붙여넣으세요. 이 도구는 정규화를 하지 않습니다.

중복을 지우고 나서 기호가 하나만 남으면 생성하지 않고 오류를 보여 줍니다.

입력 하하하, 표시 알파벳은 최소 2자 이상이어야 합니다

제한

  • 일괄 수는 1–100, 크기는 1–128 범위로 맞춥니다. 크기가 비어 있거나 0이면 21을 씁니다.
  • 사용자 정의 알파벳의 중복 문자는 지워지고, 서로 다른 기호가 두 개보다 적으면 오류가 납니다.
  • 사용자 정의 알파벳은 코드 포인트 단위로 읽습니다. 😀😃🐱를 넣으면 기호 3개이고, 크기 8인 ID는 기호 8개(UTF-16 코드 단위 16개)입니다. 국기나 피부색이 붙은 이모지처럼 여러 코드 포인트로 된 문자는 각각 따로 기호가 됩니다.
  • 프리셋은 Nano ID 3.3.11로 생성합니다. 사용자 정의 알파벳은 기호마다 32비트 난수 하나를 뽑고, 알파벳 크기의 가장 큰 배수 이상인 값은 버리므로 모든 기호가 같은 확률로 나옵니다.
  • Nano ID에는 타임스탬프가 없어 생성 순서대로 정렬되지 않습니다. 정렬 가능한 키가 필요하면 ULID 생성기를 쓰세요.

관련 도구

FAQ

Nano ID란 무엇인가요?

Nano ID는 작고 안전하며 URL에 그대로 쓸 수 있는 문자열 ID 생성 라이브러리입니다. 기본값은 URL 안전 알파벳(A-Za-z0-9_-)에서 21자를 골라 약 126비트의 무작위성을 가지며, UUID v4의 122비트와 비슷합니다. UUID보다 짧고 타임스탬프를 담지 않습니다.

Nano ID와 UUID의 차이점은 무엇인가요?

UUID v4는 하이픈을 포함해 36자입니다. 기본 Nano ID는 21자이고 무작위성은 비슷합니다(약 126비트). 구분자가 없어 URL에 그대로 쓸 수 있고 알파벳과 길이를 바꿀 수 있어서 URL, 파일명, DB 키에 맞추기 쉽습니다.

어떤 알파벳을 사용할 수 있나요?

URL 안전(기본): A-Za-z0-9_-(64자). 영숫자: A-Za-z0-9(62자). 숫자만: 0-9(10자). 소문자 16진수: 0-9a-f(16자). 사용자 정의: 원하는 문자를 입력하면 Unicode 코드 포인트 단위로 나누고 중복을 제거하며, 서로 다른 기호가 두 개 이상 있어야 합니다.

적절한 크기를 어떻게 선택하나요?

기본 크기 21은 URL 안전 알파벳에서 약 126비트의 무작위성을 줍니다. 16자뿐인 16진수처럼 작은 알파벳을 쓰면 같은 충돌 확률을 유지하기 위해 크기를 늘려야 합니다. 한 글자가 늘 때마다 log2(알파벳 크기)비트씩 늘어납니다.

생성한 ID가 어딘가로 전송되거나 저장되나요?

아니요. ID는 브라우저 안에서 Web Crypto API(crypto.getRandomValues)로 생성하며, 생성한 ID와 사용자 정의 알파벳은 ZeroTool로 전송되지 않고 페이지를 떠나면 도구에 남지 않습니다. 페이지의 Google Analytics는 어떤 동작(생성, 복사)을 했는지만 기록하고 ID는 포함하지 않습니다.