Koder Base64 Online

Koduj tekst lub dane binarne do Base64

Zwykły tekst

Base64

Działa lokalnie · Bezpieczne do wklejania sekretów
Wynik Base64...

Czym jest kodowanie Base64?

Base64 to schemat kodowania danych binarnych na tekst, który reprezentuje dane binarne przy użyciu zestawu 64 drukowalnych znaków ASCII. Został zaprojektowany do bezpiecznego transportu danych binarnych przez systemy obsługujące tylko tekst — takie jak poczta elektroniczna (MIME), nagłówki HTTP i XML. Nazwa "Base64" pochodzi od 64 znaków używanych w alfabecie kodowania.

Kodowanie działa poprzez pobranie trzech bajtów wejściowych (24 bity) i podzielenie ich na cztery grupy 6-bitowe. Każda wartość 6-bitowa jest odwzorowywana na jeden znak w alfabecie Base64. Jeśli długość wejścia nie jest wielokrotnością trzech, dodawane są znaki dopełniające (=), aby osiągnąć wielokrotność czterech znaków wyjściowych. Wynikiem jest ciąg znaków o około 33% większy od danych oryginalnych, ale bezpieczny do przesyłania jako zwykły tekst.

Dlaczego warto używać tego narzędzia?

Ten koder poprawnie obsługuje tekst Unicode, obsługuje zarówno standardowy, jak i URL-safe wariant i koduje całkowicie w przeglądarce — Twoje dane nigdy nie opuszczają Twojego komputera.

Natychmiastowe kodowanie
Wyniki pojawiają się podczas pisania. Nie trzeba klikać przycisków ani czekać na odpowiedź serwera.
🔗
Przełącznik URL-safe
Przełączaj się między standardowym (+/) a URL-safe (-_) kodowaniem jednym kliknięciem. Dopełnienie jest automatycznie usuwane dla wariantu URL-safe.
🔒
W pełni po stronie klienta
Całe kodowanie odbywa się lokalnie w przeglądarce przy użyciu natywnego API btoa i TextEncoder. Nic nie jest wysyłane na żaden serwer.
🎛️
Obsługa Unicode
Poprawnie obsługuje pełny Unicode, w tym emoji, znaki CJK i dowolny tekst UTF-8, używając encodeURIComponent przed kodowaniem.

Jak korzystać z tego kodera Base64 online

Bez konta, bez instalacji, bez przesyłania — wklej tekst, a zakodowany wynik pojawi się natychmiast.

  1. 1
    Wklej lub wpisz tekst
    Kliknij pole wejściowe i wklej dowolny tekst — zwykłe ciągi znaków, payloady JSON, klucze API, adresy e-mail lub dowolne treści UTF-8. Kodowanie aktualizuje się na bieżąco podczas pisania.
  2. 2
    Wybierz wariant
    Wybierz Standardowy (RFC 4648) dla MIME, HTTP Basic Auth i ogólnego zastosowania. Wybierz URL-safe dla tokenów JWT, parametrów ciągu zapytania, nazw plików i każdego kontekstu, w którym + lub / mogłoby zakłócić parsowanie URL.
  3. 3
    Skopiuj wynik
    Kliknij Kopiuj, aby wysłać ciąg Base64 do schowka jednym kliknięciem. Wynik jest gotowy do wklejenia bezpośrednio w kod, plik konfiguracyjny lub żądanie API.
  4. 4
    Użyj w swojej aplikacji
    Wklej zakodowany ciąg tam, gdzie jest potrzebny — nagłówki Authorization, data URI, pola JSON, zmienne środowiskowe lub sekrety Kubernetes. W przypadku wyjścia URL-safe wypełnienie zostało już usunięte.

Alfabet Base64

Base64 używa 64 znaków: wielkie litery A–Z (wartości 0–25), małe litery a–z (26–51), cyfry 0–9 (52–61) i dwa znaki specjalne dla wartości 62 i 63. Standardowy wariant RFC 4648 używa + i /; wariant URL-safe zastępuje je - i _, aby unikać konfliktów w adresach URL i nazwach plików.

A–Z0–25ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z26–51abcdefghijklmnopqrstuvwxyz
0–952–610123456789
+, /62–63Standard RFC 4648 — unikać w adresach URL i nazwach plików
-, _62–63Wariant URL-safe (RFC 4648 §5) — bezpieczny w adresach URL i nazwach plików

