모든 JWT 디코딩 및 검증 — HS256, RS256, ES256 & JWKS

아래에 토큰을 붙여넣으세요 — header, payload, claim과 서명 검증(HS256, RS256/ES256, JWKS)이 즉시 나타납니다.

🔒 브라우저에서 로컬로 실행 — 아무것도 업로드되지 않습니다.

이 도구에 대해

JWTViewer는 업로드 제로 토큰 인스펙터입니다. 대부분의 온라인 디코더는 토큰을 백엔드로 전송합니다 — 유효한 JWT는 보통 살아있는 세션 자격 증명이므로 실제 위험입니다. 여기서는 디코딩이 브라우저 탭에서 직접 이루어지며, 페이지를 연 뒤 오프라인이 되어도 계속 작동합니다.

exp, iat, nbf의 타임스탬프는 자동으로 현지 시간대로 변환되고, 상태 배너로 토큰이 유효한지, 만료됐는지, 아직 활성화 전인지 한눈에 알 수 있습니다. 더 많은 무료 도구: dec0de.dev.

JSON Web Token은 점으로 구분된 세 개의 Base64url 부분입니다: header, claim이 담긴 payload, 그리고 signature. 앞의 둘은 암호화가 아니라 인코딩만 되어 있어 누구나 읽을 수 있으며, 바로 이 디코더가 하는 일입니다. 신뢰에 중요한 것은 signature로, 비밀 키나 개인 키를 가진 발급자가 발급했고 변조되지 않았음을 증명합니다. iss, sub, aud, exp, iat 같은 표준 claim은 바로 옆에 설명되며, 공유 비밀이 있으면 HS256 검증으로 서명을 확인할 수 있습니다.

자주 묻는 질문

JWT는 암호화되나요?

아닙니다. 표준 JWT는 Base64url로 인코딩만 되어 있고 암호화되지 않아 누구나 header와 payload를 읽을 수 있습니다. payload에 비밀을 넣지 마세요; 서명은 무결성을 보호하지 기밀성을 보호하지 않습니다.

여기서 JWT 서명을 검증할 수 있나요?

네. HS256은 공유 비밀을 입력하면 도구가 HMAC를 다시 계산합니다. RS256/RS384/RS512/ES256/ES384/ES512는 발급자의 공개 키(PEM)를 붙여넣거나 JWKS를 불러오면 Web Crypto API로 검증합니다 — 모두 브라우저 안에서 이루어지며 아무것도 전송되지 않습니다.

JWKS란 무엇이고 여기서 어떻게 사용하나요?

JWKS("JSON Web Key Set")는 자격 증명 제공자(Auth0, Okta, Cognito, 자체 인증 서버 등)가 RS256/ES256으로 서명한 토큰을 누구나 검증할 수 있도록 게시하는 작은 공개 JSON 문서입니다(보통 /.well-known/jwks.json 같은 URL에 있음). JWKS URL을 입력하고 가져오기를 클릭하거나(또는 JSON을 직접 붙여넣으면) 각 키의 ID, 알고리즘, 유형이 나열되고 디코딩된 토큰의 header에 있는 "kid"와 일치하는 키가 자동으로 선택됩니다.

왜 제 JWT가 만료로 표시되나요?

exp claim은 유닉스 타임스탬프이며, 지금보다 이르면 토큰이 만료된 것입니다. 도구는 exp, iat, nbf를 현지 시간으로 변환해 정확히 언제 만료됐는지 보여 줍니다.

제 토큰이 서버로 전송되나요?

아닙니다. 디코딩과 HS256 검증은 모두 브라우저에서 이루어집니다. 토큰과 비밀은 업로드되지 않으므로 디버깅 중 프로덕션 토큰을 붙여넣어도 안전합니다.