JWT 디코더
JWT를 온라인에서 디코드합니다. header, payload, 읽기 쉬운 exp/iat 타임스탬프 — 토큰은 브라우저를 벗어나지 않습니다.
이 도구에 대해
JSON Web Token을 붙여넣으면 header와 payload를 신택스 하이라이팅과 함께 보여주고, exp/iat/nbf 클레임을 읽기 쉬운 날짜와 상대 시간으로 변환합니다. 토큰만이 아니라 'Bearer eyJ…', authorization 헤더 한 줄, curl -H 플래그 등 토큰이 포함된 어떤 텍스트를 붙여넣어도 자동으로 추출합니다.
디코딩은 전부 브라우저에서 일어납니다. JWT의 앞 두 세그먼트는 Base64URL로 인코딩된 JSON일 뿐이라 읽는 데 비밀키가 필요 없습니다. 서명은 표시만 하고 검증하지 않습니다.
자주 묻는 질문
실제 토큰을 붙여넣어도 안전한가요?+
토큰은 브라우저를 벗어나지 않으며 디코딩은 로컬에서만 일어납니다. 다만 토큰 자체는 여전히 자격증명입니다 — 디코드 결과를 캡처해 슬랙이나 문서에 올리면 스크린샷 속 토큰 문자열을 누구나 복사해 그대로 사용할 수 있습니다. 공유가 필요하면 만료된 토큰으로 캡처하고, 살아있는 토큰을 노출했다면 세션 폐기 등으로 즉시 무효화하세요.
서명은 왜 검증하지 않나요?+
검증에는 시크릿(HS256)이나 공개키(RS256/ES256)가 필요한데, 시크릿을 도구에 붙여넣는 것은 피해야 합니다. 디코딩은 토큰이 '주장하는 내용'을 보여줄 뿐 진위를 증명하지 않으므로, 서버는 반드시 서명을 검증해야 합니다.
누구나 디코드할 수 있다면 JWT는 암호화된 게 아닌가요?+
네, 표준 JWS 토큰은 암호화가 아니라 서명만 된 것입니다. 토큰을 가진 누구나 payload를 읽을 수 있고 서명은 변조만 막습니다. 클레임에 비밀 정보를 넣지 말고, 기밀성이 필요하면 JWE를 쓰세요.
exp, iat, nbf는 무슨 뜻인가요?+
Unix 타임스탬프 클레임입니다. iat = 발급 시각, nbf = 이 시각 전엔 무효, exp = 만료 시각. 서버는 보통 수 초에서 수 분의 시계 오차(clock skew)를 허용합니다.