Skip to content
서버전송 없음 · 브라우저 처리

JWT 디코더

JWT 토큰의 헤더·내용을 디코딩하고 만료 시각도 보여줘요.

즐겨찾기하면 홈에서 바로 찾을 수 있어요

이럴 때 쓰세요

로그인 토큰의 만료 시각 확인
페이로드에서 사용자 ID·권한 읽기
디버깅 중 토큰 내용이 맞는지 검증

이렇게 사용하세요

11단계JWT 토큰에 내용을 붙여넣으면 바로 시작해요
22단계디코딩 버튼을 누르면 결과가 아래에 나타나요
33단계복사 버튼으로 결과를 바로 가져다 쓸 수 있어요

결과가 예상과 다를 때

결과가 잘려 보여요

전체 결과는 복사 버튼으로 받을 수 있어요.

입력한 내용이 사라졌어요

이 기기에 자동 저장돼요. 브라우저 저장소를 지우면 함께 사라져요.

자주 하는 실수

계산 근거

JWT는 RFC 7519로 정의된 JOSE 형식의 토큰으로, 점으로 연결된 세 부분인 헤더·페이로드·서명으로 나뉩니다. 각 부분은 Base64URL 인코딩되어 있고, 헤더의 alg에 서명 알고리즘(RS256, HS256 등)이 들어갑니다.

실제로 계산해 보면

만료가 1,800,000,000이면 언제예요?

Unix 타임스탬프(UTC) 1,800,000,000은 2027년 1월 15일 08:00 UTC입니다. 한국 시각으로 같은 시각의 오후 5시예요.

eyJhbGciOiJIUzI1NiJ9를 디코딩하면?

Base64URL로 풀면 {"alg":"HS256"}이 나옵니다. 이게 JWT 헤더라는 뜻이며, 나머지 두 부분도 같은 방식으로 읽어요.

세 부분 중 서명만 비어 있으면?

마지막이 빈 문자열이면 서명이 없는 토큰입니다. 이때 헤더의 alg를 임의로 바꿔 보내면 토큰 위조를 뜻하기 쉬워서, 서버는 서명 검증을 강제해야 합니다.

더 궁금한 것

서명 검증을 왜 서버에서 하나요?

검증에 필요한 키를 클라이언트에 둘 수 없기 때문입니다. 브라우저에 키가 있으면 공격자도 같은 키로 위조 토큰을 만들 수 있어요. 서버는 서명을 확인한 뒤에만 권한을 반영해야 합니다.

헤더와 페이로드에 뭐를 담는 게 안전해요?

어느 쪽이든 서명되지 않는 한 조작이 가능합니다. 개인정보와 권한 정보는 서명된 서버 발급 토큰에 담고, 클라이언트에는 식별자만 넘기는 편이 안전해요.

exp가 없으면 어떻게 되나요?

만료 기한이 없는 토큰이 됩니다. 일부 라이브러리는 exp가 없으면 토큰을 거부하니 서버 설정에 맞춰 확인하고, 무기한 방치는 피해야 합니다.

알아둘 경계값

결과를 믿기 전 확인 목록

자주 묻는 질문

서명 검증도 하나요?

아니요. 내용 확인용이며 서명 검증은 서버에서 하세요.

서명이 유효한지도 알려주나요?

아니요. 내용만 디코딩해요. 서명 검증은 서버에서 비밀키로 해야 하며, 이 도구로는 확인할 수 없어요.

관련 도구

전체보기 →