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

Декодер и проверка JSON Web Token

Три сегмента base64url, подпись, которая либо настоящая, либо нет, и окно действия, которое либо включает текущий момент, либо нет. Инструмент отвечает на все три вопроса офлайн и называет точную причину, когда ответ отрицательный.

Настоящая проверка подписиПроверка exp, nbf, iss, audПодпись новых токеновНичего не покидает браузер
Токен JWT
Ещё не проверено
Ключ или секретalg: —

Ключ используется криптографией браузера в этой вкладке и никуда не отправляется.

1 × errorCtrl+↵ · Alt
Продолжить

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

1

Вставьте токен

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

2

Добавьте ключ

Общий секрет текстом, в base64 или hex, открытый ключ PEM, JWK или целый JWKS — запись по kid токена подбирается сама.

3

Проверьте

Нажмите кнопку: считает криптография самого браузера. Вы получите «верна», «неверна» или точную причину, почему ключ не подошёл, — но не пожатие плечами.

4

Идите дальше

Сверьте claim-ы с ожиданиями вашего сервиса, подпишите новый токен в конструкторе или передайте нагрузку другому инструменту набора.

Подписи проверяются по-настоящему

HS256/384/512, RS, PS и ES — включая ES512 на P-521 — проверяет Web Crypto самого браузера. Ни сервера, ни библиотеки, ни загрузки.

Claim-ы оцениваются, а не просто показываются

exp, nbf и iat с заданным вами допуском часов, плюс издатель, аудитория и субъект, которых ждёт ваш сервис. Каждая проверка проходит, падает или пропускается — и сообщает об этом.

Видимый срок жизни

Обратный отсчёт идёт только когда есть что отсчитывать, а полоса показывает, где сейчас между nbf и exp.

Подписывайте токены, а не только читайте

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

Любой формат ключа

Секрет текстом, в base64 или hex; открытые ключи PEM; отдельный JWK; или целый JWKS, где запись по kid выбирается сама.

Атаки названы вслух

alg: none, пустая подпись, нагрузка, которая является корректным JSON, но не объектом, base64, переживший URL, — каждый случай назван своим именем.

Ничего не загружается

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

Передача остальным инструментам

Отправьте claim-ы прямо в JSONFlow, DiffSnap, Base64Bolt или Hash Bolt — без скачивания и повторной загрузки.

Декодер, который умеет говорить «нет»

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

Криптография уже была в браузере

Web Crypto — это полная реализация HMAC, RSASSA-PKCS1-v1_5, RSA-PSS и ECDSA, и она бесплатно есть в каждом браузере. Декодирование, проверка подписи, проверки claim-ов и подпись идут через неё, в этой вкладке, без единого запроса наружу.

Для настоящей отладки, а не для демо

Для настоящей отладки, а не для демо

Вопросы, которые возникают в три часа дня: этот 401 из-за истёкшего токена или из-за неверного ключа на шлюзе? Клиент прислал ту аудиторию, которую ждёт API? Этот kid ещё есть в JWKS? Вставьте токен, вставьте набор ключей — и получите ответ с причиной, в том числе для токенов, которые не просто недействительны, а сломаны.

Токен — это учётные данные

JWT обычно несёт личность, а секрет подписи — это то, чем такие токены чеканят. Ни то, ни другое отсюда никуда не уходит: у инструмента нет серверной части, нет аккаунта, нет аналитики по тому, что вы вставили. Закройте вкладку — и оба исчезнут, ведь память этой вкладки была единственным местом, где они существовали.

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

QМой токен или ключ куда-то загружаются?+

Нет. Декодирование, проверка подписи и подписание выполняются в вашем браузере через Web Crypto API. Серверной части, куда что-то можно отправить, нет, и между визитами ничего не сохраняется.

QОн действительно проверяет подпись?+

Да, ради этого и сделана эта версия. Вставьте общий секрет для HS256/384/512 либо открытый ключ PEM, JWK или JWKS для RS, PS и ES. Браузер считает, а вердикт — «верна», «неверна» или названная причина, по которой ключ не подошёл.

