Przejdź do treści
helpyself

Koder i dekoder Base64

Local only — nothing is uploaded unless you save or share it.

Natychmiastowe kodowanie i dekodowanie Base64, z pełną obsługą Unicode.

  1. Wklej swój tekst lub ciąg Base64 do pola
  2. Wybierz Zakoduj albo Odkoduj
  3. Skopiuj wynik
Zapisz to narzędzie

Miej Koder i dekoder Base64 pod ręką

Dodaj do zakładek

O tym narzędziu

Base64 przedstawia dane binarne za pomocą tylko 64 znaków drukowalnych i to właśnie pozwala przepchnąć dowolne bajty przez kanały, które oczekują tekstu: załączniki poczty, ładunki JSON, data URL, nagłówki HTTP i tokeny JWT. To narzędzie konwertuje w obie strony i poprawnie obsługuje Unicode, co ma większe znaczenie, niż się wydaje. Wbudowane funkcje Base64 przeglądarki rozumieją wyłącznie Latin-1, więc narzędzia wywołujące je wprost psują polskie znaki, emoji i wszystko, co pisane jest pismem chińskim, japońskim czy koreańskim. To najpierw koduje do UTF-8, dzięki czemu tekst w dowolnym języku przechodzi tam i z powrotem nienaruszony. Jest też tryb bezpieczny dla adresów URL, który zamienia plus i ukośnik na myślnik i podkreślenie oraz pomija wypełnienie — tego wariantu używa się w JSON Web Tokens i w parametrach zapytań. Przy dekodowaniu oba warianty rozpoznawane są automatycznie. Wszystko działa lokalnie, więc wklejone tu tokeny i dane nigdy nigdzie nie trafiają.

Najczęstsze pytania

Czy Base64 szyfruje moje dane?

Nie, i jest to powszechne oraz niebezpieczne nieporozumienie. Base64 to kodowanie, nie szyfrowanie. Każdy odkoduje je natychmiast, bez żadnego klucza. Nigdy nie używaj go do ochrony haseł, tokenów ani danych osobowych, ani w transmisji, ani w zapisie.

Dlaczego inne narzędzia Base64 psują moje emoji albo polskie znaki?

Ponieważ wywołują wprost przeglądarkową funkcję btoa(), która obsługuje wyłącznie znaki Latin-1. Wszystko spoza tego zakresu kończy się błędem albo cichym uszkodzeniem. To narzędzie najpierw zamienia tekst na bajty UTF-8, więc każdy język koduje się i dekoduje poprawnie.

Czym jest Base64 bezpieczne dla URL?

Wariantem opisanym w RFC 4648, który zastępuje plus i ukośnik myślnikiem i podkreśleniem, a zwykle pomija końcowe znaki równości. Istnieje dlatego, że plus i ukośnik mają w adresie URL własne znaczenie. Właśnie tego wariantu używają segmenty tokenów JWT.

Dlaczego zakodowany wynik jest o mniej więcej jedną trzecią dłuższy od wejścia?

Base64 przedstawia każde trzy bajty jako cztery znaki, więc wynik ma około 133 % rozmiaru wejścia, plus wypełnienie. Ten narzut to cena za to, że dane binarne można bezpiecznie przesłać kanałem przyjmującym wyłącznie tekst.

Czy mogę tutaj odkodować token JWT?

Możesz odkodować jego poszczególne segmenty, bo są zapisane w Base64 bezpiecznym dla URL, a to narzędzie rozpoznaje ten wariant automatycznie. Do odczytania całego tokena naraz, wraz z nagłówkiem i datą ważności, lepiej użyć osobnego dekodera JWT.

Pomóż ulepszyć to narzędzie

Znalazłeś błąd, chcesz zmiany albo brakuje Ci jakiegoś narzędzia?

/base64

↑↓ nawigacja · Enter otwiera · Esc zamyka