사용 방법
JWT 문자열을 입력창에 붙여넣으면 header와 payload가 각각 보기 좋게 정리된 JSON으로 표시됩니다. 서명 알고리즘, 등록된 클레임(exp·iat·nbf)의 실제 날짜와 시각, 그리고 만료·유효 여부까지 함께 표시됩니다. header나 payload 결과는 복사 버튼으로 가져갈 수 있습니다. 입력한 내용은 어디로도 전송되지 않고 이 브라우저 안에서만 처리됩니다.
JWT의 세 부분
JWT는 점(.)으로 구분된 세 부분(header.payload.signature)으로 이뤄집니다. header에는 서명 알고리즘(alg)과 토큰 종류(typ) 같은 메타데이터가, payload에는 실제 클레임(사용자 ID, 권한, 만료 시각 등)이 들어 있습니다. 두 부분 모두 Base64URL로 인코딩된 JSON일 뿐이라서 암호화되어 있지 않으며, 누구나 디코딩해서 내용을 읽을 수 있습니다. 마지막 signature 부분만 비밀키(또는 개인키)로 서명되어 있어 header와 payload가 발급 이후 바뀌지 않았는지 확인하는 데 쓰입니다.
디코딩과 검증은 다릅니다
이 도구는 header와 payload를 읽어서 보여줄 뿐, signature 부분을 검증하지 않습니다. 서명을 검증하려면 그 토큰을 발급한 서버가 가진 비밀키(HMAC 계열) 또는 공개키(RSA·ECDSA 계열)가 있어야 하는데, 이 도구는 그런 키를 받지 않고 브라우저를 벗어나는 통신도 하지 않습니다. 그래서 화면에 내용이 정상적으로 나온다고 해서 그 토큰이 진짜이거나 아직 유효하다는 뜻은 아닙니다. 실제 서비스에서 쓰는 토큰이나 신뢰할 수 없는 비밀키는 이 도구를 포함해 어떤 온라인 도구에도 붙여넣지 않는 것이 안전합니다.
등록된 클레임(exp, iat, nbf)
JWT 표준(RFC 7519)은 exp(만료 시각), iat(발급 시각), nbf(유효 시작 시각) 같은 몇 가지 클레임 이름을 정해두고 있습니다. 이 값들은 모두 1970년 1월 1일부터 지난 초를 나타내는 숫자(NumericDate)입니다. 이 도구는 이 값을 사용자의 로캘에 맞는 날짜·시각으로 바꿔 보여주고, 현재 시각과 비교해 exp가 지났으면 “만료됨”, nbf가 아직 안 지났으면 “아직 유효하지 않음”으로 표시합니다. 다만 이 판정은 화면에 보여주기 위한 참고용이며, 실제 접근 제어는 반드시 서버 쪽 검증을 거쳐야 합니다.
개인정보
붙여넣은 토큰과 디코딩 결과는 이 브라우저 안에서만 계산되며 서버로 전송되지 않습니다. 다만 JWT의 payload는 애초에 암호화되어 있지 않으므로, 이 도구를 쓰지 않아도 이메일·역할·내부 ID 같은 정보를 누구나 읽을 수 있다는 점을 기억하세요.