QuickATools

개발자 도구 · Free browser tool

JWT 디코더

클라이언트 사이드에서 JSON Web Token(JWT)을 즉시 디코딩합니다. 내장 타임스탬프 휴머나이저로 헤더·페이로드·시그니처를 안전하게 확인합니다.

Encoded JWT

Paste a token — optional Bearer prefix is stripped.

DecodedSignature not verified

Timestamp humanizer

  • exp1893456000

    2030-01-01 00:00:00 · in 1236 days

    Active
  • iat1723000000

    2024-08-07 03:06:40 · 736 days ago

Header

JSON
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

JSON
{
  "sub": "1234567890",
  "name": "홍길동",
  "email": "user@example.com",
  "iat": 1723000000,
  "exp": 1893456000
}

Signature

Raw
signature-placeholder

Decoding does not prove authenticity. Verify signatures in your backend with the issuer's secret or public key.

Frequently Asked Questions

JWT의 세 부분은 무엇이고 각각 무엇을 하나요?

JWT는 점으로 구분된 Base64URL 인코딩 세그먼트 셋입니다: Header.Payload.Signature. Header는 토큰 유형과 서명 알고리즘(예: HS256, RS256)을 설명합니다. Payload는 클레임—사용자 id·역할·만료(exp)·발급 시각(iat)·API가 넣는 커스텀 필드—을 담습니다. Signature는 앞 두 부분에 대한 암호학적 봉인이며, 이 디코더는 원시 시그니처 문자열을 보여 주지만 검증하지는 않습니다. 검증에는 시크릿 또는 공개키가 필요하기 때문입니다.

JWT를 디코딩하는 것과 검증하는 것의 차이는?

디코딩은 헤더·페이로드를 Base64URL 디코드해 클레임을 읽을 뿐입니다—JWT는 암호화가 아니라 서명되어 있어 키 없이도 누구나 할 수 있습니다. 검증은 발급자의 시크릿·공개키로 시그니처가 일치하는지 확인해, 토큰이 변조되지 않았고 신뢰할 수 있는 쪽에서 왔음을 증명합니다. 이 도구는 디버깅용 디코더이며, 백엔드에서 시그니처를 별도로 검증하지 않는 한 토큰이 진짜라고 주장하지 않습니다.

JWT 안의 exp·iat·nbf 같은 Unix 타임스탬프는 어떻게 읽나요?

그 클레임은 1970-01-01 UTC 이후 초 단위 Unix 시간으로 저장됩니다. 이 도구는 흔한 타임스탬프 키(exp, iat, nbf, auth_time)를 감지해 각 값 옆에 해당하는 로컬 날짜/시간을 보여 줍니다. exp의 경우 브라우저 현재 시계 기준으로 Expired 또는 Active 배지도 붙여, 시계 오차나 오래된 스테이징 토큰을 한눈에 잡기 좋습니다.

온라인 디버거에 붙여넣지 않고 로컬에서 JWT를 디코딩하는 이유는?

프로덕션·스테이징 JWT는 페이로드에 사용자 id·이메일·역할 등 PII를 담는 경우가 많고, Authorization 헤더의 시크릿과 함께 보이는 토큰을 붙여넣는 사람도 있습니다. 서버 사이드 디버거는 그 전체 문자열을 받습니다. 이 도구는 아무것도 업로드하지 않습니다. Base64URL 디코딩·JSON 파싱·타임스탬프 포맷이 모두 브라우저에서 실행되어 민감한 토큰이 기기에 남습니다.

JWT는 인코딩이지 암호화가 아니다 — 로컬에서 디코딩하세요

JSON Web Token은 불투명해 보이지만 헤더와 페이로드는 Base64URL 인코딩된 JSON일 뿐입니다. 문자열을 가진 누구나 시크릿 키 없이 클레임을 읽을 수 있습니다. 설계상 그렇고—시그니처는 무결성을 증명하지 기밀성을 보장하지 않습니다—그래서 프로덕션 토큰을 임의 온라인 디버거에 붙여넣는 것이 위험한 이유이기도 합니다. 사용자 id·이메일·역할 등 PII가 페이로드에 그대로 있는 경우가 많습니다.

이 디코더는 토큰을 어디에도 보내지 않습니다. 세그먼트 분할, (비서구 클레임을 위한 전체 UTF-8 지원) Base64URL 디코딩, JSON 프리티프린트, 타임스탬프 휴머나이징이 모두 브라우저에서 실행됩니다. 인증 플로우를 디버깅할 때 스테이징·프로덕션 JWT를 검사하면서, 그 토큰이나 Authorization 헤더 옆의 시크릿을 제3자 서버에 유출하지 마세요.

이 도구의 하드 리밋을 기억하세요. 디코딩이지 검증이 아닙니다. 시그니처 검사를 건너뛰면 그럴듯한 페이로드도 위조될 수 있습니다. 항상 백엔드에서 발급자의 시크릿·공개키로 JWT를 검증하세요. 여기서 exp·iat·nbf 휴머나이저는 디버깅 중 만료 상태를 한눈에 읽도록 도울 뿐입니다.

관련 개발자 유틸리티: 중첩 클레임 JSON은 JSON 포맷터·유효성 검사기로 정리하고, 다른 Base64 페이로드는 Base64 인코드/디코드로 검사하며, 픽스처 id는 UUID/GUID 생성기로, 클레임 파싱 패턴은 정규식 테스터에서 검증하세요.