Encoders & Utilities

Base64 Encoder

Koduj i dekoduj tekst lub dane binarne do Base64.

O tym narzędziu

Base64 zamienia dowolne dane binarne na alfabet 64 znaków (A–Z, a–z, 0–9, +, /), który przeżyje każdy transport tylko-tekstowy — treści e-maili, stringi JSON, parametry URL, URI data:. Nasze narzędzie koduje i dekoduje zarówno tekst, jak i binaria w Twojej przeglądarce, z autodetekcją kierunku: wklej cleartext, dostań Base64; wklej Base64, dostań cleartext (lub pobieralny plik, jeśli wynik jest binarny).

Narzędzie obsługuje zarówno standardowy Base64 (RFC 4648 §4), jak i URL-safe Base64 (RFC 4648 §5, gdzie +/ stają się -_) — wariant zależy od kontekstu. JWT, parametry query-string i hashe na bazie SHA zwykle używają URL-safe; MIME e-mail, certyfikaty X.509 i większość przypadków "co jest w schowku" używa standardowego. Opcjonalny padding (=) może być usunięty dla kompaktowych tokenów.

Kiedy używać tego narzędzia

  • Dekodowanie JWT. Rozdziel segmenty oddzielone kropkami, przepuść każdy przez dekoder i odczytaj JSON. (Narzędzie JWT Decoder robi to za Ciebie jednym kliknięciem.)
  • Inspekcja inline URI data:. Wklej część po data:image/png;base64, i pobierz oryginalny PNG.
  • Osadzanie małej binarki w JSON lub pliku konfiguracji. Logo, certyfikaty, klucze podpisujące — wszystkie wędrują jako Base64 w YAML/JSON.
  • Debugowanie załączników e-mail. Część MIME zaczynająca się od Content-Transfer-Encoding: base64 to po prostu binaria opakowane w Base64 — zdekoduj tu, by zinspekować.

Czym Base64 nie jest

Base64 nie jest szyfrowaniem. Kodowanie jest w pełni odwracalne przez każdego — nie ma klucza, nie ma tajemnicy. Jeśli widzisz "Base64-ujemy hasło dla bezpieczeństwa", to bug bezpieczeństwa, nie feature. Ekspansja 4-do-3 (każde 3 bajty stają się 4 znakami) sprawia też, że Base64 jest ~33% większy od oryginału — okej dla małych payloadów, marnotrawne dla wielomegabajtowych plików. Używaj dla kompatybilności transportu, nie dla rozmiaru lub tajności.

Najczęstsze pytania

Dlaczego zakodowany string jest 33% dłuższy od oryginału?

Z założenia. Base64 używa 6 bitów informacji na znak wyjściowy; bajty mają 8 bitów. Więc 3 bajty (24 bity) wejścia produkują 4 znaki (24 bity) wyjścia — stosunek 4:3 = +33%. Znaki paddingu "=" na końcu zaokrąglają wyjście w górę do wielokrotności 4 znaków. Ta ekspansja to cena za to, by móc przejechać przez kanały tylko-tekstowe.

Czym różni się standardowy od URL-safe Base64?

Dwa z 64 znaków różnią się. Standardowy Base64 używa + i /; URL-safe Base64 używa - i _ (bo + i / mają specjalne znaczenie w URL-ach). Padding też się różni — warianty URL-safe często odrzucają końcowe =. JWT i OAuth używają URL-safe; większość innych kontekstów używa standardowego. Nasze narzędzie autodetektuje i oferuje oba.

Czy Base64 to szyfrowanie?

Nie — to kodowanie, nie szyfrowanie. Każdy może odkodować dowolny string Base64 z powrotem na oryginalne bajty w milisekundy bez klucza. Jedynym zadaniem Base64 jest reprezentacja danych binarnych w bezpiecznym tekstowo alfabecie, by mogły przejść przez systemy, które niszczą niedrukowalne znaki. Dla poufności użyj prawdziwego szyfrowania (AES-GCM, age, libsodium), a potem Base64-uj ciphertext, jeśli potrzebujesz tekstowej reprezentacji.

Czy mogę kodować pliki?

Tak — przeciągnij i upuść lub wybierz plik, a kodujemy po stronie klienta. Dla bardzo dużych plików (powyżej ~100 MB) zakodowany wynik jest trzymany w pamięci przeglądarki i może się zacinać; dla dużych binariów narzędzie linii poleceń base64 jest szybsze. Odwrotnie też działa: wklej string Base64 i pobierz jako binaria, które reprezentuje — przydatne do przywracania inline-zakodowanych plików z e-maili lub API.