Snowflake ID 디코더 (Discord, Twitter)
개발
Snowflake는 밀리초 타임스탬프, 머신 식별자, 밀리초당 시퀀스 카운터를 하나의 정렬 가능한 수에 담은 64비트 ID입니다. Discord, Twitter/X, Instagram을 비롯한 많은 분산 시스템이 이를 사용합니다. 이 디코더는 ID를 다시 부분으로 분리합니다: 상위 비트를 시프트해 원시 타임스탬프를 복원하고, 플랫폼의 커스텀 에폭을 더해 실제 UTC 날짜·시각을 얻으며, 하위 비트를 해당 플랫폼이 쓰는 워커·프로세스·데이터센터·샤드·시퀀스 필드로 분해합니다. Discord(에폭 2015-01-01, 5비트 워커 + 5비트 프로세스 + 12비트 증가값), Twitter/X(에폭 2010-11-04, 5+5+12), Instagram(13비트 샤드 + 10비트 시퀀스), 또는 직접 에폭을 정하는 커스텀 중에서 선택하세요. 타임스탬프는 ISO UTC, 로컬 시간, 상대 표시 "x 전", 원시 에폭 밀리초로 표시됩니다. 모든 처리는 로컬에서 실행되며 업로드되지 않습니다.
타임스탬프
필드
Discord 에폭 2015-01-01 · Twitter/X 2010-11-04 · Instagram 2011-08-24. ID를 발급한 플랫폼으로 디코딩하세요.
사용법
- 플랫폼 선택(Discord·Twitter/X·Instagram·커스텀).
- Snowflake ID 붙여넣기 — 예: Discord 사용자 또는 메시지 ID.
- 생성 타임스탬프와 워커 / 시퀀스 필드를 읽고, 필요하면 UTC 시간이나 에폭을 복사하세요.
자주 묻는 질문
- Snowflake ID는 어디서 찾나요?
- Discord에서는 개발자 모드를 켜고 사용자·메시지·채널·서버를 우클릭해 ID를 복사합니다. Twitter/X에서는 트윗 URL 끝의 긴 숫자입니다. Instagram 미디어 ID는 API가 반환합니다. 이런 긴 숫자 ID는 모두 여기서 디코딩할 수 있습니다.
- 왜 플랫폼마다 다른 에폭이 필요한가요?
- Snowflake의 타임스탬프는 Unix 에폭이 아니라 선택된 '에폭' 이후 밀리초를 세므로 더 적은 비트에 담깁니다. Discord는 2015-01-01, Twitter/X는 2010-11-04, Instagram은 2011-08-24를 씁니다. 잘못된 플랫폼으로 디코딩하면 날짜가 수년 어긋납니다 — ID를 발급한 출처를 고르세요.
- 워커와 시퀀스 필드는 무엇인가요?
- 조정 없이 ID를 생성하기 위해 각 머신은 자체 식별자(Discord의 워커/프로세스, Twitter의 데이터센터+워커, Instagram의 샤드)와 같은 밀리초에 생성된 여러 ID에 대해 증가하는 시퀀스 카운터를 넣습니다. 이를 통해 어떤 노드가 ID를 만들었고 대략 얼마나 바빴는지 알 수 있습니다.
- 타임스탬프는 정확한가요?
- 네 — 밀리초 타임스탬프가 ID에 직접 인코딩되므로 생성 시각은 밀리초 단위로 정확합니다(생성 서버의 시계가 정확했다는 전제). 상대 시간은 사용자 기기의 현재 시계를 기준으로 계산됩니다.
관련 도구
Base64 ↔ 16진수 변환기
Base64 문자열을 16진수 바이트로, 16진수를 다시 Base64로 변환합니다. URL-safe 지원, 브라우저에서 동작합니다.
Quoted-Printable 인코더 & 디코더
텍스트를 MIME Quoted-Printable(RFC 2045)로 인코딩하거나 다시 디코딩 — =XX 이스케이프·소프트 줄바꿈·UTF-8 처리, 인코딩 시 76자 줄바꿈 — 브라우저에서.
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
URL 인코더 / 디코더
URL용으로 텍스트를 퍼센트 인코딩하거나, 인코딩된 URL을 디코딩하세요.
Base64 인코더 / 디코더
텍스트를 Base64로 인코딩하거나 다시 텍스트로 디코딩하세요.
JSON 포맷터 & 검증기
브라우저에서 바로 JSON을 포맷·정렬·압축·검증하세요.