DevToolPal
RU

Декодер JWT

Декодирование JSON Web Token: заголовок и полезная нагрузка, а также время выпуска и истечения срока действия.

Работает локально, без загрузки на сервер

Закодированный токен

Символов: 0 · 0 B

Результат

Здесь появится результат

Что делает инструмент

JSON Web Token (JWT) — это компактная строка из трёх частей, разделённых точками: заголовок с названием алгоритма подписи, полезная нагрузка с утверждениями (claims) о пользователе или сессии и подпись. JWT используются для сессий входа, access-токенов OAuth 2.0 и ID-токенов OpenID Connect.

Заголовок и полезная нагрузка лишь закодированы в Base64URL, а не зашифрованы. Инструмент декодирует их в читаемый отформатированный JSON и поясняет стандартные временные поля, так что видно, кому выдан токен, какие права он несёт и не истёк ли он.

Как пользоваться

  1. Вставьте токен в поле Закодированный токен. Префикс Bearer из заголовка Authorization удаляется автоматически.
  2. Посмотрите на значок статуса: Не истёк, Истёк, Ещё не действует или Без срока.
  3. Проверьте время выпуска, начала действия и истечения — оно показано в вашем местном времени и в секундах Unix.
  4. Скопируйте отформатированный JSON заголовка или полезной нагрузки кнопками Копировать.

Пример

У токена из примера такие заголовок и полезная нагрузка:

{ "alg": "HS256", "typ": "JWT" }
{
  "sub": "1234567890",
  "name": "张三 Jane Doe",
  "roles": ["admin", "editor"],
  "iat": 1700000000,
  "exp": 4102444800
}

Распространённые поля

  • iss — издатель, sub — субъект (обычно ID пользователя), aud — аудитория
  • iat — время выпуска, nbf — не раньше, exp — время истечения, всё в секундах Unix
  • jti — уникальный ID токена, часто используется для отзыва токенов

Частые вопросы

› Безопасно ли вставлять сюда мой токен?

Токен декодируется в вашем браузере и никуда не отправляется. Тем не менее относитесь к продакшен-токенам как к паролям: любой, у кого есть действующий токен, может пользоваться им до истечения срока.

› Проверяет ли инструмент подпись?

Нет. Для проверки нужен секретный ключ (HS256) или открытый ключ издателя (RS256, ES256). Декодирование лишь читает содержимое, которое не зашифровано, а только закодировано в Base64URL. Никогда не доверяйте утверждениям из токена, который ваш сервер не проверил.

› Почему показывается «Истёк»?

Значение exp раньше текущего времени на вашем устройстве. Убедитесь, что часы настроены правильно, и запросите новый токен у издателя.

› Можно ли декодировать зашифрованные токены (JWE)?

Нет. JWE состоит из пяти частей, и его полезная нагрузка зашифрована, поэтому прочитать её без ключа расшифровки нельзя.