JWT 디코더
JWT 토큰을 붙여넣으면 header·payload 내용과 발급·만료 시각을 읽기 쉽게 보여 줘요. 서명은 검증하지 않습니다. 디코딩은 모두 이 브라우저 안에서만 이루어지고, 토큰은 저장되지 않습니다.
사용 방법
- 위 칸에 JWT 토큰(xxxxx.yyyyy.zzzzz)을 붙여넣습니다. 앞에 "Bearer "가 붙어 있어도 됩니다.
- header(알고리즘·종류)와 payload(사용자·권한 등)가 JSON으로 펼쳐지고, exp(만료)·iat(발급)·nbf 값은 날짜로 바꿔 내 시간대와 함께 보여 줍니다.
- 만료된 토큰이나 alg가 none인 토큰은 위쪽에 안내가 뜹니다. 서명(signature)은 보여 주기만 하고 검증하지 않아요.
자주 묻는 질문
JWT가 무엇인가요?
로그인 상태나 권한 정보를 담아 서버와 주고받는 토큰 형식입니다. 점(.)으로 나뉜 세 조각(header.payload.signature)으로 되어 있고, 앞의 두 조각은 Base64 URL 형식으로 적은 JSON이라 누구나 내용을 읽을 수 있습니다.
서명도 검증하나요?
아니요. 서명을 확인하려면 발급한 서버의 비밀 키나 공개 키가 필요합니다. 이 도구는 내용을 읽기만 하므로, 내용이 보인다고 해서 토큰이 진짜이거나 변조되지 않았다는 뜻은 아닙니다.
내 토큰을 붙여넣어도 안전한가요?
토큰은 브라우저 안에서만 처리되고 서버로 전송·저장되지 않습니다. 다만 실제 서비스의 토큰은 비밀번호처럼 다루어야 하니 다른 사람과 공유하거나 공용 PC에 남기지 않도록 주의하세요.
exp 시간은 어떻게 읽나요?
exp·iat·nbf는 1970년 1월 1일(UTC)부터 센 초 단위 숫자(Unix 시간)입니다. 이 도구가 UTC 날짜와 내 시간대 날짜로 함께 바꿔 주고, 지금 기준으로 만료됐는지도 알려 줍니다. 값이 13자리(밀리초)로 들어 있으면 그 점을 알리고 초로 해석해 보여 줍니다.
"JWT 형식이 아니에요"라고 나와요.
세 조각이 점으로 나뉘어 있고 각 조각에 영문·숫자·-·_ 만 있어야 합니다. 토큰이 중간에 잘렸거나 줄바꿈·공백이 섞였는지, 앞뒤에 따옴표가 붙었는지 확인해 주세요. 다른 형식의 값이라면 자동 디코더에서 시도해 보세요.
alg가 none이면 무슨 뜻인가요?
서명이 없는 토큰이라는 뜻입니다. 서버가 이런 토큰을 받아들이면 누구나 내용을 바꿔 쓸 수 있어 보안상 위험하므로, 개발 중이라면 서버 설정을 확인해 보세요.