Skip to content

Koder i dekoder Base64

Zakoduj i zdekoduj Base64 online za darmo. Konwersja w czasie rzeczywistym z pełną obsługą UTF-8 i emoji. 100% w przeglądarce, bez rejestracji.

Bez śledzenia Działa w przeglądarce Bezpłatne
Tekst
Base64
Zweryfikowano pod kątem zgodności z RFC 4648 oraz poprawności UTF-8 — Zespół inżynierski Go Tools · Mar 22, 2026

Czym jest Base64?

Base64 to schemat kodowania z postaci binarnej do tekstowej, zdefiniowany w RFC 4648, który zamienia dowolne dane binarne na bezpieczną reprezentację w postaci ciągu ASCII, wykorzystując 64-znakowy alfabet. Jest to jedno z najszerzej stosowanych kodowań w internecie — od załączników e-mail, przez tokeny JSON Web Token, po certyfikaty TLS.

„Kodowanie Base 64 ma na celu reprezentowanie dowolnych sekwencji oktetów w formie, która nie musi być czytelna dla człowieka.” — RFC 4648, sekcja 1

Base64 dzieli wejście na grupy po 3 bajty (24 bity), a następnie rozbija te 24 bity na cztery 6-bitowe grupy, z których każda jest mapowana na jeden z 64 drukowalnych znaków: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62) oraz / (63). Znak = uzupełnia wyjście, gdy długość wejścia nie jest wielokrotnością 3. Kodowanie Base64 zwiększa rozmiar danych o około 33% (RFC 4648) — to świadomy kompromis, który pozwala bezpiecznie przesyłać dane binarne kanałami czysto tekstowymi.

Base64 został pierwotnie zaprojektowany do bezpiecznego przesyłania danych binarnych przez kanały obsługujące wyłącznie tekst, takie jak poczta elektroniczna (MIME) czy wczesny HTTP. Dziś jest wszechobecny: data URI osadzają obrazy w HTML, tokeny JWT kodują claims, certyfikaty PEM opakowują klucze, a API przesyłają payloady binarne w JSON.

Koder Base64 zamienia surowe bajty na tę bezpieczną reprezentację ASCII, a dekoder odwraca ten proces. Całe kodowanie i dekodowanie w tym narzędziu działa wyłącznie w przeglądarce — dane nigdy nie są przesyłane na żaden serwer, dzięki czemu można go bezpiecznie używać z kluczami API, tokenami i innymi wrażliwymi wartościami.

Użyj tego darmowego konwertera Base64 online, aby natychmiast zdekodować Base64 do tekstu lub zakodować tekst w Base64 bezpośrednio w przeglądarce.

Base64 często współpracuje z innymi narzędziami do kodowania i obsługi danych. Na przykład czasem trzeba sformatować dane JSON przed zakodowaniem ich w Base64 dla payloadu API, zakodować ciąg Base64 w URL przed umieszczeniem go w parametrze zapytania albo zweryfikować sumę kontrolną pliku za pomocą MD5 lub SHA-256 po zdekodowaniu pobranego pliku zakodowanego w Base64. Dopiero zaczynasz z Base64? Przeczytaj nasz przewodnik po Base64 dla początkujących. Po zaawansowane tematy, takie jak MIME, data URL i optymalizacja wydajności, sięgnij do zaawansowanego przewodnika po Base64.

// Encode plain text to Base64
const encoded = btoa('Hello, World!');
console.log(encoded); // → 'SGVsbG8sIFdvcmxkIQ=='

// Decode Base64 back to text
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
console.log(decoded); // → 'Hello, World!'

// UTF-8 safe encode (handles Chinese, emoji, any Unicode)
function encodeBase64(str) {
  const bytes = new TextEncoder().encode(str);  // to UTF-8 bytes
  return btoa(String.fromCharCode(...bytes));
}
console.log(encodeBase64('你好')); // → '5L2g5aW9'

Kluczowe funkcje

Konwersja w czasie rzeczywistym

Koduj i dekoduj natychmiast w trakcie pisania — bez klikania przycisków, wyniki pojawiają się od razu w drugim polu.

Pełna obsługa UTF-8

Poprawnie obsługuje znaki chińskie, japońskie, koreańskie, arabskie, emoji oraz dowolny tekst Unicode dzięki TextEncoder/TextDecoder.

Dwukierunkowo

Wpisuj w dowolnym polu: zwykły tekst po lewej koduje się do Base64 po prawej, a Base64 po prawej dekoduje się do tekstu po lewej.

100% w przeglądarce

