Dekoder JWT

Dekoduj dowolny JSON Web Token w przeglądarce: nagłówek i payload, exp, iat i nbf jako prawdziwe daty w Twojej strefie czasowej oraz czy token wygasł.

Dekodowanie odbywa się w przeglądarce. Twój token nigdy nie trafia na nasz serwer.

Podsumowanie

Nagłówek (header)


                    

Payload (claimy)


                    

Token i podpis

Odczytaj dowolny JWT, nigdzie go nie wysyłając

Wklej JSON Web Token, a dekoder podzieli go na trzy części: nagłówek (jakim algorytmem go podpisano), payload (claimy: kim jest użytkownik, do czego ma dostęp i kiedy token wygasa) oraz podpis. JSON jest sformatowany, więc odczytasz go jednym spojrzeniem.

Claimy czasowe zamieniają się w prawdziwe daty. exp, iat i nbf są pokazane w Twojej strefie czasowej, w UTC oraz jako „za 20 minut” czy „3 dni temu”, a status od razu mówi, czy token jest jeszcze ważny, wygasł, czy jeszcze nie obowiązuje.

Tokeny często dają dostęp do prawdziwych kont, dlatego wszystko dekoduje się w Twojej przeglądarce. Token nigdy nie jest wysyłany na nasz serwer, logowany ani zapisywany – to bezpieczniejsze niż wklejanie go do chatbota albo na stronę, która wysyła go na serwer.

Jak zdekodować JWT

  1. Skopiuj token z aplikacji, nagłówka Authorization, ciasteczka lub narzędzi deweloperskich przeglądarki.
  2. Wklej go w pole. Prefiks Bearer, cudzysłowy, spacje i złamania wierszy zostaną usunięte automatycznie.
  3. Przeczytaj podsumowanie: status, algorytm, wystawcę, podmiot, odbiorcę oraz dokładny czas wystawienia i wygaśnięcia.
  4. Przyciskami kopiowania przeniesiesz sformatowany JSON nagłówka lub payloadu do zgłoszenia błędu albo notatek.

Co znaczą najczęstsze claimy

  • exp (expiration time): po tej chwili token musi zostać odrzucony.
  • iat (issued at): kiedy token został utworzony.
  • nbf (not before): tokenu nie wolno akceptować przed tą chwilą.
  • iss (issuer): kto wystawił token, często adres URL Twojego serwera logowania.
  • sub (subject): kogo dotyczy token, zwykle ID użytkownika.
  • aud (audience): aplikacja lub API, dla których przeznaczony jest token.
  • alg i kid (w nagłówku): algorytm podpisu, np. HS256 lub RS256, oraz ID klucza, którym go podpisano.

Daty w JWT to wartości NumericDate: liczba sekund od 1 stycznia 1970 UTC. Dekoder przelicza je za Ciebie, więc nie potrzebujesz osobnego konwertera timestampów.

Wskazówki do debugowania

  • Jeśli API odpowiada 401 tuż po zalogowaniu, najpierw sprawdź exp i nbf. Zegar serwera, który spieszy się lub spóźnia o kilka minut, to częsta przyczyna; większość bibliotek pozwala na niewielki margines.
  • Data odległa o dziesiątki tysięcy lat oznacza, że wartość zapisano w milisekundach zamiast w sekundach. Dekoder ostrzega, gdy tak się stanie.
  • Porównaj aud i iss z tym, czego oczekuje Twoje API. Token wystawiony dla innej aplikacji lub innego środowiska (staging zamiast produkcji) to częsta przyczyna błędów „nieprawidłowy token”.
  • Nagłówek z alg ustawionym na none oznacza niepodpisany token. Nigdy nie akceptuj takich tokenów na produkcji.

Ograniczenia i co warto wiedzieć

  • Dekodowanie to nie weryfikacja. Każdy może utworzyć token z dowolnymi claimami; tylko sprawdzenie podpisu właściwym kluczem na Twoim serwerze dowodzi, że jest prawdziwy. To narzędzie nie weryfikuje podpisów.
  • Payload zwykłego JWT jest tylko zakodowany, a nie zaszyfrowany. Każdy, kto ma token, może go odczytać, więc nigdy nie umieszczaj w claimach haseł ani sekretów.
  • Zaszyfrowanych tokenów (JWE, pięć części) nie da się odczytać bez klucza, dlatego pokazywany jest tylko ich nagłówek.
  • Liczby są pokazywane dokładnie tak, jak w tokenie, więc długie numeryczne ID nigdy nie są zaokrąglane.

Najczęstsze pytania

Czy bezpiecznie jest wkleić tu prawdziwy token?

Tak. Dekodowanie odbywa się w JavaScripcie w Twojej przeglądarce, a token nigdy nie trafia na nasz serwer. Mimo to traktuj aktywne tokeny jak hasła: nie udostępniaj ich na zrzutach ekranu ani w czatach i pozwól im wygasnąć.

Czy to narzędzie powie mi, czy token jest ważny?

Pokaże, czy token wygasł lub jeszcze nie obowiązuje, na podstawie jego dat. Nie powie, czy podpis jest prawdziwy, bo do tego potrzebny jest tajny lub publiczny klucz, który powinien mieć tylko Twój serwer.

Dlaczego mój token jest oznaczony jako wygasły, choć właśnie go dostałem?

Sprawdź zegar serwera, który go wystawił, i upewnij się, że exp jest w sekundach, a nie w milisekundach. Jeśli iat też jest o kilka godzin w przeszłości, zegar serwera prawdopodobnie źle chodzi.

Czym różni się dekoder JWT od dekodera Base64?

JWT to trzy części zakodowane w Base64URL i połączone kropkami. Dekoder Base64 odczyta jedną część naraz, a dekoder JWT sam dzieli token, obsługuje alfabet bezpieczny dla URL i brak dopełnienia oraz zamienia daty na czytelny czas.

Czy działa offline?

Tak. Po załadowaniu strony możesz odłączyć internet i dalej dekodować tokeny.

Powiązane narzędzia

  • Dekoder Base64: Odkoduj ciągi Base64 na czytelny tekst w mgnieniu oka. Sprawdzaj nagłówki autoryzacji, tokeny, payloady API i treść e-maili. Darmowy dekoder Base64.
  • Walidator i formater JSON: Waliduj i formatuj JSON online. Znajdź błędy składni i zamień zminifikowany JSON w czytelny kod z wcięciami. Darmowy formater JSON bez rejestracji.
  • Dekoder URL: Odkoduj adresy URL i query stringi zakodowane procentowo na czytelny tekst. Zamień %20, %26 i %C3%A9 na zwykłe znaki w mgnieniu oka. Darmowy dekoder URL.
  • Koder Base64: Zakoduj dowolny tekst lub ciąg znaków do Base64 w mgnieniu oka. Przydatne do data URI, nagłówków HTTP Basic Auth, poczty i API. Darmowy koder Base64.

Udostępnij

Podobne narzędzia

Dekoder Base64

Odkoduj ciągi Base64 na czytelny tekst w mgnieniu oka. Sprawdzaj nagłówki autoryzacji, tokeny, payloady API i treść e-maili. Darmowy dekoder Base64.

Walidator i formater JSON

Waliduj i formatuj JSON online. Znajdź błędy składni i zamień zminifikowany JSON w czytelny kod z wcięciami. Darmowy formater JSON bez rejestracji.

Dekoder URL

Odkoduj adresy URL i query stringi zakodowane procentowo na czytelny tekst. Zamień %20, %26 i %C3%A9 na zwykłe znaki w mgnieniu oka. Darmowy dekoder URL.

Popularne darmowe narzędzia