JWT 디코더
JSON Web Token (JWT)을 디코딩하고 클레임을 상세히 분석
토큰 구조
00
알고리즘
—
클레임
0
토큰 상태
—
JWT 토큰을 여기에 붙여넣으세요...
01
JWT란?
JWT(JSON Web Token)는 사용자 정보나 접근 만료 시점 같은 클레임을 담은 짧은 문자열로, 점으로 나뉜 헤더, 페이로드, 서명의 세 부분으로 이루어집니다. 헤더와 페이로드는 URL 안전 Base64로 인코딩된 JSON이라 누구나 읽을 수 있고, 서명은 서버가 토큰이 변경되지 않았음을 확인하는 데 쓰입니다.
이 디코더는 토큰을 나눠 헤더와 페이로드를 정리된 JSON으로 보여 주고, exp, iat, nbf 클레임을 읽기 쉬운 날짜와 실시간 만료 상태로 바꿉니다. 디코딩만 하며 서명은 검증하지 않습니다. 토큰은 브라우저에서 디코딩되고 업로드되지 않으므로, 운영 환경 토큰도 외부 서비스에 보내지 않고 확인할 수 있습니다.
02
JWT 디코딩 방법
- 입력란에 토큰을 붙여넣거나 ‘샘플 로드’를 클릭해 예시를 불러옵니다.
- 헤더에서 서명 알고리즘과 토큰 유형을 확인합니다.
- 페이로드에서 클레임을 확인합니다. 날짜는 현지 시간으로 표시됩니다.
- 토큰 상태를 보고 유효한지 만료되었는지 확인합니다.
- 다른 곳에 필요하면 헤더나 페이로드를 JSON으로 복사합니다.
03
JWT 디코더 자주 묻는 질문
- JWT의 헤더, 페이로드, 서명은 무엇인가요?
- 헤더에는 HS256이나 RS256 같은 서명 알고리즘과 토큰 유형이 들어 있습니다. 페이로드에는 sub, iss, aud, exp 같은 등록된 클레임과 사용자 정의 데이터가 들어 있습니다. 서명은 헤더와 페이로드를 바탕으로 비밀 키나 개인 키로 계산하므로, 둘 중 하나라도 바뀌면 서명이 무효가 됩니다.
- 여기에 JWT를 붙여넣어도 안전한가요?
- 토큰은 이 브라우저 탭에서 디코딩되며 서버로 전송, 기록, 저장되지 않으므로 운영 토큰을 붙여넣어도 노출되지 않습니다. 그래도 토큰은 비밀번호처럼 다루세요. 유효한 토큰을 가진 사람은 만료될 때까지 그 토큰을 쓸 수 있습니다. 확인이 끝나면 입력란을 지우고, 페이로드 스크린샷은 공유하지 마세요.
- exp, iat, nbf는 무슨 뜻인가요?
- 초 단위 유닉스 타임스탬프입니다. exp는 만료 시간으로, 이후에는 토큰을 거부해야 합니다. iat는 토큰 발급 시간이고, nbf는 그 전에는 토큰을 받아들이면 안 되는 시간입니다. 디코더는 각 값을 현지 시간 날짜로 보여 줍니다. 다른 타임스탬프를 변환하려면 유닉스 타임스탬프 변환기를 사용하세요.
- 이 도구가 JWT 서명을 검증하나요?
- 아니요. 헤더와 페이로드를 디코딩하지만 서명은 확인하지 않으므로, 디코딩된다고 해서 진짜 토큰이라는 증거는 아닙니다. 검증에는 HMAC 알고리즘이면 비밀 키, RSA와 ECDSA면 공개 키가 필요하며, 관리되는 JWT 라이브러리를 사용해 서버에서 해야 합니다.
04