Standardowy Base64 vs URL-safe

Standardowy alfabet Base64 używa + i /, które są znakami specjalnymi w adresach URL i ścieżkach plików. Wariant URL-safe zastępuje je - i _ i zazwyczaj pomija znaki dopełnienia =. Używaj kodowania URL-safe dla tokenów JWT, danych w ciągach zapytań, nazw plików i każdego kontekstu, gdzie + lub / mogłyby być błędnie interpretowane.

WejścieStandardowyURL-safe
ManTWFuTWFu
HelloSGVsbG8=SGVsbG8
AQQ==QQ
1+1=2MSsxPTI=MSsxPTI

Typowe przypadki użycia

Załączniki e-mail (MIME)
SMTP został zaprojektowany dla 7-bitowego tekstu ASCII. Kodowanie Base64 jest używane przez standard MIME do bezpiecznego osadzania binarnych załączników (obrazy, PDF-y, pliki wykonywalne) w wiadomościach e-mail.
Identyfikatory URI danych
Osadzaj obrazy, czcionki i inne zasoby bezpośrednio w HTML lub CSS za pomocą identyfikatorów URI danych: data:image/png;base64,... — eliminując dodatkowe żądania HTTP dla małych zasobów.
Ładunki API
Interfejsy API REST często wymagają kodowania Base64 pól binarnych (przesyłane pliki, klucze kryptograficzne, certyfikaty) przy osadzaniu w JSON, ponieważ JSON nie ma typu binarnego.
Pliki konfiguracyjne
Sekrety Kubernetes, zmienne środowiskowe i konfiguracje CI/CD powszechnie przechowują binarne sekrety i certyfikaty jako ciągi Base64, aby uniknąć problemów z escaping.
HTTP Basic Auth
Nagłówek HTTP Authorization: Basic koduje dane uwierzytelniające jako Base64(nazwa_użytkownika:hasło). To nie jest szyfrowanie — zapewnia jedynie kodowanie do transportu w nagłówkach.
Tokeny JWT
JSON Web Token używają URL-safe Base64 (base64url) do kodowania segmentów nagłówka i ładunku, czyniąc token bezpiecznym do użycia w adresach URL i nagłówkach HTTP bez escaping.

Kiedy NIE używać Base64

Base64 to kodowanie transportowe, nie mechanizm bezpieczeństwa. Oto najczęstsze błędne zastosowania powodujące realne problemy w środowisku produkcyjnym:

Nie do bezpieczeństwa ani szyfrowania
Base64 jest trywialnie odwracalny — dekodowanie nie wymaga żadnego klucza ani hasła. Każdy, kto zobaczy ciąg Base64, może go zdekodować w kilka sekund. Nigdy nie używaj Base64 jako substytutu szyfrowania, haszowania ani kontroli dostępu.
Nie do kompresji
Base64 zwiększa rozmiar wyjścia o około 33%. Jest przeciwieństwem kompresji. Nie używaj go do zmniejszania rozmiaru ładunków — zamiast tego użyj gzip, Brotli lub zstd.
Nie do przechowywania plików binarnych
Przechowywanie dużych plików binarnych jako Base64 w bazach danych lub API JSON znacznie marnuje przestrzeń dyskową i pamięć. Używaj magazynu obiektów (S3, R2, Cloudflare) i obsługuj dane binarne bezpośrednio.

Przykłady kodu

Jak zakodować ciąg znaków w Base64 w popularnych językach i środowiskach:

JavaScript (browser)
// Standard Base64
const encoded = btoa(unescape(encodeURIComponent(text)))

// URL-safe Base64 (no padding)
const urlSafe = btoa(unescape(encodeURIComponent(text)))
  .replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
Node.js
// Standard
const encoded = Buffer.from(text).toString('base64')

// URL-safe
const urlSafe = Buffer.from(text).toString('base64url')
Python
import base64

# Standard
encoded = base64.b64encode(text.encode()).decode()

# URL-safe (no padding)
url_safe = base64.urlsafe_b64encode(text.encode()).decode().rstrip('=')
CLI (bash)
# Standard
echo -n "Hello, World!" | base64

