Kodowanie

Base64

Kodowanie i dekodowanie Base64 — tekst i pliki, bezpośrednio w przeglądarce.

Base64 is a binary-to-text encoding that represents arbitrary bytes using 64 printable ASCII characters (A–Z, a–z, 0–9, plus + and /). It exists so binary data — images, archives, cryptographic keys — can pass unchanged through channels that were designed for text only.

This tool encodes and decodes both plain text and files. Everything runs client-side in your browser: the input never leaves your machine, which makes it safe for tokens, private keys, and other sensitive data.

How to use it

Common uses

Things to keep in mind

Base64 is not encryption — anyone can decode it. It only changes the representation of data, not its confidentiality.

Encoded output is about 33% larger than the input because every 3 bytes become 4 characters.

For URLs and file names use Base64URL, which swaps + and / for - and _ and often drops the = padding.

Artykuł o tym narzędziu: Base64: po co jest kodowanie i jak działa

Najczęstsze pytania

Czym jest Base64 i do czego się go używa?

Base64 to sposób zapisu danych binarnych za pomocą 64 znaków ASCII (liter, cyfr, + i /). Używa się go tam, gdzie trzeba przesłać binaria w kanale przystosowanym do tekstu, np. w JSON-ie, e-mailach czy atrybutach HTML.

Czy moje dane są wysyłane na serwer?

Nie. Kodowanie i dekodowanie odbywa się w całości w przeglądarce, więc ani tekst, ani plik nigdy nie opuszczają Twojego urządzenia.

Dlaczego zakodowany wynik jest większy niż oryginał?

Base64 koduje każde 3 bajty danych jako 4 znaki tekstu, więc wynik jest z grubsza o 33% większy od oryginalnego pliku czy tekstu.

Czym standardowy Base64 różni się od Base64URL?

W Base64URL znaki + oraz / zastąpiono odpowiednio - i _, dzięki czemu ciąg można bezpiecznie wstawić do adresu URL lub nazwy pliku bez dodatkowego percent-encoding. Właśnie tego wariantu używa JWT.

Co oznacza znak = na końcu ciągu?

To znak wypełniający (padding), który pokazuje, ile bajtów brakuje w ostatnim 3-bajtowym bloku. Nie zawsze jest obowiązkowy — niektóre systemy celowo go pomijają.

Artykuły: Kodowanie

Base32: czym różni się od Base64 i kiedy jest wygodniejszy

Alfabet Base32 niewrażliwy na wielkość liter i sytuacje, w których jest wygodniejszy od Base64.

URL Encode/Decode: percent-encoding w linkach

Jak znaki specjalne w adresach i parametrach zamieniają się w sekwencje %XX.

HTML Entities: jak bezpiecznie wyświetlać znaki specjalne

Dlaczego znaki < > & trzeba escapować i jak to zapobiega uszkodzeniu znaczników.

JWT: budowa tokenu i co znaczy „dekodowanie" JWT

Header, payload i signature tokenu JWT oraz dlaczego dekodowanie to nie to samo co weryfikacja podpisu.

Unicode Escape: co oznaczają sekwencje \uXXXX

Skąd biorą się sekwencje takie jak \u0041 w JSON i ciągach JS oraz co oznaczają.

ROT13 i szyfr Cezara: proste podstawianie znaków

Dlaczego przesunięcie o 13 liter sprawia, że ROT13 jest samoodwrotny, i po co się go dziś używa.

Punycode: jak umiędzynarodowione domeny działają w DNS

Jak domena z niełacińskimi znakami zamienia się w formę ASCII z prefiksem xn--.

Alfabet Morse'a: jak tekst zamienia się w kropki i kreski

Zasada kodowania liter jako kropek i kresek oraz gdzie alfabet Morse'a jest dziś stosowany.

Data URI: kiedy osadzać obrazy bezpośrednio w kodzie

Jak Data URI osadza zawartość pliku bezpośrednio w HTML lub CSS i kiedy się to opłaca.

Gzip + Base64: kompresja danych do przesyłania jako tekst

Dlaczego skompresowane dane binarne dodatkowo koduje się w Base64, zanim trafią do pola tekstowego.

XML Entities: escapowanie znaków w dokumentach XML

Pięć obowiązkowych encji XML, bez których dokument psuje się podczas parsowania.