Pamiętaj: Wyniki kalkulatorów mają charakter informacyjny i zależą od podanych danych oraz przyjętych założeń. W sprawach finansowych, podatkowych, prawnych lub zdrowotnych zweryfikuj wynik w aktualnym źródle lub u odpowiedniego specjalisty. Pamiętaj: Wyniki kalkulatorów mają charakter informacyjny i zależą od podanych danych oraz przyjętych założeń. W sprawach finansowych, podatkowych, prawnych lub zdrowotnych zweryfikuj wynik w aktualnym źródle lub u odpowiedniego specjalisty.
Przejdź do treści

Base64 decode / encode online - dekoder i koder Base64

Zakoduj tekst UTF-8 do Base64 albo zdekoduj Base64 do tekstu. Narzędzie obsługuje Base64URL, padding, walidację kanoniczną i podgląd bajtów HEX.

Base64 encode / decode

Base64URL jest częsty w JWT i adresach URL; zależnie od protokołu może występować z paddingiem lub bez.
Obliczenia wykonują się lokalnie w przeglądarce. Kalkulator nie potrzebuje wysyłać wklejonego tekstu na serwer.
Ustawienia zaawansowane: padding, walidacja i HEX
RFC 4648 nie wymaga łamania linii, chyba że robi to specyfikacja używanego formatu.
Domyślnie Base64URL jest generowany bez paddingu, jak w JWS/JWT. Włącz tę opcję, jeśli wymaga go używany protokół.
W trybie ścisłym automatyczna naprawa jest wyłączona. Dzięki temu walidacja nie ukrywa błędów wejścia.

Wynik

Walidacja —
Wklej tekst albo Base64.
Wejście
0
Wyjście / bajty
0
Typ wyniku
—
Rozmiar
—
Base64 decode / encode – wynik

Zostań w temacie i sprawdź dane dalej

Base64 często jest tylko pierwszą warstwą danych. Po dekodowaniu możesz dostać JSON, fragment JWT albo konfigurację, dlatego kolejne narzędzie dobierz do formatu wyniku.

Base64 decode online - jak zdekodować Base64 na tekst?

Wybierz tryb Decode - Base64 do tekstu, wklej zakodowany ciąg i odczytaj wynik. Kalkulator usuwa białe znaki, jeśli pozostawisz tę opcję włączoną, a w trybie luźnym może uzupełnić brakujący padding oraz rozpoznać pomylony alfabet standardowego Base64 i Base64URL. Jeśli chcesz wyłącznie sprawdzić poprawność danych, włącz tryb ścisły. Wtedy narzędzie nie naprawia wejścia, tylko wymaga poprawnego, kanonicznego zapisu.

Po dekodowaniu bajty są interpretowane jako UTF-8. Jeśli tworzą poprawny tekst, zobaczysz go w polu wynikowym. Jeśli bajty nie są poprawnym UTF-8, kalkulator nie udaje czytelnego tekstu i oznacza wynik jako dane binarne / inny charset. W takim przypadku włącz podgląd HEX. Jest to bezpieczniejsze niż wyświetlanie przypadkowych znaków zastępczych, które mogłyby sugerować, że dane zostały poprawnie odczytane.

To ważne przy danych z API, plikach, kluczach binarnych i fragmentach obrazów. Poprawne Base64 mówi tylko, że ciąg da się zamienić na bajty. Nie mówi jeszcze, czy bajty są tekstem, JSON-em, obrazem, archiwum albo innym formatem.

Base64 encode online - jak zakodować tekst UTF-8?

W trybie Encode - tekst do Base64 wpisany tekst jest najpierw zamieniany na bajty UTF-8, a następnie kodowany do Base64. Dzięki temu polskie znaki, znaki diakrytyczne i emoji są obsługiwane jako prawidłowy UTF-8, a nie jako pojedyncze bajty zależne od lokalnego kodowania przeglądarki.

