QuickATools

Narzędzia deweloperskie · Free browser tool

Dekoder JWT

Dekoduj JSON Web Tokens (JWT) natychmiast po stronie klienta. Bezpiecznie przeglądaj nagłówek, payload i sygnaturę z wbudowanym humanizerem znaczników czasu.

Encoded JWT

Paste a token — optional Bearer prefix is stripped.

DecodedSignature not verified

Timestamp humanizer

  • exp1893456000

    2030-01-01 00:00:00 · in 1236 days

    Active
  • iat1723000000

    2024-08-07 03:06:40 · 736 days ago

Header

JSON
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

JSON
{
  "sub": "1234567890",
  "name": "홍길동",
  "email": "user@example.com",
  "iat": 1723000000,
  "exp": 1893456000
}

Signature

Raw
signature-placeholder

Decoding does not prove authenticity. Verify signatures in your backend with the issuer's secret or public key.

Frequently Asked Questions

Z jakich trzech części składa się JWT i do czego służy każda?

JWT to trzy segmenty zakodowane w Base64URL, rozdzielone kropkami: Header.Payload.Signature. Header opisuje typ tokena i algorytm podpisu (np. HS256, RS256). Payload niesie claims — id użytkownika, role, wygaśnięcie (exp), czas wystawienia (iat) oraz dowolne własne pola, które umieszcza Twoje API. Signature to kryptograficzna pieczęć nad pierwszymi dwiema częściami; ten dekoder pokazuje surową sygnaturę, ale jej nie weryfikuje, bo weryfikacja wymaga sekretu lub klucza publicznego.

Jaka jest różnica między dekodowaniem JWT a jego weryfikacją?

Dekodowanie jedynie dekoduje Base64URL nagłówka i payloadu, żebyś mógł odczytać claims — każdy może to zrobić bez klucza, bo JWT jest podpisany, a nie zaszyfrowany. Weryfikacja sprawdza, czy sygnatura pasuje przy użyciu sekretu lub klucza publicznego wystawcy, co dowodzi, że token nie został zmieniony i pochodzi od zaufanej strony. To narzędzie to dekoder do debugowania; nigdy nie stwierdzi autentyczności tokena, dopóki osobno nie zweryfikujesz sygnatury we własnym backendzie.

Jak czytać uniksowe znaczniki czasu jak exp, iat i nbf w JWT?

Te claims są przechowywane jako czas Uniksa w sekundach od 1970-01-01 UTC. To narzędzie wykrywa typowe klucze znaczników czasu (exp, iat, nbf, auth_time) i obok każdej wartości pokazuje równoważną lokalną datę/godzinę. Dla exp dodatkowo oznacza token jako Expired lub Active na podstawie bieżącego zegara przeglądarki — przydatne, by szybko zauważyć clock-skew albo przestarzałe tokeny stagingowe.

Dlaczego dekodować JWT lokalnie zamiast wklejać je do internetowego debuggera?

Tokeny produkcyjne i stagingowe często zawierają id użytkowników, adresy e-mail, role lub inne dane osobowe w payloadzie — a czasem wkleja się tokeny, które też pojawiają się w nagłówkach Authorization obok sekretów. Debugger po stronie serwera otrzymuje cały ten ciąg. To narzędzie nic nie wysyła: dekodowanie Base64URL, parsowanie JSON i formatowanie znaczników czasu działają w przeglądarce, więc wrażliwe tokeny zostają na Twojej maszynie.

JWT są zakodowane, nie zaszyfrowane — dekoduj je lokalnie

JSON Web Token wygląda nieprzejrzyście, ale nagłówek i payload to tylko JSON zakodowany w Base64URL. Każdy, kto ma ten ciąg, może odczytać claims bez klucza tajnego. Tak to zaprojektowano — sygnatura gwarantuje integralność, nie poufność — i dlatego wklejenie tokena produkcyjnego do przypadkowego internetowego debuggera jest ryzykowne. Id użytkowników, e-maile, role i inne dane osobowe często leżą w payloadzie jak na dłoni.

Ten dekoder nigdy nie wysyła Twojego tokena nigdzie. Dzielenie segmentów, dekodowanie Base64URL (z pełnym wsparciem UTF-8 dla claims spoza alfabetu łacińskiego), ładne drukowanie JSON i humanizacja znaczników czasu działają w przeglądarce. Używaj go do podglądu JWT stagingowych lub produkcyjnych przy debugowaniu auth flow bez wycieku tych tokenów — ani sekretów obok nich w nagłówku Authorization — na serwer trzeciej strony.

Pamiętaj o twardej granicy tego narzędzia: dekoduje, nie weryfikuje. Payload wyglądający na poprawny nadal może być sfałszowany, jeśli pomijasz sprawdzanie sygnatury. Zawsze weryfikuj JWT w backendzie sekretem lub kluczem publicznym wystawcy. Tutaj humanizer exp, iat i nbf po prostu pomaga szybko odczytać stan wygaśnięcia podczas debugowania.

Powiązane narzędzia deweloperskie na tej stronie: uporządkuj zagnieżdżony JSON claims w JSON Formatter & Validator, sprawdź inne payloady Base64 w Base64 Encode/Decode, generuj ID fixture’ów w UUID/GUID Generator albo waliduj wzorce parsowania claims w Regex Tester.