belun.app Блог

JWT-декодер — расшифровка и разбор JSON Web Token онлайн

Вставьте JSON Web Token, чтобы мгновенно увидеть его декодированный заголовок и payload. Инструмент разбивает токен на три части, декодирует сегменты Base64URL, форматирует JSON и показывает стандартные claim'ы — например exp и iat — в виде понятных дат. Всё работает в браузере: токен никуда не отправляется.

Как это работает

  1. 1
    Вставьте токен Вставьте полный JWT (начинается с eyJ и содержит две точки) в поле ввода. Декодирование начинается по мере ввода — кнопку нажимать не нужно.
  2. 2
    Прочитайте заголовок и payload Декодированные заголовок и payload отображаются как отформатированный JSON. Алгоритм, тип токена и статус срока действия показаны сверху.
  3. 3
    Проверьте claim'ы и скопируйте Стандартные claim'ы — exp, iat, sub и другие — выводятся вместе с читаемыми датами. Используйте кнопки «Копировать», чтобы забрать декодированный JSON.

Ваши данные защищены

Всё обрабатывается прямо в вашем браузере. Никакие файлы или текст не отправляются на наши серверы. Отключите интернет — инструмент продолжит работать.

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

Проверяет ли инструмент подпись JWT?
Нет. Декодирование только читает содержимое — для проверки подписи нужен секретный ключ (HMAC) или открытый ключ (RSA/ECDSA), который клиентский инструмент не может безопасно хранить. Инструмент показывает сегмент подписи, но не проверяет его. Всегда проверяйте подпись на сервере, прежде чем доверять токену.
Отправляется ли мой токен на сервер?
Никогда. Всё декодирование происходит в JavaScript внутри браузера. Токен не покидает ваше устройство, поэтому можно безопасно вставлять токены со staging или production во время отладки.
Что означают три части JWT?
JWT состоит из header.payload.signature. Заголовок задаёт алгоритм подписи и тип токена. Payload содержит claim'ы (данные) — например, ID пользователя и срок действия. Подпись вычисляется из первых двух частей и секрета и подтверждает, что токен не подменили.
Что означает claim exp?
exp — это время истечения в формате Unix-timestamp (секунды с 1970 года). Если текущее время больше exp, токен просрочен и большинство серверов его отклонят. Инструмент сравнивает exp с часами вашего устройства и показывает значок «Просрочен» или «Действителен».
Почему payload не зашифрован?
Обычный JWT подписан, но не зашифрован. Заголовок и payload только закодированы в Base64URL, поэтому их может прочитать любой, у кого есть токен. Никогда не помещайте пароли или секреты в payload — считайте, что его прочитает каждый, кто держит токен.
Что такое Base64URL и почему не обычный Base64?
Base64URL — это вариант Base64, где + и / заменены на - и _, а отступы (padding) убраны, поэтому результат безопасен в URL и HTTP-заголовках. JWT использует его для всех трёх сегментов — поэтому при вставке сегмента в обычный декодер Base64 часто возникает ошибка.

Из блога

Как декодировать JWT (и что на самом деле означает каждый claim) Практическое руководство по JSON Web Token — три части, стандартные claim'ы и как безопасно прочитать токен. Читать статью →

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