DevToolPal
한국어

Nano ID 생성기

Nano ID를 생성합니다. 안전한 난수로 만든 짧고 URL에 안전한 고유 ID이며, 길이를 자유롭게 정하고 기본 또는 사용자 지정 문자 집합을 쓸 수 있고 충돌 확률도 추정해 줍니다.

로컬에서 실행, 업로드 없음

옵션

ID당 126비트 · 약 1.3 × 10¹⁸개를 만들면 충돌 확률 1%

Nano ID

0자 · 0 B

기능 소개

이 도구는 Nano ID를 생성합니다. 데이터베이스 키, 파일 이름, 짧은 링크 경로, 초대 코드, 테스트 데이터로 쓸 수 있는 짧고 무작위이며 URL에 안전한 식별자입니다. Nano ID 라이브러리와 같은 방법을 쓰므로 코드에서 nanoid()로 만든 ID와 모양과 특성이 같습니다.

길이를 바꾸고, 내장 문자 집합을 고르거나 직접 입력할 수 있으며, 한 번에 최대 1000개를 생성합니다. 옵션 아래에는 ID당 엔트로피와 중복 확률이 1%에 이르기까지 만들 수 있는 대략적인 개수가 표시됩니다.

사용 방법

  1. 길이를 고릅니다. 21이 Nano ID 기본값입니다.
  2. 문자 집합을 고릅니다. URL 안전, 영숫자, 소문자와 숫자, 16진수, 숫자, 헷갈리는 문자 제외 또는 사용자 지정입니다.
  3. 필요한 개수를 고릅니다. 설정을 바꾸면 바로 생성됩니다.
  4. 생성을 눌러 새 묶음을 만들고, 한 줄에 하나씩 나온 목록을 복사하거나 다운로드합니다.

예시

nanoid 패키지로 JavaScript에서 같은 ID를 만드는 예입니다.

import { nanoid, customAlphabet } from 'nanoid'

nanoid() // "V1StGXR8_Z5jdHi6B-myT"
const orderId = customAlphabet('0123456789ABCDEFGHJKLMNPQRSTUVWXYZ', 12)
orderId() // "4KQ7ZB9XH2MD"

문자 집합 고르기

URL 안전 문자 집합은 문자 하나에 가장 많은 무작위성을 담고, URL·파일 이름·JSON에서 이스케이프가 필요 없습니다. 영숫자는 _와 -를 빼서 더블클릭으로 ID 전체를 선택할 수 있습니다. 16진수와 숫자는 그 문자만 받는 시스템에 유용하지만 같은 강도를 내려면 더 긴 ID가 필요합니다. 헷갈리는 문자 제외 집합은 0과 O, 1·l·I 같은 문자를 빼서 사람이 읽고 입력하기 쉽습니다.

자주 묻는 질문

› Nano ID란 무엇인가요?

Nano ID는 무작위 고유 ID 형식이자 인기 있는 JavaScript 라이브러리입니다. 기본 ID는 64개의 URL 안전 문자(A–Z, a–z, 0–9, _, -)에서 고른 21자로, 126비트의 무작위성을 가집니다. UUID v4의 122비트에 가까운 강도를 훨씬 짧은 문자열로 제공합니다.

› ID 길이는 어느 정도가 좋나요?

만들 ID 개수에 따라 다릅니다. 옵션 아래의 추정치는 몇 개를 만들면 어느 두 개가 같을 확률이 1%가 되는지를 보여 줍니다. 기본값 21자는 사실상 모든 시스템에서 안전합니다. 짧은 링크나 초대 코드는 보통 10~12자면 충분하며, 데이터베이스의 고유성 검사와 함께 쓰세요.

› 보안 용도로 쓸 만큼 무작위인가요?

문자는 브라우저의 암호학적 난수 생성기에서 나오며, 문자 집합 범위를 벗어난 값은 나머지 연산으로 접지 않고 버리므로 모든 문자가 같은 확률로 나옵니다. 충분히 긴 ID는 추측할 수 없는 토큰으로 쓸 수 있습니다. 서버로는 아무것도 전송되지 않습니다.

› 직접 정한 문자를 쓸 수 있나요?

네. "사용자 지정"을 고르고 문자 집합을 입력하세요. 예를 들어 소리 내어 읽는 코드라면 대문자만 쓸 수 있습니다. 서로 다른 문자 2~256개가 필요하며, 중복 문자는 특정 문자가 더 자주 나오게 하므로 거부됩니다.