# URL-safe (requires sed)
echo -n "Hello, World!" | base64 | tr '+/' '-_' | tr -d '='

Koder Base64 online vs. inne narzędzia

Istnieje kilka koderów Base64 online. Kluczowe wyróżniki do codziennego użytku deweloperskiego to prywatność, poprawność i obsługa wariantów.

W pełni prywatny — bez serwera
Ten koder działa w całości w przeglądarce, używając natywnego API btoa i TextEncoder. Twój tekst nigdy nie jest przesyłany na żaden serwer — bezpieczny dla kluczy API, tokenów i sekretów.
Poprawne kodowanie Unicode
Wiele narzędzi Base64 online po cichu uszkadza dane wejściowe inne niż ASCII. To narzędzie prawidłowo obsługuje pełny Unicode — emoji, CJK, arabski i cały tekst UTF-8 — kodując najpierw do bajtów UTF-8.
Oba warianty w jednym miejscu
Większość narzędzi oferuje tylko standardowy Base64. Ten koder udostępnia zarówno wariant standardowy (+/), jak i URL-safe (-_) z automatyczną obsługą wypełnienia — bez ręcznego zastępowania znaków.

Często zadawane pytania

Czy Base64 to to samo co szyfrowanie?
Nie. Base64 to schemat kodowania, a nie szyfrowanie. Jest trywialnie odwracalny przez każdego — do jego dekodowania nie jest wymagany żaden klucz ani hasło. Nigdy nie używaj Base64 do ochrony wrażliwych danych. Użyj odpowiedniego szyfrowania (AES, RSA) w tym celu.
Dlaczego wynik Base64 kończy się na = lub ==?
Base64 działa w grupach po 3 bajty (24 bity), produkując 4 znaki Base64. Jeśli długość wejścia nie jest wielokrotnością 3, dodawane są znaki dopełnienia (=), aby długość wyjścia była wielokrotnością 4. Jeden = oznacza, że ostatnia grupa miała 2 bajty; dwa = oznaczają, że miała 1 bajt.
Czym jest URL-safe Base64?
URL-safe Base64 (zdefiniowany w RFC 4648 §5) zastępuje + przez - i / przez _, aby zakodowany ciąg mógł być używany w adresach URL, nazwach plików i nagłówkach HTTP bez kodowania procentowego. Zazwyczaj pomija również znaki dopełnienia =.
O ile Base64 zwiększa rozmiar pliku?
Kodowanie Base64 zwiększa rozmiar o około 33%. Każde 3 bajty wejścia stają się 4 znakami wyjścia. Dla pliku o rozmiarze 1 MB, wynik Base64 będzie miał około 1,37 MB.
Czy mogę kodować pliki binarne za pomocą tego narzędzia?
To narzędzie koduje ciągi tekstowe (traktowane jako bajty UTF-8). Do kodowania dowolnych plików binarnych (obrazy, PDF-y, pliki wykonywalne) użyj biblioteki językowej lub narzędzia CLI, które czyta surowe bajty.
Jaka jest różnica między btoa() a Buffer.from().toString('base64')?
btoa() to wbudowana funkcja przeglądarki działająca na ciągach Latin-1; zgłosi błąd dla znaków nie-ASCII, chyba że najpierw zakoduje je do bajtów UTF-8 (używając encodeURIComponent). Buffer.from(tekst).toString('base64') w Node.js obsługuje ciągi UTF-8 bezpośrednio i jest preferowanym podejściem po stronie serwera.
Czy Base64 działa z plikami binarnymi?
To narzędzie koduje ciągi tekstowe jako bajty UTF-8 do Base64. W przypadku plików binarnych (obrazy, PDF, pliki wykonywalne) użyj narzędzia CLI lub biblioteki językowej czytającej surowe bajty. W przeglądarce użyj FileReader.readAsDataURL(), który zwraca data URI z zawartością binarną zakodowaną w Base64.
Czy istnieje limit rozmiaru kodowania?
To narzędzie działa w całości w przeglądarce bez limitu po stronie serwera. Praktyczne limity zależą od pamięci przeglądarki. W przypadku bardzo dużych danych wejściowych (powyżej kilku MB) narzędzie CLI, takie jak base64 (Linux/macOS) lub certutil -encode (Windows), jest bardziej wydajne.