JWT 디코더
JSON Web Token의 헤더와 페이로드를 디코딩하고 검사하세요.
JWT 디코더 — JWT를 붙여넣으면 디코딩된 헤더와 페이로드를 즉시 확인할 수 있습니다. iat·nbf·exp 시간 클레임은 읽기 쉬운 날짜로 표시되고 만료/유효 배지가 실시간으로 갱신됩니다. 디코딩은 전부 브라우저 안에서 이루어져 토큰이 어디로도 전송되지 않습니다. 다만 서명은 검증하지 않으므로, 서버에서 서명을 확인하기 전에는 페이로드를 신뢰하지 마세요.
JWT 디코더란?
JWT Decoder는 JSON Web Token(JWT)을 디코딩하고 들여다볼 수 있는 무료 온라인 도구로, 개발자가 액세스 토큰, ID 토큰, 베어러 토큰의 내용을 추측하지 않고 그대로 읽을 수 있게 해줍니다. 표준 header.payload.signature 형식의 토큰을 붙여넣으면 header와 payload를 base64url로 디코딩하고, 둘 다 보기 좋게 정렬된 JSON으로 표시하며, iat·nbf·exp 시간 클레임을 사람이 읽기 쉬운 날짜로 렌더링하고 만료/유효 여부를 실시간 배지로 보여줍니다. 인증 흐름, OAuth/OIDC 세션, 토큰 만료 문제를 디버깅하는 백엔드·프론트엔드 엔지니어, QA 테스터, API 연동 담당자를 위해 만들어졌습니다. 단, 이것은 디코더이지 검증기가 아니라는 점에 유의하세요. 서명을 확인하지 않으므로 내용 확인용으로만 사용하세요.
JWT 디코더 사용법
- 앱, 브라우저 개발자 도구, 또는 Authorization: Bearer 헤더에서 JWT(header.payload.signature)를 복사합니다.
- 'JWT token' 텍스트 영역에 붙여넣습니다.
- 입력란 아래의 Header와 Payload 섹션에서 디코딩되어 보기 좋게 정렬된 JSON을 확인합니다.
- payload에 iat, nbf, exp가 포함되어 있으면 Issued (iat), Not before (nbf), Expires (exp) 통계 카드와 만료/유효 배지를 확인해 토큰의 유효 기간을 파악합니다.
- Header 또는 Payload의 복사 버튼으로 정렬된 JSON을 복사하거나, 지우기를 클릭해 입력을 초기화합니다.
예시
JWT 헤더 디코딩하기
입력
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig
출력
{
"alg": "HS256",
"typ": "JWT"
}Header 섹션에는 첫 번째 세그먼트를 디코딩해 보기 좋게 정렬한 JSON이 표시됩니다.
만료 클레임 읽기
payload에 exp/iat/nbf가 포함된 토큰을 붙여넣습니다. 도구는 각 에포크 초 클레임을 읽기 쉬운 로컬 날짜로 변환하고, Expires (exp) 값 옆에 초록색 '유효' 또는 빨간색 '만료' 배지를 매초 갱신하며 표시합니다.
형식이 잘못된 토큰
입력
not-a-jwt
출력
Malformed token — expected header.payload.signature
최소한 header와 payload 세그먼트(점 구분자)가 없는 문자열은 디코딩되지 않고 이 오류가 발생합니다.
자주 묻는 질문
- 이 도구는 JWT 서명을 검증하나요?
- 아니요. header와 payload를 디코딩해 표시할 뿐 서명은 검증하지 않습니다. 서명이 서버 측에서 검증되기 전까지는 디코딩된 payload를 절대 신뢰하지 마세요. 출력은 내용 확인용으로만 다루어야 합니다.
- 어떤 토큰 형식을 기대하나요?
- 최소한 header.payload 부분을 갖춘 표준 JWT(header.payload.signature)입니다. 점을 기준으로 분리한 뒤 앞의 두 세그먼트를 base64url로 디코딩하므로, 디코딩 과정에서 서명 부분은 무시됩니다.
- 어떤 시간 클레임을 보여주나요?
- 표준 숫자 에포크 초 클레임인 iat(발급 시각), nbf(유효 시작 시각), exp(만료)를 표시하며 각각을 읽기 쉬운 로컬 날짜로 변환합니다. 만료된 토큰에는 표시를 달고, nbf가 미래라서 토큰이 아직 유효하지 않을 때는 경고합니다. 통계 카드는 이러한 클레임 중 하나 이상이 있을 때만 나타납니다.
- 제 토큰이 어딘가로 업로드되거나 전송되나요?
- 아니요. 모든 처리는 브라우저에 내장된 base64 및 JSON 디코딩을 사용해 전적으로 클라이언트 측에서 실행됩니다. 토큰이 어떤 서버에도 업로드되지 않으므로 민감한 액세스 토큰도 안전하게 확인할 수 있습니다.
- 멀쩡해 보이는 토큰인데 왜 오류가 나나요?
- 입력이 두 세그먼트 미만이거나 header/payload가 비어 있으면 'Malformed token' 메시지가 나타나고, 세그먼트가 유효한 base64url 인코딩 JSON이 아니면 'invalid' 오류가 나타납니다. 여분의 공백이나 앞뒤 따옴표 없이 전체 토큰을 붙여넣었는지 확인하세요.
관련 도구
Base32 / Base58 인코딩 / 디코딩
텍스트를 Base32(RFC 4648) 또는 Base58(비트코인 알파벳)로 인코딩하고 다시 디코딩하세요. 브라우저 안에서 UTF-8까지 안전하게 처리합니다.
Base64 인코딩 / 디코딩
텍스트를 Base64로 인코딩하거나 Base64를 텍스트로 디코딩하세요 (UTF-8 안전).
대소문자 변환기 및 카운터
텍스트 대소문자를 변경하고 문자, 단어, 줄 수를 세어보세요.
코드 포맷터 및 압축기
HTML, CSS, JavaScript를 브라우저 안에서 즉시 정리하거나 압축하며 2칸·4칸·탭 들여쓰기를 지원합니다.