Przykładowo tekst KalkulatorXXL daje S2Fsa3VsYXRvclhYTA==. Po przełączeniu na Decode ten sam ciąg wraca do tekstu KalkulatorXXL. Przycisk „Użyj wyniku do dekodowania” pozwala wykonać ten test bez ręcznego kopiowania.

Standard Base64 wykorzystuje litery A-Z i a-z, cyfry 0-9 oraz znaki + i /. Znak = może pojawić się na końcu jako padding. Base64 jest reprezentacją tekstową danych bajtowych - nie jest szyfrowaniem i nie zapewnia poufności.

Base64 a Base64URL - jaka jest różnica?

RFC 4648 definiuje zarówno klasyczny Base64, jak i alfabet bezpieczny dla adresów URL i nazw plików. W Base64URL znaki + i / są zastępowane przez - oraz _. To usuwa znaki, które w adresach URL mają inne znaczenie albo wymagają dodatkowego kodowania.

Base64

Znaki specjalne: + i /

Padding: zwykle = według reguł formatu

Typowe zastosowanie: ogólna reprezentacja bajtów, MIME, dane tekstowe.

Base64URL

Znaki specjalne: - i _

Padding: może występować; wiele protokołów, np. JWS/JWT, go pomija

Typowe zastosowanie: tokeny, URL-e i identyfikatory.

Dlatego nie należy przyjmować, że każdy Base64URL zawsze musi być bez =. Zależy to od specyfikacji, która używa tego kodowania. Kalkulator potrafi dekodować poprawny wariant z paddingiem i bez niego, a w trybie ścisłym sprawdza jego kanoniczną postać.

Padding Base64 - po co są znaki = i kiedy ich brakuje?

Base64 przetwarza dane w grupach po 24 bity, a wynik zapisuje symbolami reprezentującymi po 6 bitów. Trzy bajty wejścia dają więc cztery znaki Base64. Gdy końcowa grupa ma tylko jeden albo dwa bajty, standardowy zapis używa jednego lub dwóch znaków = jako dopełnienia.

3 bajty
pełna grupa → 4 znaki, bez paddingu.
2 bajty
3 znaki danych + zwykle =.
1 bajt
2 znaki danych + zwykle ==.

Tryb automatycznej naprawy jest wygodny przy kopiowaniu niepełnego zapisu z URL-a albo tokenu. Do walidacji systemowej lepszy jest tryb ścisły, bo nie poprawia danych po cichu i wykrywa również niekanoniczne bity dopełnienia.

Ciekawostka

Dla większych danych Base64 zwiększa rozmiar reprezentacji mniej więcej o jedną trzecią: każde 3 bajty stają się 4 znakami ASCII. Dla bardzo krótkich danych procent może być większy, bo znaczenie ma padding. Kalkulator pokazuje zmianę rozmiaru dla aktualnego wejścia.

UTF-8, polskie znaki i emoji w Base64

Base64 nie zna pojęcia litery „ą”, emoji ani alfabetu. Koduje wyłącznie bajty. To kodowanie znaków - najczęściej UTF-8 - decyduje, jakie bajty odpowiadają konkretnemu tekstowi. Ten kalkulator przy kodowaniu tekstu używa UTF-8. Przy dekodowaniu sprawdza, czy otrzymane bajty tworzą poprawny ciąg UTF-8.

To wyjaśnia sytuację, w której dwa programy dają różny Base64 dla pozornie tego samego tekstu: jeśli jeden program używa UTF-8, a drugi starszego kodowania jednobajtowego, wejściowe bajty są inne, więc wynik Base64 również będzie inny. Przy integracjach API najlepiej sprawdzić dokumentację i ustalić kodowanie przed zakodowaniem danych.

Jeżeli zdekodowane bajty są binarne, HEX pozwala sprawdzić pierwsze 256 bajtów bez prób interpretowania ich jako tekstu. Do dalszej analizy plików należy użyć narzędzia przeznaczonego dla danego formatu.

Walidator Base64 - tryb luźny i tryb ścisły