Całe przetwarzanie odbywa się lokalnie w przeglądarce. Dane nigdy nie opuszczają urządzenia — bez wysyłki na serwer i bez śledzenia.

Wykrywanie błędów

Nieprawidłowe wejście Base64 jest natychmiast wykrywane z czytelnym komunikatem o błędzie, więc od razu wiadomo, co poprawić.

Kopiowanie jednym kliknięciem

Skopiuj zakodowany lub zdekodowany wynik do schowka natychmiast, przyciskiem Kopiuj po każdej stronie.

Przykłady

Zwykły tekst

Hello, World!
SGVsbG8sIFdvcmxkIQ==

Prosty tekst ASCII zakodowany w Base64

Tekst UTF-8

你好世界 🌍
5L2g5aW95LiW55WMIPCfjI0=

Znaki chińskie i emoji z poprawnym kodowaniem UTF-8

Dane JSON

{"user":"alice","role":"admin"}
eyJ1c2VyIjoiYWxpY2UiLCJyb2xlIjoiYWRtaW4ifQ==

Kodowanie payloadu JSON do osadzenia w URL lub nagłówkach

Tekst wielowierszowy

Line 1
Line 2
Line 3
TGluZSAxCkxpbmUgMgpMaW5lIDM=

Base64 zachowuje znaki nowej linii i białe znaki

Jak korzystać

  1. 1

    Wprowadź tekst lub Base64

    Wpisz lub wklej zwykły tekst w lewym polu, aby go zakodować, albo wklej ciąg Base64 w prawym polu, aby go zdekodować. Konwersja jest natychmiastowa i dwukierunkowa.

  2. 2

    Zobacz wyniki w czasie rzeczywistym

    Drugie pole aktualizuje się automatycznie w miarę pisania. Wszelkie błędy (np. nieprawidłowy Base64) są sygnalizowane natychmiast.

  3. 3

    Skopiuj wynik

    Kliknij przycisk Kopiuj po dowolnej stronie, aby skopiować zakodowany lub zdekodowany wynik do schowka.

Typowe zastosowania

Generowanie data URI
Koduj obrazy lub pliki w Base64, aby osadzać je bezpośrednio w HTML lub CSS jako data URI.
Debugowanie JWT
Dekoduj zakodowane w Base64 nagłówki i payloady tokenów JWT, aby sprawdzić claims oraz czas wygaśnięcia.
Rozwój API
Koduj dane binarne do przesyłania w API JSON lub dekoduj odpowiedzi Base64 w celu analizy.
Kodowanie poczty e-mail
Koduj i dekoduj treści oraz załączniki e-mail zakodowane w MIME.
Inspekcja certyfikatów
Dekoduj certyfikaty i klucze w formacie PEM, aby zbadać ich binarną zawartość.
Osadzanie konfiguracji
Koduj dane konfiguracyjne lub sekrety, aby bezpiecznie osadzić je w zmiennych środowiskowych lub plikach konfiguracyjnych.

Szczegóły techniczne

Zgodność z RFC 4648
Implementuje standardowe kodowanie Base64 zdefiniowane w RFC 4648 z alfabetem A-Z, a-z, 0-9, +, / oraz wypełnieniem =.
UTF-8 przez TextEncoder
Używa Web API TextEncoder do zamiany ciągów Unicode na bajty UTF-8 przed kodowaniem, co gwarantuje poprawną obsługę wszystkich pism i emoji.
Przetwarzanie w przeglądarce
Całe kodowanie używa natywnych btoa()/atob() wraz z TextEncoder/TextDecoder — bez zewnętrznych bibliotek i bez wywołań serwera.

Dobre praktyki

Nie używaj Base64 do zabezpieczania
Base64 to kodowanie, a nie szyfrowanie. Nigdy nie używaj go do „ochrony” haseł, tokenów ani wrażliwych danych — zawsze stosuj właściwe szyfrowanie.
Pamiętaj o wzroście rozmiaru
Base64 dodaje około 33% narzutu. Dla dużych plików warto rozważyć przesył binarny zamiast kodowania w Base64.
Używaj kodowania UTF-8
Zawsze zamieniaj tekst na bajty UTF-8 przed kodowaniem w Base64, aby poprawnie obsłużyć znaki spoza ASCII (chińskie, emoji).

Najczęściej zadawane pytania

