Декодер JWT

Вставьте JWT, чтобы увидеть его декодированный заголовок и payload с объяснением стандартных claims, таких как срок действия. Ничего не загружается, подписи никогда не проверяются и не сверяются с секретом.

Заголовок


        

Payload


        

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

JWT — это три сегмента Base64URL, соединённых точками: заголовок, payload, подпись. Инструмент разбивает по точкам, затем декодирует первые два сегмента, преобразуя URL-безопасный алфавит обратно в стандартный Base64 (- в +, _ в /), восстанавливая опущенное в JWT дополнение, запуская atob() и декодируя байты как UTF-8 с помощью TextDecoder. Каждый сегмент затем обрабатывается через JSON.parse и красиво форматируется. Стандартные claims (iss, sub, aud, exp, nbf, iat, jti) получают понятные метки, unix-метки времени превращаются в читаемые даты, а exp сравнивается с вашими часами, чтобы сообщить, истёк ли срок действия токена. Третий сегмент, подпись, вообще никогда не разбирается.

Это и есть строгое различие, которого придерживается этот инструмент: декодирование — это не проверка. Payload любого JWT доступен для чтения кому угодно, он закодирован, а не зашифрован. Доказать подлинность токена означает пересчитать подпись, для чего требуется секрет подписи (для HMAC) или ключ издателя (для RSA/ECDSA). Этот инструмент намеренно не предлагает поле «вставьте свой секрет»: привычка вставлять производственные секреты подписи в веб-страницы — это риск, который не оправдывает никакое удобство, а проверка в любом случае должна выполняться на вашем сервере. Никогда не доверяйте декодированному claim, который вы не проверили на стороне сервера.

Всё выполняется в JavaScript этой страницы с использованием atob и API декодирования текста. Вставьте настоящий токен при открытой вкладке Network в DevTools и понаблюдайте: ни один запрос не отправляется, токен никогда не покидает вкладку браузера.