UnitConv
Дизайн и разработка

Декодер JWT

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

Всё выполняется локально в вашем браузере. Ваш токен никогда не загружается, не сохраняется и не отправляется на сервер. Этот инструмент только декодирует токен — он не проверяет подпись, поэтому секретный или открытый ключ не требуется.

JSON Web Token

Об этом инструменте

Декодер JWT читает JSON Web Token и показывает, что внутри него. JWT состоит из трёх частей, разделённых точками — заголовок, полезная нагрузка и подпись — и первые две представляют собой просто JSON, закодированный в Base64URL. Этот инструмент декодирует их в читаемый отформатированный JSON, чтобы вы могли изучить алгоритм, тип токена и каждый клейм. Стандартные временные клеймы, такие как exp (срок действия), iat (время выпуска) и nbf (не ранее), преобразуются из сырых секунд UNIX в читаемые даты, а просроченный токен выделяется. Важно: инструмент никогда не проверяет подпись и не запрашивает секретный или открытый ключ — для декодирования нужен только сам токен. Поэтому всё происходит локально в вашем браузере и ничего не загружается, что делает безопасным изучение токенов без их утечки на сервер.

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

  1. 1 Вставьте ваш JSON Web Token (header.payload.signature) в поле ввода или нажмите «Загрузить пример».
  2. 2 Заголовок и полезная нагрузка мгновенно декодируются и показываются как отформатированный JSON.
  3. 3 Проверьте значки alg и typ и прочитайте exp / iat / nbf как читаемые даты; просроченный токен выделяется красным.
  4. 4 Используйте кнопки копирования, чтобы получить декодированный заголовок или полезную нагрузку. Ничто из вставленного не покидает ваш браузер.

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

JWT записывается как три строки Base64URL, соединённые точками: header.payload.signature. Base64URL похож на обычный Base64, но использует - и _ вместо + и /, и обычно опускает завершающее заполнение =. Декодер восстанавливает эти символы, добавляет недостающее заполнение, вызывает atob для получения сырых байтов и переинтерпретирует их как UTF-8, чтобы не-ASCII клеймы отображались правильно. Затем заголовок и полезная нагрузка разбираются как JSON и форматируются. Числовые клеймы exp, iat и nbf — это метки времени UNIX в секундах, поэтому они умножаются на 1000 и превращаются в даты; если exp в прошлом, токен помечается как просроченный. Сегмент подписи показывается нетронутым и никогда не проверяется, поэтому ключ не нужен и весь процесс остаётся на вашем устройстве.

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

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

Нет. Он только декодирует заголовок и полезную нагрузку, чтобы вы могли их прочитать. Проверка подписи потребовала бы секретного или открытого ключа подписи, который этот инструмент намеренно никогда не запрашивает. Так всё остаётся локальным, и вы можете безопасно изучать содержимое токена, не раскрывая никакого ключа.

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

Нет. Всё декодирование происходит в вашем браузере с помощью JavaScript. Ваш токен никогда не загружается, не записывается в журнал и не сохраняется, а инструмент продолжает работать офлайн после загрузки страницы. Сюда безопасно вставлять чувствительные токены.

Что означают поля exp, iat и nbf?

Это стандартные временные клеймы, выраженные как метки времени UNIX в секундах. exp — когда токен истекает, iat — когда он выпущен, nbf — самый ранний момент, когда он действителен. Этот инструмент преобразует каждое значение в читаемую дату и помечает токен как просроченный, когда exp в прошлом.

Можно ли прочитать JWT без секретного ключа?

Да. Заголовок и полезная нагрузка JWT только закодированы в Base64URL, а не зашифрованы, поэтому любой может прочитать их без какого-либо ключа. Секретный или открытый ключ нужен только для проверки подписи, которая доказывает, что токен не был изменён, но никогда не требуется для просмотра содержимого.

Почему мой токен показывает искажённый текст или ошибку?

JWT должен состоять ровно из трёх частей, разделённых точками, каждая — корректный Base64URL, а первые две должны декодироваться в корректный JSON. Если часть отсутствует, обрезана, или вы случайно вставили зашифрованный JWE вместо подписанного JWS, декодер сообщает об ошибке, а не угадывает.

Связанные инструменты и применение

Сочетайте декодер JWT с инструментом Base64 для ручного изучения сегментов, форматировщиком JSON для переформатирования скопированной полезной нагрузки и конвертером временной метки Unix для проверки времени exp/iat/nbf. Разработчики используют его при отладке потоков аутентификации, токенов OAuth/OpenID Connect, API-шлюзов и единого входа, где быстрое чтение клеймов токена — часть повседневной работы.