Только в браузере

JWT-декодер

Вставьте JWT, чтобы посмотреть header, payload и claims. Декодирование происходит в браузере — токен не уходит на сервер.

Декодируется локально в браузере. Никуда ничего не отправляется.

Декодирован. У токена нет exp claim.
sub
1234567890
iat
2018-01-18T01:30:22.000Z (1/18/2018, 1:30:22 AM)

Header

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

Подпись

SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Проверка подписи требует secret или открытого ключа. Этот инструмент не проверяет подпись — только декодирует.

Что такое JWT?

JSON Web Token (JWT) — компактный, URL-безопасный способ передачи claim-ов между двумя сторонами. Состоит из трёх частей — header, payload и signature, разделённых точками. Header и payload — это base64url-закодированный JSON. Подпись вычисляется по алгоритму из header с использованием secret или приватного ключа, что позволяет получателю убедиться в целостности токена. JWT широко применяется для аутентификации и обмена данными в REST API.

Стандартные claims JWT

issIssuer (эмитент)

Кто выдал токен — обычно URL auth-сервера.

subSubject (субъект)

О ком токен — обычно ID пользователя.

audAudience (аудитория)

Кому предназначен токен — API или сервис, который должен его принять.

expExpiration (срок действия)

Unix-время, после которого токен не должен приниматься.

nbfNot Before (не раньше)

Unix-время, раньше которого токен не должен приниматься.

iatIssued At (время выпуска)

Unix-время выпуска токена.

jtiJWT ID

Уникальный ID токена — полезно против replay-атак.

FAQ JWT-декодера

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

Да. Декодирование происходит в браузере на JavaScript — токен не уходит на сервер. Можете проверить через DevTools → Network. Тем не менее, не вставляйте продакшн-токены в любые онлайн-декодеры.

Может ли этот инструмент проверить подпись?

Нет. Для проверки подписи нужен secret или публичный ключ, которые нельзя вставлять в онлайн-инструменты. Проверяйте подпись в своём бэкенде, используя публичный ключ издателя (для асимметричных алгоритмов) или общий secret.

Какие алгоритмы поддерживает инструмент?

Все. Инструмент декодирует только base64url-JSON, поэтому работает с любым алгоритмом подписи (HS256, RS256, ES256, EdDSA и т.д.). Алгоритм указан в header — поле `alg`.

Почему мой токен короче других?

Длина JWT зависит от payload (больше claim-ов = длиннее) и алгоритма подписи (RSA длиннее HMAC). Компактный токен с минимумом claim-ов на HS256 может быть меньше 200 символов. Токены с RSA или большим количеством claim-ов часто 500+.

В чём разница между JWT и JWS/JWE?

JWS (JSON Web Signature) подписан, но не зашифрован — любой может прочитать payload. JWE (JSON Web Encryption) шифрует payload. Большинство "JWT" на практике — это JWS: подписан, но виден. Этот инструмент декодирует JWS. Зашифрованные JWE без ключа дешифровки прочитать нельзя.