QКакие алгоритмы поддерживаются?+

HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 и ES512, плюс EdDSA там, где браузер даёт Ed25519. ES512 использует P-521, как того требует спецификация.

QЧто происходит с alg: none?+

Такой токен помечается как незащищённый, и проверка всегда его отклоняет. Токен без подписи — ровно та атака, ради которой эта проверка и существует, поэтому зелёной галочки он не получает никогда.

QМожно ли создать токен, а не только прочитать?+

Да. На вкладке создания можно править заголовок и нагрузку, выбрать алгоритм, тут же сгенерировать секрет или пару ключей RSA/EC и подписать. Результат сразу открывается в разборе, чтобы вы проверили то, что сделали.

QЧто делают проверки claim-ов?+

Они сравнивают токен с тем, чего потребовал бы верификатор: exp, nbf и iat с заданным допуском часов, необязательный максимальный возраст, а также издатель, аудитория и субъект, которых ждёт ваш сервис. Каждая строка проходит, падает или пропускается, если вы её не запрашивали.

Часть набора oLoveTools
oLoveTools

Локально декодируйте, проверяйте и подписывайте JSON Web Token — с указанием причины.

Криптография уже была в браузере

Web Crypto — это полная реализация HMAC, RSASSA-PKCS1-v1_5, RSA-PSS и ECDSA, и она бесплатно есть в каждом браузере. Декодирование, проверка подписи, проверки claim-ов и подпись идут через неё, в этой вкладке, без единого запроса наружу.

Для настоящей отладки, а не для демо

Вопросы, которые возникают в три часа дня: этот 401 из-за истёкшего токена или из-за неверного ключа на шлюзе? Клиент прислал ту аудиторию, которую ждёт API? Этот kid ещё есть в JWKS? Вставьте токен, вставьте набор ключей — и получите ответ с причиной, в том числе для токенов, которые не просто недействительны, а сломаны.

Токен — это учётные данные

JWT обычно несёт личность, а секрет подписи — это то, чем такие токены чеканят. Ни то, ни другое отсюда никуда не уходит: у инструмента нет серверной части, нет аккаунта, нет аналитики по тому, что вы вставили. Закройте вкладку — и оба исчезнут, ведь память этой вкладки была единственным местом, где они существовали.

© 2026 oLoveToolsО нас

JWTBolt

Декодируйте и проверяйте подписи JWT локально: HS256, RS256, PS256, ES256 и другие. Проверяйте exp, nbf, iss и aud, вставляйте секрет, PEM, JWK или JWKS и подписывайте новые токены. 100% в браузере.

Что отладчик JWT обязан дать сверх base64

Разбить токен по точкам и раскодировать base64 в двух частях из трёх — это строк пятнадцать на JavaScript, поэтому так умеет любая страница про JWT. Это же и наименее полезная часть. Реально блокируют отладку другие вопросы: настоящая ли подпись, попадает ли текущий момент в окно действия токена и говорят ли claim-ы то, чего требует потребляющий сервис, — и ни на один из них красиво отформатированная нагрузка не отвечает. Этот инструмент отвечает на все три прямо в браузере: подписи — через Web Crypto API с алгоритмами HS, RS, PS и ES; временное окно — с допуском часов, который задаёте вы; издатель, аудитория и субъект — в сравнении с тем, что вы велели ожидать.

Сценарии отказа важны не меньше счастливого пути. Токен, у которого нагрузка — корректный JSON, но не объект, раньше обнулял страницу; здесь о нём сообщают как есть. Base64, вернувшийся из URL со знаком плюс, сегмент, не декодируемый в корректный UTF-8, пустая подпись, alg равный none, JWKS без записи для kid этого токена — у каждого случая своё сообщение вместо общего «недействительный токен». А поскольку секрет подписи сам по себе является учётными данными, ничего из этого не покидает вкладку: вставленный ключ передаётся криптографии браузера и больше никуда — именно это делает конструктор безопасным для настоящего ключа, пока вы воспроизводите баг.

Найдите следующий инструмент

Открывается в новой вкладке, сохраняя текущую работу.