Czym jest kodowanie Base64?
Base64 to schemat kodowania z postaci binarnej do tekstowej, który reprezentuje dane binarne jako ciąg drukowalnych znaków ASCII. Zamienia każde 3 bajty wejścia na 4 znaki ASCII ze zbioru A-Z, a-z, 0-9, + oraz /. Znak „=” służy jako wypełnienie, gdy długość wejścia nie jest wielokrotnością 3. Base64 jest zdefiniowany w RFC 4648 i powszechnie używany w poczcie e-mail (MIME), data URI, tokenach JWT oraz uwierzytelnianiu HTTP.
Czy moje dane są bezpieczne podczas korzystania z tego narzędzia?
Tak, w pełni. Całe kodowanie i dekodowanie odbywa się lokalnie w przeglądarce przy użyciu natywnych API JavaScriptu: btoa(), atob(), TextEncoder oraz TextDecoder. Dane nigdy nie opuszczają urządzenia — nie ma żadnych zapytań do serwera, plików cookie, analityki wprowadzanej treści ani jakiegokolwiek przechowywania danych.
Jak to narzędzie obsługuje znaki spoza ASCII, takie jak chińskie lub emoji?
Narzędzie najpierw zamienia tekst wejściowy na bajty UTF-8 przy użyciu API TextEncoder, a następnie koduje te bajty w Base64. Dzięki temu znaki spoza zakresu ASCII — w tym chińskie (你好), japońskie (こんにちは), arabskie oraz emoji (🎉) — są kodowane poprawnie. Przy dekodowaniu proces jest odwracany: Base64 → bajty → tekst UTF-8 za pomocą TextDecoder.
Czy Base64 to szyfrowanie?
Nie. Base64 to kodowanie, a nie szyfrowanie. Nie zapewnia żadnego bezpieczeństwa — każdy może natychmiast zdekodować ciąg Base64 z powrotem do oryginalnych danych. Base64 został zaprojektowany do transportu danych (aby umożliwić bezpieczne przesyłanie danych binarnych kanałami czysto tekstowymi), a nie do ochrony sekretów. Aby chronić dane, należy zastosować właściwe szyfrowanie (AES, RSA) przed opcjonalnym zakodowaniem wyniku w Base64.
Gdzie powszechnie używa się Base64?
Base64 jest szeroko używany w: (1) data URI — osadzanie obrazów bezpośrednio w HTML/CSS w postaci „data:image/png;base64,…”, (2) poczcie e-mail — kodowanie MIME dla załączników i treści spoza ASCII, (3) JWT — tokeny JSON Web Token kodują header i payload w Base64URL, (4) HTTP Basic Auth — poświadczenia są przesyłane jako zakodowane w Base64 „username:password”, (5) API — przesyłanie danych binarnych w payloadach JSON, (6) certyfikatach — format PEM opakowuje certyfikaty DER w Base64.
Jaka jest różnica między standardowym Base64 a wariantem URL-safe?
Standardowy Base64 używa znaków „+” oraz „/”, które mają specjalne znaczenie w URL — + oznacza spację, a / jest separatorem ścieżki. Wariant URL-safe Base64 (również zdefiniowany w RFC 4648) zastępuje „+” przez „-” oraz „/” przez „_”, dzięki czemu wyjście jest bezpieczne w URL i nazwach plików bez dodatkowego procent-kodowania. Jeśli trzeba użyć standardowego Base64 w URL, można procent-zakodować go naszym koderem URL. To narzędzie używa standardowego Base64. Aby uzyskać wariant URL-safe, wystarczy w wyjściu zamienić + na - oraz / na _.
Dlaczego Base64 zwiększa rozmiar danych?
Base64 koduje 3 bajty wejścia jako 4 znaki wyjścia, co daje w przybliżeniu 33% wzrost rozmiaru. Wynika to z tego, że Base64 używa jedynie 64 drukowalnych znaków ASCII (po 6 bitów każdy) do reprezentowania 8-bitowych bajtów. Na przykład 13-znakowy ciąg „Hello, World!” staje się 20-znakowym ciągiem Base64 „SGVsbG8sIFdvcmxkIQ==”. Ten kompromis jest akceptowalny, ponieważ zakodowane dane można bezpiecznie przesyłać protokołami czysto tekstowymi.
Jak zakodować plik do Base64?
W systemach macOS lub Linux wystarczy użyć wiersza poleceń: base64 < myfile.png > myfile.b64. W systemie Windows w PowerShellu: [Convert]::ToBase64String([IO.File]::ReadAllBytes('myfile.png')). W JavaScripcie (Node.js): fs.readFileSync('myfile.png').toString('base64'). W Pythonie: import base64; base64.b64encode(open('myfile.png','rb').read()). Narzędzie w przeglądarce obsługuje wejście tekstowe; dla dużych plików binarnych wydajniejsze są narzędzia wiersza poleceń.
Czy można używać Base64 w HTML i CSS?
Tak. Base64 jest powszechnie używany w data URI do osadzania małych zasobów bezpośrednio w HTML lub CSS, co eliminuje dodatkowe zapytania HTTP. W HTML: . W CSS: background-image: url('data:image/svg+xml;base64,PHN2Zy…'). To rozwiązanie sprawdza się idealnie dla małych ikon i plików SVG (poniżej około 5 KB). Dla większych plików osobne odwołania do plików są wydajniejsze, ponieważ Base64 dodaje 33% narzutu i omija buforowanie w przeglądarce.
Jaki jest maksymalny rozmiar wejścia?
Narzędzie działające w przeglądarce efektywnie obsługuje tekst do około 5 MB. Dla bardzo dużych plików lub danych binarnych warto rozważyć narzędzia wiersza poleceń, takie jak „base64” (dostępne w macOS i Linuksie) lub „openssl base64”. Sam standard Base64 nie narzuca limitu rozmiaru.
Jakie znaki wchodzą w skład alfabetu Base64?
Standardowy alfabet Base64 (RFC 4648) składa się z 64 znaków: wielkich liter A-Z (wartości 0-25), małych liter a-z (wartości 26-51), cyfr 0-9 (wartości 52-61), znaku plus + (wartość 62) oraz ukośnika / (wartość 63). Znak równości = jest używany jako wypełnienie. Wariant URL-safe (Base64URL) zastępuje + przez - oraz / przez _, aby uniknąć konfliktów ze znakami zarezerwowanymi w URL.
Jak osadzić mały obraz w szablonie wiadomości HTML — data URI Base64 czy hosting zewnętrzny?
W wiadomościach HTML data URI w Base64 są w praktyce zalecanym rozwiązaniem dla małych obrazów, takich jak logotypy i ikony. Wielu klientów poczty (Outlook, Gmail) domyślnie agresywnie blokuje obrazy hostowane zewnętrznie, wymagając od użytkownika kliknięcia „Wyświetl obrazy”, aby je zobaczyć. Osadzenie obrazów jako data URI w Base64 (data:image/png;base64,…) całkowicie omija ten problem — obraz staje się częścią samej wiadomości. Kompromisem jest rozmiar wiadomości: Base64 dodaje około 33% narzutu, więc 10 KB PNG urośnie do około 13 KB w wiadomości. Dla najlepszej zgodności warto trzymać osadzone obrazy poniżej 20 KB. Dla większych obrazów lub teł hosting zewnętrzny jest bardziej praktyczny. Użyj tego narzędzia, aby zakodować bajty pliku obrazu w Base64 do osadzenia.
Dlaczego mój zakodowany ciąg Base64 zawiera znaki + i /, które psują parametry URL?
Standardowy Base64 używa + oraz / jako dwóch z 64 swoich znaków, a oba mają specjalne znaczenie w URL (+ oznacza spację, / jest separatorem ścieżki). Gdy umieszczasz standardowy ciąg Base64 w parametrze zapytania URL bez kodowania, znaki te niszczą wartość. Rozwiązaniem jest użycie URL-safe Base64 (nazywanego też Base64URL, zdefiniowanego w RFC 4648), który zastępuje + przez - oraz / przez _. Wariant ten jest używany w tokenach JWT, przepływach OAuth oraz w każdej wartości Base64, która pojawia się w URL. Aby zamienić standardowy Base64 na URL-safe, wystarczy w wyjściu zastąpić wszystkie + przez - oraz / przez _, a opcjonalnie usunąć znaki wypełnienia =.
Chcę zdekodować token JWT — jak działa dekodowanie Base64URL i czym różni się od standardowego Base64?
Token JWT (JSON Web Token) składa się z trzech części rozdzielonych kropkami: header.payload.signature. Zarówno header, jak i payload są kodowane w Base64URL — a nie w standardowym Base64. Base64URL różni się od standardowego Base64 dwoma szczegółami: używa - zamiast + oraz _ zamiast /, a także pomija znaki wypełnienia =. Aby ręcznie zdekodować token JWT, należy podzielić go po kropkach, wziąć pierwszy lub drugi segment, zamienić - na + oraz _ na /, w razie potrzeby dodać wypełnienie =, aby długość była wielokrotnością 4, a następnie zdekodować w Base64. Większość debugowania JWT jest łatwiejsza z dedykowanym dekoderem JWT, ale zrozumienie kodowania Base64URL pomaga przy implementacji obsługi tokenów w kodzie lub analizie surowych wartości tokenów.

Powiązane narzędzia

Zobacz wszystkie narzędzia →