W codziennym kopiowaniu danych często liczy się wygoda. Ciąg może mieć nowe linie, spacje albo usunięty padding. Tryb luźny może takie dane oczyścić i naprawić przed dekodowaniem. Jest dobry do debugowania i ręcznej pracy.

Tryb ścisły służy do innego celu. Sprawdza alfabet wybranego wariantu, położenie paddingu, dopuszczalną długość oraz kanoniczność zapisu. Po dekodowaniu bajtów koduje je ponownie i porównuje z wejściem. Dzięki temu wykrywa przypadki, które nie są poprawną kanoniczną reprezentacją tych samych bajtów.

Jeżeli budujesz test integracji, walidator lub backend, tryb ścisły jest lepszym odpowiednikiem rzeczywistej walidacji. Jeśli tylko próbujesz odczytać ciąg skopiowany z logu, zacznij od trybu luźnego i dopiero później sprawdź format źródłowy.

Gdzie spotkasz Base64: API, JWT, Basic Auth i data URI

API

Kodowane: tekst lub dane binarne.

Uwaga: sprawdź w dokumentacji wariant i charset.

JWT / JWS

Kodowane: header i payload jako Base64URL.

Uwaga: odczyt payloadu nie weryfikuje podpisu.

HTTP Basic Auth

Kodowane: login:hasło.

Uwaga: Base64 nie szyfruje; poufność wymaga HTTPS.

Data URI

Kodowane: bajty obrazu, fontu lub innego zasobu.

Uwaga: Base64 zwiększa rozmiar tekstowej reprezentacji.

Konfiguracje

Kodowane: wartości wymagające tekstowej reprezentacji.

Uwaga: Base64 nie jest magazynem sekretów.

Jeśli zdekodowany ciąg przypomina JWT, użyj dedykowanego dekodera JWT. Jeśli otrzymasz JSON, sprawdź go w walidatorze JSON. Base64 odpowiada tylko za warstwę reprezentacji bajtów.

Dla uczniów technikum informatycznego - Base64 krok po kroku

Base64 jest dobrym przykładem połączenia systemu binarnego z praktyką programistyczną. W zadaniu szkolnym warto zapamiętać kolejność: tekst → bajty → grupy bitów → symbole Base64. Jeden bajt ma 8 bitów. Trzy bajty mają 24 bity. Base64 dzieli 24 bity na cztery grupy po 6 bitów, a każdej wartości od 0 do 63 przypisuje znak z alfabetu.

Ćwiczenie 1

Zakoduj w kalkulatorze tekst foo. To dokładnie 3 bajty ASCII/UTF-8, więc otrzymasz 4 znaki Base64 bez paddingu. Następnie zdekoduj wynik i sprawdź, czy wraca foo.

Ćwiczenie 2

Porównaj f, fo i foo. Zobacz, kiedy pojawia się ==, kiedy jedno =, a kiedy padding nie jest potrzebny. To pokazuje zależność od liczby bajtów modulo 3.

Ważny wniosek: Base64 nie kompresuje i nie szyfruje. Jest kodowaniem binarno-tekstowym, które ułatwia przenoszenie bajtów przez systemy oczekujące tekstu.

Base64 nie jest szyfrowaniem ani zabezpieczeniem

Ciąg Base64 może wyglądać jak zaszyfrowana wiadomość, ale do jego odczytania nie potrzeba hasła ani klucza. Każdy może wykonać operację Decode. Dlatego Base64 nie powinien być używany jako sposób ukrywania haseł, kluczy API, danych klientów czy sekretów aplikacji.

Podobna ostrożność dotyczy JWT. Header i payload tokenu zwykle dają się odczytać bez sekretu, ponieważ są kodowane Base64URL. Bezpieczeństwo podpisanego JWT wynika z weryfikacji podpisu i reguł protokołu, a nie z nieczytelnego wyglądu payloadu.

Przy Basic Auth dane logowania są reprezentowane w Base64, dlatego połączenie musi być chronione przez HTTPS. Samo zakodowanie loginu i hasła nie zapewnia poufności.

