JWT 디코더
JWT를 붙여 넣으면 헤더·페이로드와 시간 정보가 옆에 나타납니다. 내용을 읽어도 서명은 검증되지 않습니다.
이 화면은 토큰 내용을 읽습니다. 진위·발급자·수신 대상·접근 권한은 확인하지 않습니다.
—
가입 없이 무료로 브라우저에서 읽기 · 입력값을 이 도구의 변환 서버로 제출하지 않습니다. 실제 인증 토큰은 공유하지 마세요.
읽은 정보
디코딩 결과 · 검증 결과 아님JWT를 입력하면 자동으로 읽습니다.
시간 정보
기기 시각 기준토큰 입력 후 확인
- 만료 · exp
- —
- 시작 · nbf
- —
- 발급 · iat
- —
헤더와 페이로드
읽힌 JSON · 서명 검증 결과 아님헤더
—
페이로드
—
—
바로 쓸 수 있게.
- 바로 보이는 화면입력 위치와 결과 위치를 또렷하게 둡니다.
- 결과 먼저핵심 결과를 앞에 두고, 과정은 필요할 때만 보여줍니다.
- 요구 줄이기가입이나 불필요한 정보 입력 없이 바로 쓰게 합니다.
JWT에서 읽을 수 있는 정보와 확인할 수 없는 것
JWT 디코더는 점으로 구분된 토큰에서 헤더와 페이로드를 읽고 시간 정보를 날짜로 풀어 보여주는 도구입니다. API 요청이 거절됐거나 로그인 상태가 예상보다 빨리 끝났을 때 토큰에 어떤 값이 담겼는지 살펴볼 수 있습니다. 헤더의 알고리즘 표기, 페이로드의 사용자·발급자 정보, 만료 시각을 한곳에서 확인하세요.
화면에 내용이 나타났다는 사실만으로 토큰을 신뢰할 수는 없습니다. 이 도구는 비밀키나 공개키를 받아 서명을 검증하지 않으며 실제 서비스의 접근 권한도 판단하지 않습니다. 디코딩 여부와 서명 미검증 상태를 함께 확인한 뒤 필요한 항목을 발급 서비스의 설정과 비교하세요.
점으로 나뉜 세 구간은 무엇인가요?
이 도구가 읽는 JWS 형식의 JWT는 헤더·페이로드·서명 구간으로 나뉩니다. 앞의 두 구간은 Base64url로 표현한 JSON이며 서명 구간은 원문을 풀어 읽는 JSON이 아닙니다. 토큰 전체를 일반 Base64 문자열처럼 한 번에 디코딩하면 구간을 제대로 해석할 수 없습니다.
- 점 두 개를 포함한 토큰 전체를 입력하세요. 구간 하나만 복사하면 정보가 부족합니다.
- 헤더와 페이로드가 읽혀도 서명 구간의 진위는 별도로 확인해야 합니다.
오류를 찾을 때는 이 순서로 읽으세요
토큰을 붙여 넣으면 먼저 디코딩 결과를 확인하세요. 내용이 열리면 헤더의 알고리즘 표기와 페이로드의 값을 읽고 마지막으로 시간 정보를 살펴보면 됩니다. 로그인 오류를 조사할 때는 화면의 결과만 전달하기보다 어떤 API 요청에서 문제가 생겼는지 함께 기록하는 편이 도움이 됩니다.
- 입력 오류가 나오면 복사한 토큰이 중간에 잘리지 않았는지 확인하세요.
- 시간 문제를 비교할 때는 같은 시간대로 맞추세요. 한국 시간과 UTC 표기를 섞으면 9시간 차이가 생깁니다.
alg와 kid는 검증 결과가 아닙니다
헤더의 alg는 토큰에 적힌 알고리즘 이름이고 kid는 키를 구별하기 위한 식별자입니다. 이름이 익숙하거나 발급 서비스의 값과 같아 보여도 올바른 키로 서명됐다는 증거가 되지는 않습니다. 실제 검증에서는 서비스가 허용한 알고리즘과 신뢰하는 키를 사용해야 합니다.
- HS256이나 RS256이 표시돼도 이 화면의 서명 상태는 미검증입니다.
- kid가 존재한다는 이유로 토큰을 승인하지 마세요.
페이로드의 값은 서비스 맥락과 함께 읽으세요
페이로드에 담긴 정보 항목을 클레임이라고 합니다. iss는 발급자, sub는 주체, aud는 수신 대상을 나타냅니다. 표시된 값이 기대한 계정과 서비스를 가리키는지 비교하되 그 값 자체가 확인된 신원이라고 해석하지는 마세요.
- sub가 이메일이 아니라 내부 사용자 번호인 서비스도 있습니다.
- role·scope 같은 항목은 발급 서비스의 정의와 권한 정책을 함께 확인하세요.
exp·nbf·iat는 초 단위 시각입니다
exp는 만료 시각, nbf는 허용 시작 시각, iat는 발급 시각입니다. 기준은 1970년 1월 1일 00:00:00 UTC부터 흐른 초입니다. 한국 시간과 UTC는 같은 순간을 다른 표기로 보여줍니다.
- 1704067200은 2024년 1월 1일 00:00 UTC, 같은 날 09:00 KST입니다.
- 1704070800과의 차이는 3,600초, 즉 1시간입니다. 날짜 예시는 현재 유효한 토큰을 뜻하지 않습니다.
만료 전이어도 요청이 거절될 수 있습니다
현재 시각이 exp와 같거나 늦으면 만료이고 nbf보다 이르면 사용 시작 전입니다. 화면의 시간 상태는 기기 시각을 기준으로 이 조건을 비교한 결과입니다. 서버와 기기의 시계 차이, 서비스의 허용 오차, 다른 검증 조건에 따라 실제 요청 결과는 달라질 수 있습니다.
- 기기 시계가 틀렸다면 화면의 시간 비교부터 달라집니다.
- 만료 전 표시가 나와도 발급자·수신 대상·서명 검증을 통과했다는 뜻은 아닙니다.
alg가 none이면 경고를 확인하세요
alg가 none이고 서명 구간이 비어 있는 토큰에는 서명이나 MAC에 의한 무결성 보호가 없습니다. 내용을 읽을 수 있더라도 인증에 사용할 수 있다고 판단하면 안 됩니다. 이 도구는 none 표기를 경고하며 다른 알고리즘에서도 서명 검증 성공을 표시하지 않습니다.
- none 토큰은 일반적인 서명된 토큰과 같은 신뢰 수준으로 취급하지 마세요.
- 비밀키를 이 입력란에 붙여 넣을 필요는 없습니다. 이 도구는 서명을 생성하거나 검증하지 않습니다.
다섯 구간의 JWE는 여기서 읽지 않습니다
암호화된 JWE의 compact 형식은 점으로 나뉜 다섯 구간을 사용합니다. 이 도구는 JWE 복호화를 지원하지 않습니다. 다섯 구간처럼 보여도 구간 수만으로 정상적인 JWE라고 확정할 수 없으므로 발급 서비스의 형식을 확인하세요.
- 구간을 삭제해 억지로 세 구간을 만들면 원래 토큰이 훼손됩니다.
- 세 구간이어도 헤더·페이로드가 올바른 Base64url·UTF-8·JSON인지 확인해야 읽을 수 있습니다.
결과를 공유하기 전에 민감한 값을 확인하세요
서명된 토큰의 페이로드는 내용을 숨기는 암호화 수단이 아닙니다. 디코딩한 화면이나 원본 토큰을 다른 사람에게 전달하기 전에 개인정보와 인증에 쓰이는 값이 들어 있는지 확인하세요. 오류 상담에는 재현에 필요한 항목만 남긴 예시를 사용하는 편이 좋습니다.
- 이름·이메일·사용자 번호가 보이는 화면을 그대로 공개 게시판에 올리지 마세요.
- 값을 가린 예시는 실제 토큰과 구분하세요. 원본 페이로드를 바꾸면 기존 서명과 일치하지 않습니다.
JWT 디코딩에 관해 자주 묻는 질문
JWT 디코딩과 서명 검증은 어떻게 다른가요?
디코딩은 토큰에 적힌 내용을 읽는 작업입니다. 서명 검증은 신뢰하는 키로 내용이 서명과 일치하는지 확인하는 작업입니다. 이 도구는 디코딩만 제공하므로 결과가 보여도 서명은 미검증입니다.
비밀키나 공개키를 입력해야 하나요?
필요하지 않습니다. 헤더와 페이로드를 읽는 데 키를 사용하지 않으며 이 도구에는 서명 검증 기능이 없습니다. 토큰 입력란에는 키를 붙여 넣지 마세요.
exp가 없으면 만료되지 않는 토큰인가요?
만료 시각이 적혀 있지 않다는 것만 알 수 있습니다. 이를 무기한 사용 가능으로 해석할 수는 없습니다. 실제 허용 여부는 발급 서비스의 정책과 검증 결과를 확인해야 합니다.
시간 값이 13자리인데 밀리초로 바꿔 읽나요?
이 도구는 JWT의 시간 값을 초 단위로 읽습니다. 자릿수만 보고 자동으로 1,000으로 나누지 않습니다. 날짜가 예상과 크게 다르면 발급 측이 밀리초 값을 넣었는지 확인하세요.
한국 시간과 UTC가 9시간 다른데 오류인가요?
아닙니다. 예를 들어 2024년 1월 1일 00:00 UTC와 같은 날 09:00 KST는 같은 순간입니다. 서버 기록과 비교할 때는 날짜 옆의 시간대도 함께 확인하세요.
iat가 미래이면 아직 사용할 수 없는 토큰인가요?
iat는 발급 시각이며 허용 시작을 나타내는 nbf와 역할이 다릅니다. 미래의 iat가 보이면 기기·서버 시계와 발급 로직을 확인하세요. 실제 서비스가 미래 발급 시각을 거절하는지는 해당 정책에 달려 있습니다.
디코딩한 값을 바꾸면 토큰도 수정되나요?
이 도구는 토큰을 새로 발급하거나 서명하지 않습니다. 페이로드의 글자만 바꿔 다시 인코딩해도 기존 서명과 일치하지 않습니다. 변경이 필요하면 발급 서비스의 정상적인 재발급 절차를 사용하세요.
점으로 나뉜 구간이 다섯 개이면 왜 지원하지 않나요?
다섯 구간은 암호화된 JWE compact 형식에서 사용하는 구조입니다. 이 도구는 JWE를 복호화하지 않습니다. 발급 서비스에서 토큰 형식과 복호화 방법을 확인하세요.
JWT 구조와 검증 기준의 원문
토큰의 구조와 시간 항목은 JWT·JWS 표준을, 알고리즘과 키를 신뢰할 때의 주의점은 JWT 보안 권고를 참고했습니다. 암호화된 JWE의 구조도 함께 구분했습니다.
토큰 주변의 데이터를 살펴볼 때
JSON 구조를 펼쳐 보거나 개별 구간의 표현, URL에서 복사한 값의 인코딩을 확인해야 할 때 이어서 사용할 수 있습니다.