개발자 도구
JWT 디버거
JWT header와 payload를 디코드하고 exp, iat 시간을 확인합니다.
입력 / 출력
JWT 디코딩 결과는 서명 검증 없이 신뢰하면 안 됩니다. 운영 토큰은 필요한 경우에만 붙여넣으세요.
Algorithm
-
Parts
0
Claims
0
Signature
-
Token segment rail
Signature flow
claim timeline
| Claim | Status | Value | ISO time | Description |
|---|
HS256 서명
secret 입력 시 검증
- alg
- -
- preview
- -
Warnings
- JWT 디코딩 결과는 서명 검증 없이 신뢰하면 안 됩니다. 운영 토큰은 필요한 경우에만 붙여넣으세요.
Payload claims
| Key | Type | Value |
|---|
Raw output preview
JWT 분석 결과가 여기에 표시됩니다.
도움말사용 방법, 예시, 실무 팁, FAQ는 필요할 때 펼쳐보세요.
이 도구는 무엇인가요?
JWT 디버거는 JWT의 header, payload, signature를 분해하고 `exp`, `nbf`, `iat` 같은 시간 클레임과 HS256 서명 일치 여부를 브라우저에서 확인하는 도구입니다. 인증 성공 판단은 서버 정책과 key 관리가 필요하지만, 토큰 안의 클레임과 기본 위험 신호를 빠르게 점검하는 흐름에 맞춰져 있습니다.
사용 방법
- JWT 붙여넣기
`header.payload.signature` 형태의 토큰을 입력 영역에 붙여넣습니다.
- 디코드 실행
JWT 분석 버튼을 눌러 header, payload, signature 패널을 확인합니다.
- 시간 클레임 확인
`exp`, `iat`, `nbf` 값이 있다면 claim timeline에서 상태와 ISO 시간을 비교합니다.
- HS256 secret 입력
HS256 토큰의 secret을 알고 있을 때만 입력해 서명 일치 여부를 확인합니다.
- 민감 정보 제거
결과를 공유해야 한다면 사용자 ID, 이메일, 권한, 내부 클레임을 먼저 가립니다.
예시
JWT part 분해
- 입력
- eyJhbGciOiJIUzI1NiJ9...
- 출력
- header, payload, signature를 별도 패널로 확인합니다.
만료된 토큰 확인
- 입력
- exp가 과거인 JWT
- 출력
- claim timeline에서 만료 상태와 ISO 시간을 확인합니다.
HS256 서명 비교
- 입력
- secret과 JWT
- 출력
- signature panel에서 일치/불일치 상태를 확인합니다.
실무 팁
- JWT 디코딩 결과는 서명 검증 없이 신뢰하면 안 됩니다. signature panel의 상태를 함께 확인하세요.
- 운영 토큰을 외부 문서나 메신저에 공유하지 마세요.
- `exp`는 보통 Unix timestamp 초 단위이며, 밀리초 timestamp와 혼동하면 만료 시간이 크게 어긋납니다.
- `alg: none` 토큰은 검증 없이 신뢰하면 안 됩니다.
- 권한 문제를 볼 때는 role, scope, aud, iss 같은 클레임 이름을 함께 확인하세요.
- 토큰이 너무 길면 줄바꿈이나 공백이 섞이지 않았는지 먼저 확인하세요.
FAQ
JWT 디버거가 서명을 검증하나요?
HS256 토큰은 secret을 입력했을 때 브라우저 Web Crypto로 일치 여부를 확인합니다. RS256, ES256처럼 공개키가 필요한 알고리즘은 이번 도구 범위에서 검증하지 않습니다.
JWT를 붙여넣어도 안전한가요?
토큰은 민감 정보일 수 있습니다. 도구는 브라우저 처리 흐름을 기준으로 하지만, 운영 토큰은 가능한 한 붙여넣지 않는 편이 안전합니다.
exp 값은 어떤 의미인가요?
`exp`는 토큰 만료 시간을 나타내는 클레임입니다. 일반적으로 Unix timestamp 초 단위로 저장됩니다.
payload를 수정하면 새 토큰으로 사용할 수 있나요?
아니요. payload를 수정하면 기존 서명과 맞지 않게 됩니다. 유효한 토큰은 발급 주체가 다시 서명해야 합니다.
Bearer 접두사가 있어도 되나요?
입력값에 Bearer 접두사가 있다면 실제 토큰 부분만 남기고 확인하는 것이 가장 안정적입니다.
디코딩 오류가 나는 이유는 무엇인가요?
점으로 구분된 세 부분이 아니거나 Base64URL 문자열이 손상됐거나, 복사 과정에서 공백과 줄바꿈이 섞였을 수 있습니다.