Декодер и проверка JWT

Вставьте JSON Web Token, чтобы просмотреть его заголовок и payload, узнать, когда истекает срок действия, и проверить подпись. Декодирование выполняется локально — ваш токен не покидает браузер.

Обновлено
🔒 Ваш токен декодируется и проверяется локально в вашем браузере. Он никогда не отправляется на сервер, не записывается в журнал и не сохраняется.
Header
Payload

Claims

Проверка подписи (необязательно)

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Сгенерируйте OAuth 2.0 PKCE code verifier и S256 code challenge прямо в браузере, а также state и nonce, URL авторизации и запрос токенаГенератор PKCE →

Как пользоваться: JWT декодер

  1. Вставьте JWT (с префиксом Bearer или без него) в поле Encoded token или нажмите Load sample.
  2. Изучите декодированные header и payload; бейджи покажут алгоритм и то, истёк ли срок действия токена.
  3. Проверьте таблицу Claims: времена exp, iat и nbf показаны в вашем локальном часовом поясе.
  4. При желании проверьте подпись: введите общий секрет для HS256/384/512 или вставьте открытый ключ (PEM или JWK) для токенов RS, PS, ES и EdDSA.

Что такое JWT?

JSON Web Token (JWT, произносится «джот», описан в RFC 7519) — это компактная строка, безопасная для URL, которая используется для передачи claims между сторонами. Чаще всего её применяют как access token или ID token в OAuth 2.0 и OpenID Connect, передавая в заголовке Authorization: Bearer …. Токен состоит из трёх частей в кодировке Base64URL, разделённых точками:

  1. Header — JSON с описанием токена, например {"alg":"HS256","typ":"JWT"}.
  2. Payload — JSON с claims: кто пользователь, что ему разрешено и когда истекает срок действия токена.
  3. Signature — вычисляется по header.payload с помощью секрета или закрытого ключа, поэтому любое изменение первых двух частей делает подпись недействительной.

Важно: header и payload только закодированы, но не зашифрованы. Любой, у кого есть токен, может их прочитать — именно это и делает данный декодер. Никогда не помещайте секреты и чувствительные персональные данные в payload JWT. (Существуют зашифрованные токены — JWE, у которых пять частей, но их payload можно прочитать только с ключом расшифровки.)

Зарегистрированные claims

ClaimНазваниеЗначение
issIssuerКто выпустил токен (например, URL вашего сервера авторизации)
subSubjectПользователь или сущность, которую представляет токен
audAudienceAPI, которые должны принимать токен
expExpirationUnix-время, после которого токен必须 быть отклонён
nbfNot beforeUnix-время, до которого токен не действителен
iatIssued atUnix-время создания токена
jtiJWT IDУникальный ID, полезный для защиты от повторного использования (replay)

Временные claims — это секунды с 1 января 1970 года UTC, а не миллисекунды. Это частая ошибка при создании токенов в JavaScript с помощью Date.now(). Декодер преобразует их в понятные даты; для других временных меток используйте конвертер Unix-времени.

Алгоритмы подписи

HS256/384/512 используют HMAC с общим секретом: один и тот же ключ подписывает и проверяет, поэтому любой проверяющий может также создавать токены. RS256 (RSA), PS256 (RSA-PSS), ES256 (ECDSA P-256) и EdDSA используют закрытый ключ для подписи и открытый ключ для проверки — это лучший выбор, когда токены должны проверять несколько сервисов. Провайдеры идентификации публикуют открытые ключи в виде JWKS по адресу вида /.well-known/jwks.json; вы можете вставить этот JSON сюда, и ключ, соответствующий kid токена, будет выбран автоматически. Проверка выполняется с помощью Web Crypto API браузера.

Чек-лист безопасности

  • Всегда проверяйте подпись на сервере — одного декодирования недостаточно, чтобы доверять токену.
  • Отклоняйте alg: none и явно задавайте алгоритмы, которые ожидаете, чтобы избежать атак подмены алгоритма.
  • Проверяйте exp, nbf, iss и aud, допуская лишь небольшое расхождение часов.
  • Для HS256 используйте случайный секрет длиной не менее 256 бит — его можно создать в генераторе паролей.

Также ищут как: json web token, bearer токен декодер.

Инструменты, которые хорошо сочетаются с JWT декодер

  • Генератор PKCE — Проверьте или отладьте вход через OAuth 2.0 / OpenID Connect с PKCE.
  • Base64 кодер / декодер — Преобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe Base64 или перетащите файл, чтобы получить его строку Base64 или data URI.
  • Генератор хешей — Мгновенно вычисляйте хеши MD5 и SHA для любого текста или файла, создавайте подписи HMAC и вставляйте ожидаемую контрольную сумму, чтобы проверить загрузку.
  • JSON форматтер — Вставьте JSON, чтобы отформатировать, минифицировать или проверить его.

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

Безопасно ли вставлять мой JWT сюда?
Декодирование и проверка выполняются полностью в вашем браузере: токен не отправляется на сервер, не сохраняется и не попадает в URL. Всё же относитесь к рабочим токенам как к паролям: лучше используйте истёкшие или тестовые токены и никогда не делитесь действующими.
Можно ли декодировать JWT без секрета?
Да. Header и payload — это просто JSON в кодировке Base64URL, который может прочитать любой. Секрет или ключ нужен только для проверки подписи, то есть чтобы убедиться, что токен подлинный и не был изменён.
Как проверить, истёк ли срок действия JWT?
Посмотрите на claim exp — это Unix-время в секундах. Этот инструмент сравнивает его с часами вашего устройства и показывает бейдж «Expired» или «Not expired», а также точное время в вашем часовом поясе.
В чём разница между HS256 и RS256?
HS256 использует один общий секрет для подписи и проверки (симметричный HMAC). RS256 подписывает закрытым RSA-ключом и проверяет открытым (асимметричная схема), поэтому проверяющие не могут создавать токены.
Почему проверка не проходит с правильным секретом?
Проверьте, хранится ли секрет в кодировке Base64 (отметьте соответствующую опцию), нет ли лишних пробелов или переносов строк, а также не был ли изменён токен: даже один изменённый символ в header или payload делает подпись недействительной.
Можно ли установить JWT декодер как веб-приложение и пользоваться им офлайн?
Да. JWT декодер — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localГенератор PKCEПроверьте или отладьте вход через OAuth 2.0 / OpenID Connect с PKCE. Сгенерируйте случайный code verifier,…localBase64 кодер / декодерПреобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe…localКонвертер Unix timestampПосмотрите текущее Unix-время в реальном времени, переведите любой epoch-timestamp (секунды, миллисекунды,…localГенератор хешейМгновенно вычисляйте хеши MD5 и SHA для любого текста или файла, создавайте подписи HMAC и вставляйте…localJSON форматтерВставьте JSON, чтобы отформатировать, минифицировать или проверить его. Ошибки указываются с точной…localГенератор паролейСоздавайте надёжные, по-настоящему случайные пароли или легко запоминаемые парольные фразы с расширенными…