Wskazówka od KalkulatorXXL

Jeśli dekodujesz dane z produkcji, najpierw ustal ich źródło i oczekiwany format. Dla JWT przejdź do walidatora JWT, dla JSON do walidatora JSON, a dla danych binarnych nie traktuj przypadkowych znaków jako tekstu. Tryb ścisły włącz wtedy, gdy chcesz ocenić poprawność wejścia, a nie tylko „wydobyć coś” z niepełnego ciągu.

FAQ - Base64 decode, encode i walidacja

Wybierz tryb Decode, wklej ciąg Base64 i odczytaj wynik. Kalkulator dekoduje bajty i sprawdza, czy tworzą poprawny tekst UTF-8. Jeśli dane są binarne albo używają innego kodowania znaków, skorzystaj z podglądu HEX.

Wybierz tryb Encode i wklej tekst. Kalkulator zamieni tekst na bajty UTF-8, a następnie zakoduje je do standardowego Base64 albo Base64URL.

Nie. Base64 jest kodowaniem binarno-tekstowym. Do odczytania danych nie potrzeba hasła ani klucza, więc Base64 nie zapewnia poufności.

Standard Base64 używa znaków + i /, a Base64URL zastępuje je przez - i _. Padding = może zależeć od specyfikacji korzystającej z Base64URL; na przykład JWS i JWT zwykle używają wariantu bez końcowych znaków =.

Base64 koduje dane w grupach po 3 bajty. Gdy ostatnia grupa jest krótsza, standardowy zapis może użyć jednego lub dwóch znaków = jako dopełnienia do pełnej grupy 4 znaków.

W trybie luźnym kalkulator może uzupełnić brakujący padding, jeśli długość ciągu na to pozwala. W trybie ścisłym wejście nie jest naprawiane, ponieważ celem jest wykrycie błędu.

Tryb ścisły sprawdza alfabet, położenie paddingu, dopuszczalną długość oraz kanoniczność zapisu. Po dekodowaniu bajtów narzędzie koduje je ponownie i porównuje z wejściem.

Może być poprawny. RFC 4648 dopuszcza pomijanie paddingu, gdy specyfikacja używająca Base64 tak stanowi. Wiele formatów tokenów, w tym JWS/JWT, stosuje Base64URL bez końcowych znaków =.

Base64 koduje bajty, a nie wyłącznie tekst. Po dekodowaniu możesz otrzymać obraz, plik, skompresowane dane albo tekst w innym kodowaniu niż UTF-8. Kalkulator oznaczy taki wynik i pozwoli obejrzeć bajty HEX.

Tak, jeśli tekst najpierw zostanie zapisany w określonym kodowaniu znaków. Ten kalkulator podczas kodowania używa UTF-8, dlatego obsługuje polskie litery i emoji.

Każde 3 bajty danych są zapisywane jako 4 znaki Base64, więc dla większych danych narzut rozmiaru wynosi około jednej trzeciej. Dla bardzo krótkich danych wpływ paddingu może zwiększyć procent jeszcze bardziej.

Nie. Header i payload JWT są zwykle zakodowane Base64URL, ale odczyt treści nie weryfikuje podpisu ani ważności tokenu. Do JWT użyj dedykowanego dekodera i walidatora.

Nie. Login i hasło są tylko zakodowane do Base64. Poufność transmisji zapewnia HTTPS, a nie Base64.

Tak. W trybie luźnym możesz pozostawić włączone usuwanie białych znaków. W trybie ścisłym wynik walidacji zależy od tego, czy przed sprawdzeniem zezwolisz narzędziu usunąć takie znaki.

Obliczenia tego kalkulatora są wykonywane w JavaScript w przeglądarce. Do samego kodowania i dekodowania Base64 nie jest potrzebne przesyłanie wklejonego tekstu na serwer.

Źródła: RFC 4648 – Base-N Encodings; WHATWG Encoding – UTF-8; dokumentacja standardów JWS/JWT dla Base64URL.

Ostatnia aktualizacja: 25.09.2026