서명은 검증하지 않습니다 — 로컬 검사 전용입니다. 토큰은 브라우저를 떠나지 않습니다.
위에 토큰을 붙여넣으면 헤더와 페이로드를 로컬에서 디코딩해 여기에 보여줍니다.
JWT 디코딩과 서명 검증 방법
JWT Decoder는 JSON Web Token을 헤더와 페이로드로 나누고, 클레임을 보기 좋게 정리하고, 숫자로 된 시간 값을 읽을 수 있는 날짜로 바꿔 토큰이 만료됐는지 한눈에 보여줍니다. 디코딩은 이 브라우저 탭에서 일어나므로 토큰과 그 토큰이 열어주는 권한이 서버로 전송되지 않습니다. 키가 있다면 같은 페이지에서 Web Crypto API로 서명까지 검증해, 클레임을 그냥 믿지 않아도 됩니다.
네 단계로 토큰을 디코딩하고 검증하기
- 토큰 붙여넣기토큰 입력란에 JWT를 붙여넣거나, 예제 불러오기를 눌러 데모 토큰으로 확인합니다. 점으로 구분된 Base64url 세 조각이 아니면 절반만 디코딩하지 않고 잘못된 토큰이라고 알려줍니다.
- 헤더와 페이로드 읽기헤더에는 알고리즘과 토큰 유형이, 페이로드에는 클레임이 정렬된 JSON으로 표시됩니다. 표준 시간 클레임은 원래 값과 함께 날짜로도 보여서 iat·exp·nbf를 바로 읽을 수 있습니다.
- 유효성 배지 확인배지가 토큰이 현재 유효 구간에 있는지 요약합니다. 유효, 만료, 아직 유효하지 않음 중 하나입니다. 디코딩 전용 모드에서는 클레임에 미검증 표시가 붙습니다. 서명을 확인하지 않은 읽기는 토큰이 무엇을 주장하는지만 알려주기 때문입니다.
- 키가 있으면 서명 검증 모드로검증 모드를 선택하고 키를 붙여넣습니다. HS256은 공유 비밀키를 받고, 선택한 인코딩에 따라 UTF-8 또는 Base64로 해석합니다. RS256·PS256·ES256은 공개키를 JWK 객체나 PEM 형식 SPKI 블록으로 받습니다. 결과는 검증됨, 서명 불일치, 잘못된 키, 허용되지 않은 알고리즘으로 표시됩니다.
JWT Decoder를 쓰는 상황
- API가 401을 반환하는 이유 찾기클라이언트가 실제로 보낸 토큰을 디코딩해 exp를 현재 시각과 비교하거나, aud·scope 클레임이 API가 기대하는 값인지 확인합니다.
- 인증 제공자가 발급한 내용 확인로그인 연동 작업 중 OIDC ID 토큰의 클레임 — 발급자, 주체, nonce, 헤더의 알고리즘 — 을 들여다봅니다.
- 연동 점검 중 서명 검증제공자의 공개 JWK를 붙여넣어, 그 토큰이 정말 신뢰하라고 안내받은 키로, 기대한 알고리즘으로 서명됐는지 확인합니다.
- 운영 토큰을 유출 없이 살펴보기JWT는 소지만으로 권한이 되는 자격증명입니다. 디코딩이 로컬에서 돌기 때문에 문의에 첨부된 실제 토큰도 입력을 로그로 남기는 외부 서비스에 붙여넣지 않고 볼 수 있습니다.
JWT Decoder 자주 묻는 질문
- 디코딩할 때 토큰이 어디로 전송되나요?
- 아니요. 디코딩과 검증 모두 브라우저 탭에서 실행되며 토큰은 기록되거나 저장되지 않습니다. 화면에 보이는 부분만 토큰을 갖고 있습니다.
- 디코딩되면 유효한 토큰이라는 뜻인가요?
- 아니요. 페이로드에 아무 내용이나 담은 토큰은 누구나 만들 수 있습니다. 디코딩은 클레임을 보여줄 뿐이고, 올바른 키로 서명을 검증해야 진짜임이 확인됩니다. 그래서 검증 전 클레임에는 미검증 표시가 붙습니다.
- 검증 가능한 알고리즘은 무엇인가요?
- HS256, RS256, PS256, ES256입니다. 헤더가 그 밖의 알고리즘을 알리는 토큰은 더 약한 방식으로 검증하지 않고 허용되지 않음으로 거부합니다.
- 검증에 필요한 키 형식은요?
- HS256은 공유 비밀키를 텍스트로 받아 인코딩 선택에 따라 UTF-8 또는 Base64로 해석합니다. RS256·PS256·ES256은 공개키를 JWK JSON 객체나 PEM 형식 SPKI 공개키 블록으로 받습니다.
- 헤더의 jku나 x5u에서 키를 가져오나요?
- 아니요. 헤더에 있는 원격 키 URL은 절대 요청하지 않습니다. 키는 직접 붙여넣은 것만 사용하므로, 악의적인 토큰이 자기가 통제하는 키로 검증을 유도할 수 없습니다.
- 토큰을 만들거나 다시 서명할 수 있나요?
- 안 됩니다. 이 페이지는 기존 토큰을 살펴보고 검증만 합니다. 발급·수정·갱신은 하지 않습니다.
- 만료 날짜가 이상하게 보이는 이유는요?
- exp·iat·nbf는 밀리초가 아니라 유닉스 초 단위입니다. 밀리초 값을 넣으면 아주 먼 미래 날짜로 해석되는데, 보통 발급하는 쪽이 1000을 잘못 곱한 신호입니다.