ESC

Декодер JWT токенов

Это только декодер — без подписи и верификации. Вся обработка в браузере. Данные не отправляются на сервер.

Декодированный результат

Заголовок
-
Полезная нагрузка
-
Зарегистрированные утверждения
Утверждение Значение Описание
Подпись
-

Примеры использования

Базовый JWT токен

Простой JWT с базовыми утверждениями пользователя — subject и name. Идеально для понимания структуры JWT.

Просроченный токен

Просроченный JWT токен — посмотрите, как декодер отображает статус срока действия и метку выпуска.

Токен со всеми утверждениями

JWT со всеми стандартными утверждениями: iss, sub, aud, exp, nbf, iat и jti.

Возможности

Цветовая разметка секций

Заголовок (синий), полезная нагрузка (зелёный) и подпись (красный) визуально разделены для удобного чтения

Определение срока действия

Автоматическая проверка, истёк ли срок токена, путём сравнения утверждения exp с текущим временем

Анализ утверждений

Отображение всех зарегистрированных JWT утверждений (iss, sub, aud, exp, nbf, iat, jti) с читаемыми датами

Конфиденциальность

Декодирование выполняется локально в браузере на JavaScript. Токены не отправляются на сервер

Как использовать?

1

Вставьте токен

Вставьте JWT токен в поле ввода. Токен автоматически декодируется при вставке.

2

Изучите результат

Просмотрите декодированные заголовок, полезную нагрузку и подпись в цветных секциях. Проверьте утверждения и срок действия.

3

Скопируйте секции

Скопируйте отдельные секции (заголовок, полезная нагрузка, подпись) в буфер обмена кнопками копирования.

Часто задаваемые вопросы

JSON Web Token (JWT) — это компактный, безопасный для URL токен, состоящий из трех секций, закодированных в Base64url и разделенных точками: Header.Payload.Signature. Header содержит тип токена и алгоритм подписи (например, {"alg":"HS256","typ":"JWT"}). Payload содержит claims — утверждения о пользователе или сессии (например, ID пользователя, роль, время истечения). Signature связывает header и payload с помощью секретного или приватного ключа, предотвращая несанкционированные изменения. JWT используются для аутентификации API, единого входа (SSO) и управления сессиями без сохранения состояния.

Эти термины относятся к алгоритму подписи в header JWT. HS256 (HMAC-SHA256) использует общий секрет — один и тот же ключ используется и для подписи, и для проверки. Это означает, что любой, кто владеет ключом, может создавать валидные токены. RS256 (RSA-SHA256) использует пару публичный/приватный ключи — сервер подписывает с помощью приватного ключа и публикует публичный ключ для проверки. RS256 более безопасен в распределенных системах, так как проверяющим нужен только публичный ключ и они не могут подделать токены. Этот декодер показывает вам поле alg, но не может проверить ни один из алгоритмов — он только читает содержимое.

Нет. Для проверки подписи требуется секрет (для HMAC-алгоритмов) или публичный ключ (для RSA/EC-алгоритмов), который использовался для подписания токена. Этот инструмент только декодирует — он выполняет Base64url-декодирование header и payload, чтобы показать вам содержимое без какой-либо криптографической проверки. Секция Signature отображается как есть, но не проверяется. Для проверки подписи используйте свою серверную библиотеку JWT (jsonwebtoken для Node.js, PyJWT для Python, java-jwt для Java и т.д.).

Registered claims — это стандартизированные поля payload, определенные в RFC 7519. Семь стандартных claims: iss (issuer) — кто выпустил токен; sub (subject) — о ком токен (обычно ID пользователя); aud (audience) — намеченные получатели; exp (expiration time) — Unix-метка времени после которой токен становится недействительным; nbf (not before) — Unix-метка времени до которой токен не должен приниматься; iat (issued at) — Unix-метка времени, когда токен был создан; jti (JWT ID) — уникальный идентификатор токена. Этот инструмент конвертирует exp, nbf и iat из Unix-отметок во время, читаемое человеком.

Декодер проверяет claim exp относительно текущего времени и четко помечает истекшие токены. Истекший токен означает, что API отклонит его с ответом 401 Unauthorized — вам нужно использовать свой refresh token для получения нового access token (если ваша система аутентификации поддерживает refresh токены) или войти в систему снова. Если вы отлаживаете ошибку "expired token" от API, этот декодер покажет вам точно, когда токен истек и когда он был выпущен.

Поле alg в header отображается в декодированном виде — если у токена есть "alg":"none", вы его увидите. Это известная уязвимость JWT: некоторые ранние реализации принимали токены без подписи (alg:none), что позволяло злоумышленникам подделывать произвольные payload. Любая правильно реализованная библиотека JWT отклоняет токены alg:none по умолчанию. Если вы видите alg:none в токене из вашей собственной системы, это критическая ошибка безопасности, требующая немедленного внимания.

Нет. Все декодирование происходит в вашем браузере с помощью JavaScript — Base64url-декодирование не требует вычислений на стороне сервера. Ваши JWT токены, включая любые ID пользователей, роли или данные сессий, которые они содержат, никогда не покидают ваше устройство. Тем не менее, будьте осторожны с вставкой рабочих (production) JWT токенов в любые онлайн-инструменты — даже в этот. Для отладки проблем с аутентификацией в продакшене используйте вкладку Network в инструментах разработчика вашего браузера или вашу систему логирования.

Валидный JWT должен иметь ровно две точки, разделяющие три секции, закодированных в Base64url. Если у токена нет точек, это не JWT — это может быть непрозрачный токен (opaque token) — случайный идентификатор, требующий поиска на стороне сервера, а не самодостаточный JWT. Некоторые системы используют оба типа: непрозрачный refresh токен и JWT access токен. Если вы получаете ошибку "Invalid JWT format", убедитесь, что вы вставляете access токен (который должен начинаться с "ey"), а не refresh токен.

Что такое JWT Декодер?

Получили JWT токен от API и хотите узнать, что внутри? Вставьте его сюда и мгновенно увидите заголовок, полезную нагрузку и утверждения в читаемом формате. Также сразу покажет, истёк ли срок действия токена.

Зачем использовать этот JWT Декодер?

Цветовая разметка секций (заголовок — синий, полезная нагрузка — зелёный, подпись — красный) делает чтение удобным. Автоматически определяет срок действия, показывает все утверждения с реальными датами вместо Unix-меток. Всё работает в браузере — токены не покидают устройство.

Безопасность и конфиденциальность

Безопасность ваших данных — наш приоритет

Локальная обработка

Вся обработка происходит в вашем браузере

Без передачи данных

Ваши данные не отправляются на наши серверы

Без хранения данных

Данные не хранятся и не передаются

SSL-шифрование

SSL-шифрование для безопасного соединения

Next Step

Также на MoreOnlineTools