Czym jest to narzędzie?
Base64 to schemat kodowania, który przekształca dane binarne lub tekstowe w zestaw 64 bezpiecznych znaków ASCII (A–Z, a–z, 0–9, + i /). Jest on powszechnie stosowany w oprogramowaniu: do osadzania obrazów w kodzie HTML/CSS, w nagłówkach uwierzytelniania HTTP Basic, w załącznikach do wiadomości e-mail (MIME), w tokenach JSON Web Tokens oraz w danych przesyłanych przez interfejsy API, które muszą przetrwać przesyłanie przez kanały obsługujące wyłącznie tekst.
Ważne: Base64 to kodowanie, a nie szyfrowanie. Każdy może je odkodować. Jego celem jest zapewnienie bezpieczeństwa danych podczas przesyłania przez systemy, które rozumieją wyłącznie tekst — a nie zachowanie ich w tajemnicy.
Dlaczego warto go używać?
- Odkoduj tokeny API, segmenty JWT i nagłówki uwierzytelniające, aby sprawdzić, co zawierają.
- Koduj tekst na potrzeby adresów URI danych, plików konfiguracyjnych lub nagłówków HTTP.
- Zgodność z UTF-8: emoji i znaki spoza alfabetu łacińskiego są poprawnie kodowane i dekodowane.
- W 100% prywatne — konwersja odbywa się w przeglądarce, nic nie jest przesyłane.
- Bezpłatnie, bez konieczności logowania, bez ograniczeń rozmiaru.
Jak używać
- Wpisz lub wklej treść w polu wprowadzania danych.
- Kliknij „Koduj”, aby przekonwertować tekst na Base64, lub „Dekoduj”, aby przekonwertować Base64 z powrotem na tekst.
- Jeśli dekodowanie nie powiedzie się, oznacza to, że dane wejściowe nie są poprawnym kodowaniem Base64 — sprawdź, czy nie brakuje znaków lub czy nie ma zbędnych spacji.
- Kliknij „Kopiuj”, aby skopiować wynik.
Przykład
Wejście
Hello, CodeKitHub! 你好 👋Wynik
SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GLZwróć uwagę, jak chińskie znaki i emoji zachowują się podczas przesyłania tam i z powrotem — to właśnie ta część, która jest zgodna ze standardem UTF-8.
Praktyczne wskazówki
- Tokeny JWT składają się z trzech segmentów zakodowanych w Base64, połączonych kropkami — aby je odczytać, należy osobno zdekodować pierwsze dwa (nagłówek i ładunek); trzeci segment to podpis binarny i będzie wyglądał jak szum.
- Jeśli dekodowanie segmentu JWT nie powiedzie się, oznacza to, że jest to kodowanie base64url: najpierw należy zastąpić znak - znakiem +, a znak _ znakiem / (standardowe narzędzia oczekują alfabetu +/).
- Spacje i znaki końca linii w ciągu znaków Base64 to zazwyczaj nieszkodliwe pozostałości po wiadomościach e-mail lub logach, ale brak końcowego znaku wyrównania „=” często już taki nie jest — przed uznaniem danych za uszkodzone sprawdź ich długość.
- Kodowanie Base64 powoduje wzrost rozmiaru danych o około 33%. W przypadku niewielkich danych jest to dopuszczalne; jednak w przypadku obrazów większych niż kilka KB prawdziwy plik jest prawie zawsze lepszym wyborem niż URI danych.
Rzeczywiste scenariusze zastosowań
Trzy sytuacje, z którymi ludzie mają do czynienia na co dzień: odczytywanie zawartości nagłówka „Authorization” lub tokenu JWT, dekodowanie pola ładunku webhooka lub API przesłanego w formacie Base64 (często jest to JSON — po dekodowaniu należy nadać mu odpowiedni format) oraz ręczne generowanie adresu URI danych lub ciągu znaków uwierzytelniania Basic-Auth podczas debugowania.
W przypadku danych binarnych (obrazów, plików) należy pamiętać, że po dekodowaniu jako tekst otrzymamy „mojibake” — dane mogą być całkowicie poprawne, po prostu nie są tekstem. Kodowanie i dekodowanie danych binarnych należy przeprowadzać w kodzie; to narzędzie jest zoptymalizowane pod kątem tekstu.
Jak zdiagnozować błąd dekodowania
Błędy dekodowania Base64 prawie zawsze wynikają z jednej z trzech przyczyn, w kolejności według częstotliwości występowania: dane wejściowe były w rzeczywistości w formacie base64url (używającym znaków - i _ zamiast standardowych + i /, co jest powszechne w tokenach JWT i kontekstach bezpiecznych dla adresów URL) i wymagają przywrócenia tych znaków do standardowej postaci, zanim standardowe dekodowanie będzie mogło je zaakceptować; ciąg znaków został gdzieś po drodze obcięty (kopiowanie i wklejanie, przy którym pominięto kilka ostatnich znaków, lub wiersz dziennika, który został ucięty), co można wykryć, ponieważ długość prawidłowego ciągu Base64 jest zawsze wielokrotnością 4 po uwzględnieniu wypełnienia; lub podczas kopiowania pojawiły się zbędne znaki (dodatkowe spacje, zbędny znak nowej linii, przypadkowo zduplikowany znak), dlatego zawsze bezpieczniej jest wklejać bezpośrednio z surowego źródła, zamiast przepisywać tekst ręcznie.
Najczęściej zadawane pytania
Czy Base64 to szyfrowanie?
Nie. Base64 to kodowanie odwracalne, które każdy może zdekodować — nie zapewnia ono żadnego bezpieczeństwa. Jeśli chcesz zabezpieczyć dane, użyj prawdziwego szyfrowania (np. AES); Base64 służy wyłącznie do zapewnienia bezpieczeństwa danych podczas przesyłania ich w postaci tekstowej.
Dlaczego moje zdekodowane dane wyjściowe wyglądają jak bezsensowny ciąg znaków?
Albo dane wejściowe nie są w rzeczywistości zakodowane w Base64, albo zostały skrócone, albo też oryginalne dane miały postać binarną (np. obraz), a nie tekstową. Dane binarne nie wyświetlają się jako czytelne znaki.
Co oznaczają znaki „=” na końcu?
Wypełnienie. Kodowanie Base64 działa w blokach po 3 bajty danych wejściowych → 4 znaki wyjściowe. Gdy długość danych wejściowych nie jest podzielna przez 3, ostatni blok jest wypełniany jednym lub dwoma znakami =.
Czy to narzędzie obsługuje emoji i chińskie znaki?
Tak. Najpierw koduje tekst jako bajty w formacie UTF-8, co jest standardowym podejściem. Proste narzędzia, które bezpośrednio korzystają z funkcji btoa(), nie radzą sobie z żadnym znakiem spoza zestawu Latin-1 — to narzędzie natomiast sobie z tym radzi.
Czy moje dane są gdzieś przesyłane?
Nie. Kodowanie i dekodowanie odbywa się w całości w przeglądarce za pomocą JavaScript. Twoje dane nigdy nie opuszczają Twojego urządzenia.