Kalkulator Base64
Kalkulator Base64
Kodowanie i dekodowanie tekstu, obrazów i plików
Tekst zapisujemy w UTF-8, więc polskie litery zakodują się poprawnie.
Base64
Możesz wkleić też wariant Base64URL albo cały Data URI, np. data:image/png;base64,…
Wynik
Obraz, PDF, czcionka lub dowolny plik do 10 MB. Plik nie opuszcza Twojej przeglądarki.
Base64
Wpisz tekst, a kalkulator od razu zapisze go w Base64. W trybie dekodowania wklej ciąg Base64, a zobaczysz tekst albo, jeśli w środku jest obraz czy PDF, podgląd i przycisk pobierania. Trzeci tryb zamienia dowolny plik na Base64, gotowy do wklejenia jako Data URI w HTML lub CSS.
Kalkulator obsługuje polskie znaki, wariant Base64URL i ciągi bez końcowych znaków =. Wszystko dzieje się w Twojej przeglądarce, więc wklejone dane nigdzie nie trafiają.
Jak działa Base64
Base64 zapisuje dowolne dane, także obrazy i inne pliki, za pomocą 64 bezpiecznych znaków: wielkich liter A–Z, małych a–z, cyfr 0–9 oraz znaków + i /. Dzięki temu dane przejdą przez systemy, które przyjmują tylko zwykły tekst, takie jak poczta e-mail czy format JSON.
Kodowanie bierze po 3 bajty, czyli 24 bity, i dzieli je na 4 grupy po 6 bitów. Każda grupa to liczba od 0 do 63, a każdej liczbie odpowiada jeden znak: 0–25 to A–Z, 26–51 to a–z, 52–61 to cyfry, 62 to +, a 63 to /. Tak wygląda to dla słowa „Man”:
| Krok | M | a | n |
|---|---|---|---|
| Bajty (ASCII) | 77 | 97 | 110 |
| Bity | 01001101 | 01100001 | 01101110 |
24 bity dzielisz na 4 grupy: 010011, 010110, 000101 i 101110. Dziesiętnie to 19, 22, 5 i 46, czyli znaki T, W, F i u. Wynik: TWFu.
Zakoduj w kalkulatorze: słowo Man
Znaki = na końcu
Gdy liczba bajtów nie dzieli się przez 3, ostatnia grupa jest niepełna. Brakujące bity uzupełniają zera, a brakujące znaki zastępuje =. Dwa bajty „Ma” dają TWE=, a jeden bajt „M” daje TQ==. Dlatego na końcu Base64 są zero, jeden albo dwa znaki =, nigdy więcej.
Ile Base64 zwiększa rozmiar
długość Base64 = 4 × ⌈bajty / 3⌉
⌈ ⌉ oznacza zaokrąglenie w górę do liczby całkowitej.
Każde 3 bajty zamieniają się w 4 znaki, więc dane rosną o jedną trzecią. Obrazek o rozmiarze 30 KB po zakodowaniu ma około 40 KB. Polskie litery zajmują w UTF-8 po 2 bajty, dlatego tekst z ogonkami daje dłuższy ciąg Base64 niż ten sam tekst bez nich.
Base64 i Base64URL
Znaki + i / mają specjalne znaczenie w adresach internetowych, a = w parametrach zapytania. Wariant Base64URL zastępuje + znakiem -, a / znakiem _, i zwykle pomija końcowe znaki =. Używają go tokeny JWT i wiele interfejsów API. Kalkulator zakoduje tekst w tym wariancie po zaznaczeniu opcji, a przy dekodowaniu rozpozna go sam.
Gdzie spotkasz Base64
- Załączniki e-mail
- Standard MIME koduje w Base64 pliki dołączone do wiadomości, bo poczta przesyła tylko tekst.
- Data URI
- Mały obrazek wpisany wprost w HTML lub CSS, np.
data:image/png;base64,…. Przeglądarka nie musi pobierać osobnego pliku. - Logowanie HTTP Basic
-
Login i hasło w postaci
Odkoduj przykład: nagłówek logowania dXNlcjpoYXNsbzEyMw==login:hasłotrafiają do nagłówka zakodowane w Base64. Odczytanie ich zajmuje chwilę, dlatego takie logowanie wymaga HTTPS. - Tokeny JWT
- Trzy części tokenu oddzielone kropkami to Base64URL. Dwie pierwsze po zdekodowaniu dają czytelny JSON z danymi tokenu.
- Certyfikaty i klucze
- Pliki PEM, np. certyfikaty SSL, zawierają Base64 między liniami BEGIN i END.
- JSON i API
- Interfejsy API przesyłają w Base64 pliki zagnieżdżone w danych JSON, np. podpisany dokument albo zdjęcie.
Kiedy obraz jako Data URI ma sens
Data URI oszczędza jedno zapytanie do serwera, ale obraz staje się o jedną trzecią większy i przeglądarka nie zapisze go w pamięci podręcznej osobno od strony. Dlatego nadaje się do drobnych ikon i grafik użytych raz, a zdjęcia i grafiki powtarzane na wielu podstronach lepiej trzymać w osobnych plikach.
Najczęściej zadawane pytania
Czy Base64 to szyfrowanie?
Nie. Base64 to sposób zapisu danych, a nie zabezpieczenie. Każdy, kto ma zakodowany tekst, odczyta go w sekundę bez żadnego klucza. Hasła i dane osobowe chroni szyfrowanie, na przykład AES, oraz połączenie HTTPS.
O ile Base64 zwiększa rozmiar danych?
O jedną trzecią, czyli o około 33%. Każde 3 bajty zamieniają się w 4 znaki, więc plik o rozmiarze 300 KB po zakodowaniu zajmuje 400 KB. W wiadomościach e-mail dochodzą jeszcze znaki nowej linii co 76 znaków.
Dlaczego na końcu Base64 są znaki =?
Base64 koduje dane w grupach po 3 bajty. Gdy w ostatniej grupie brakuje jednego bajtu, na końcu pojawia się jeden znak =, a gdy brakuje dwóch, dwa znaki ==. Słowo „Ma” daje TWE=, a „M” daje TQ==.
Czym różni się Base64 od Base64URL?
Base64URL zastępuje znaki + i / znakami - i _, które nie mają specjalnego znaczenia w adresach internetowych, i zwykle pomija końcowe znaki =. Tego wariantu używają między innymi tokeny JWT. Kalkulator koduje w obu wariantach i oba rozpoznaje przy dekodowaniu.
Dlaczego zdekodowany tekst wygląda jak przypadkowe znaki?
Zakodowane dane nie zawsze są tekstem. Mogą to być obraz, PDF albo archiwum. Kalkulator rozpoznaje takie pliki po pierwszych bajtach, pokazuje podgląd obrazu i pozwala pobrać plik. Drugi powód to tekst zapisany w innym kodowaniu niż UTF-8, na przykład w starym Windows-1250.
Czy pliki wybrane w kalkulatorze trafiają na serwer?
Nie. Kodowanie i dekodowanie odbywa się w Twojej przeglądarce. Tekst ani pliki nie są nigdzie wysyłane, więc możesz bezpiecznie sprawdzić na przykład token czy fragment konfiguracji.
Podsumowanie
Base64 zapisuje dowolne dane jako zwykły tekst kosztem wzrostu rozmiaru o jedną trzecią. Nie chroni danych, tylko pozwala przesłać je tam, gdzie mieści się sam tekst. Rozmiar pliku przed i po zakodowaniu przeliczysz w kalkulatorze rozmiaru plików.