# Koder i dekoder Base64

> Zaawansowany koder i dekoder tekstu Base64 online. Obsługuje polskie znaki (UTF-8), URL-safe i wyjaśnia zasady kodowania. Bezpłatne i bezpieczne narzędzie.

URL: https://acrafto.com/pl/koder-dekoder-base64-online/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Potrzebujesz przekształcić czytelny tekst do formatu Base64 do użycia w nagłówkach HTTP, czy też rozszyfrować zawartość tokenu API? Nasz **Base64 Koder i Dekoder Tekstu** to specjalistyczne narzędzie do pracy z ciągami tekstowymi, które poradzi sobie również z takimi wyzwaniami, jak polskie znaki diakrytyczne czy znaki specjalne.

> **Pracujesz z obrazami?**  
> Jeśli Twój kod zaczyna się od `data:image/png...` lub chcesz przekonwertować plik na tekst, to narzędzie wyświetli tylko bezsensowne znaki. Użyj naszego specjalistycznego narzędzia do konwersji na obraz.

## Jak działa format Base64?

Wiele osób używa Base64 codziennie, ale niewielu wie, jak działa “pod maską”. To nie magia, ale prosta matematyka z bitami.

Zwykły tekst w komputerze jest przechowywany w 8 bitach (1 bajt). Base64 jednak używa “alfabetu” składającego się z 64 znaków (`A-Z`, `a-z`, `0-9`, `+`, `/`). Ponieważ `2^6 = 64`, jeden znak Base64 reprezentuje dokładnie **6 bitów** informacji.

**Proces konwersji (Algorytm):**

1. Pobierane są trzy znaki Twojego tekstu (3 × 8 bitów = 24 bity).
2. Te 24 bity są dzielone na cztery grupy po 6 bitów.
3. Do każdej grupy przypisywany jest znak z tabeli Base64.

**Konsekwencja:** Ponieważ z 3 znaków tworzymy 4 znaki, wynikowy ciąg Base64 jest zawsze około **o 33% dłuższy** niż oryginalny tekst.

## Problem z zestawem znaków: Dlaczego zwykłe konwertery Base64 niszczą polskie znaki?

Jeśli kiedykolwiek próbowałeś zakodować słowo “Żółć” w konsoli przeglądarki za pomocą funkcji `btoa('Żółć')`, prawdopodobnie otrzymałeś błąd: *String contains characters outside of the Latin1 range.*

Base64 został pierwotnie zaprojektowany dla 7-bitowych znaków ASCII. Polskie znaki, emoji i inne symbole specjalne (UTF-8) zajmują jednak w pamięci więcej bajtów (znaków wielobajtowych).

- Litera `a` = 1 bajt.
- Litera `ł` = 2 bajty.
- Emoji 🚀 = 4 bajty.

Nasze narzędzie rozwiązuje ten problem. Przed samym kodowaniem do Base64, tekst jest poprawnie konwertowany na sekwencję bajtów UTF-8. Dzięki temu możesz bezpiecznie kodować obiekty JSON, polskie teksty i nowoczesne symbole bez ryzyka uszkodzenia danych.

## Gdzie używane jest kodowanie tekstowe Base64?

Podczas gdy obrazy w Base64 służą głównie do osadzania w CSS/HTML, tekstowe Base64 ma zupełnie inne zastosowania w systemach backendowych:

### 1\. Uwierzytelnianie HTTP Basic

Gdy logujesz się do API, nagłówek często wygląda tak: `Authorization: Basic dcW8eXRrb3duaWs6aGFzxYJv` Pod tym kodem kryje się po prostu połączona nazwa użytkownika i hasło w formacie `użytkownik:hasło`. Nasze narzędzie pozwoli Ci łatwo generować lub sprawdzać te nagłówki.

### 2\. JSON Web Tokens (JWT)

Nowoczesne aplikacje internetowe używają do logowania tzw. JWT. Taki token wygląda jak trzy długie ciągi znaków oddzielone kropką. Część z danymi (Payload) to zwykły obiekt JSON zakodowany w Base64.

- **Wskazówka:** Spróbuj wkleić tutaj środkową część swojego tokenu JWT i ją zdekodować. Zobaczysz dokładnie, jakie dane aplikacja o Tobie przechowuje (np. ID użytkownika, data wygaśnięcia).

### 3\. Pliki konfiguracyjne (Kubernetes Secrets)

Platformy takie jak Kubernetes przechowują tajne dane (Secrets) w plikach konfiguracyjnych YAML właśnie w Base64. Nie jest to szyfrowanie, ale sposób na zapisanie danych binarnych lub tekstu z problematycznymi znakami (nowe linie, cudzysłowy) w pliku tekstowym.

## Czym jest “URL Safe Base64 encoding” i dlaczego jest ważne?

Standardowy alfabet Base64 zawiera znaki `+` (plus) i `/` (ukośnik). Oba te znaki mają specjalne znaczenie w adresach URL:

- `/` oddziela katalogi.
- `+` jest często interpretowany jako spacja.

Jeśli wysłałbyś standardowy Base64 w parametrze URL (np. `site.com?token=ab/cd+ef`), serwer mógłby źle odczytać dane.

**Rozwiązanie (tryb URL Safe):** Nasz przełącznik aktywuje wariant **Base64URL** (zgodnie z RFC 4648), który wprowadza następujące zmiany:

- `+` zmienia się na `-` (myślnik).
- `/` zmienia się na `_` (podkreślenie).
- Na końcu usuwane są znaki `=` (dopełnienie), które nie są potrzebne w URL.

---

## Mit: Base64 to nie szyfrowanie!

Ważne jest, aby zrozumieć fundamentalną różnicę, którą początkujący często mylą:

1. **Kodowanie (Encoding - Base64):** Służy do przesyłania danych. To tak, jakby spakować coś do walizki, aby nie zniszczyło się w drodze. Każdy, kto znajdzie walizkę, może ją otworzyć (zdekodować) i zobaczyć zawartość. **Nie jest to bezpieczne dla tajnych danych.**
2. **Szyfrowanie (Encryption - AES, RSA):** Blokuje dane kluczem. Bez klucza nie uzyskasz dostępu do zawartości.
3. **Haszowanie (Hashing - SHA, MD5):** Jednokierunkowy proces (np. do przechowywania haseł). Z wyniku nie można odzyskać oryginalnego tekstu.

*Jeśli musisz wysłać hasło lub poufne dane, samo Base64 nie wystarczy. Musisz użyć HTTPS (SSL/TLS), które zaszyfruje transmisję.*

---

## Często zadawane pytania (FAQ)

### Co oznaczają znaki "=" na końcu ciągu?

Jest to tzw. "padding" (dopełnienie). Ponieważ Base64 koduje dane w grupach po 3 znaki, może się zdarzyć, że długość oryginalnego tekstu nie jest podzielna przez trzy. Znaki \`=\` są dodawane na końcu, aby dekoder wiedział, ile bitów ma zignorować na końcu.

### Dlaczego zdekodowany tekst wyświetla się jako "krzaczki"?

Prawdopodobnie próbujesz zdekodować dane, które nie są tekstem. Jeśli ciąg Base64 reprezentuje skompresowany plik (ZIP), obraz lub zaszyfrowane dane, konwersja na tekst (UTF-8) nie ma sensu. Spróbuj ustalić pochodzenie danych.

### Czy narzędzie działa offline?

Tak. Cała logika konwersji jest napisana w JavaScript i działa bezpośrednio w Twojej przeglądarce. Po załadowaniu strony możesz odłączyć się od internetu, a narzędzie nadal będzie działać. Twoje dane nie są nigdzie wysyłane.

## Other languages

- Čeština (cs): [Base64 Encoder a Decoder](https://acrafto.com/cs/base64-decoder-encoder/) ([Markdown](https://acrafto.com/cs/base64-decoder-encoder/index.md))
- Slovenčina (sk): [Base64 kódovač a dekódovač](https://acrafto.com/sk/base64-kodovac-dekodovac-online/) ([Markdown](https://acrafto.com/sk/base64-kodovac-dekodovac-online/index.md))
- English (en): [Base64 Encoder and Decoder](https://acrafto.com/en/base64-encoder-decoder/) ([Markdown](https://acrafto.com/en/base64-encoder-decoder/index.md))
- Deutsch (de): [Base64 Encoder und Decoder](https://acrafto.com/de/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/de/base64-encoder-decoder-online/index.md))
- Français (fr): [Encodeur et décodeur Base64](https://acrafto.com/fr/encodeur-decodeur-base64/) ([Markdown](https://acrafto.com/fr/encodeur-decodeur-base64/index.md))
- Español (es): [Codificador y decodificador Base64](https://acrafto.com/es/codificador-base64-decodificador-online/) ([Markdown](https://acrafto.com/es/codificador-base64-decodificador-online/index.md))
- Italiano (it): [Encoder e decoder Base64](https://acrafto.com/it/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/it/encoder-decoder-base64-online/index.md))
- Português (pt): [Codificador e decodificador Base64](https://acrafto.com/pt/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/pt/encoder-decoder-base64-online/index.md))
- Nederlands (nl): [Base64 encoder en decoder](https://acrafto.com/nl/base64-encoder-decoder/) ([Markdown](https://acrafto.com/nl/base64-encoder-decoder/index.md))
- Română (ro): [Base64 encoder și decoder](https://acrafto.com/ro/codor-decodor-base64/) ([Markdown](https://acrafto.com/ro/codor-decodor-base64/index.md))
- Magyar (hu): [Base64 kódoló és dekódoló](https://acrafto.com/hu/base64-kodolo-dekodolo-online/) ([Markdown](https://acrafto.com/hu/base64-kodolo-dekodolo-online/index.md))
- Ελληνικά (el): [Κωδικοποίηση και αποκωδικοποίηση Base64](https://acrafto.com/el/base64-encoder-decoder/) ([Markdown](https://acrafto.com/el/base64-encoder-decoder/index.md))
- Български (bg): [Base64 енкодер и декодер](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/) ([Markdown](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/index.md))
- Hrvatski (hr): [Base64 koder i dekoder](https://acrafto.com/hr/base64-koder-dekoder/) ([Markdown](https://acrafto.com/hr/base64-koder-dekoder/index.md))
- Slovenščina (sl): [Base64 kodirnik in dekodirnik](https://acrafto.com/sl/base64-kodirnik-dekodirnik/) ([Markdown](https://acrafto.com/sl/base64-kodirnik-dekodirnik/index.md))
- Eesti (et): [Base64 kodeerija ja dekodeerija](https://acrafto.com/et/base64-teisendaja/) ([Markdown](https://acrafto.com/et/base64-teisendaja/index.md))
- Latviešu (lv): [Base64 kodētājs un dekodētājs](https://acrafto.com/lv/base64-kodetajs-dekodetajs/) ([Markdown](https://acrafto.com/lv/base64-kodetajs-dekodetajs/index.md))
- Lietuvių (lt): [Base64 koduotuvas ir dekoduotuvas](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/) ([Markdown](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/index.md))
- Svenska (sv): [Base64 encode och decode](https://acrafto.com/sv/base64-kodare-avkodare-online/) ([Markdown](https://acrafto.com/sv/base64-kodare-avkodare-online/index.md))
- Dansk (da): [Base64 encoder og dekoder](https://acrafto.com/da/base64-encoder-dekoder-online/) ([Markdown](https://acrafto.com/da/base64-encoder-dekoder-online/index.md))
- Suomi (fi): [Base64-kooderi ja -dekooderi](https://acrafto.com/fi/base64-kooderi-dekooderi/) ([Markdown](https://acrafto.com/fi/base64-kooderi-dekooderi/index.md))
- Norsk (no): [Base64-enkoder og -dekoder](https://acrafto.com/no/base64-enkoder-dekoder/) ([Markdown](https://acrafto.com/no/base64-enkoder-dekoder/index.md))
- Українська (uk): [Base64 кодер і декодер](https://acrafto.com/uk/base64-koder-dekoder-onlajn/) ([Markdown](https://acrafto.com/uk/base64-koder-dekoder-onlajn/index.md))
- Русский (ru): [Base64 кодировщик и декодировщик](https://acrafto.com/ru/base64-koder-dekoder/) ([Markdown](https://acrafto.com/ru/base64-koder-dekoder/index.md))
- Српски (sr): [Base64 enkoder i dekoder](https://acrafto.com/sr/base64-enkoder-dekoder-online/) ([Markdown](https://acrafto.com/sr/base64-enkoder-dekoder-online/index.md))
- Македонски (mk): [Base64 енкодер и декодер](https://acrafto.com/mk/base64-converter/) ([Markdown](https://acrafto.com/mk/base64-converter/index.md))
- Bosanski (bs): [Base64 koder i dekoder](https://acrafto.com/bs/base64-koder-dekoder/) ([Markdown](https://acrafto.com/bs/base64-koder-dekoder/index.md))
- Shqip (sq): [Base64 kodues dhe dekodues](https://acrafto.com/sq/kodues-dekodues-base64-online/) ([Markdown](https://acrafto.com/sq/kodues-dekodues-base64-online/index.md))
- Türkçe (tr): [Base64 kodlayıcı ve çözücü](https://acrafto.com/tr/base64-kodlayici-cozucu-online/) ([Markdown](https://acrafto.com/tr/base64-kodlayici-cozucu-online/index.md))
- 日本語 (ja): [Base64エンコード・デコード](https://acrafto.com/ja/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ja/base64-encoder-decoder/index.md))
- 한국어 (ko): [Base64 인코딩 디코딩](https://acrafto.com/ko/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ko/base64-encoder-decoder/index.md))
- العربية (ar): [ترميز وفك ترميز Base64](https://acrafto.com/ar/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ar/base64-encoder-decoder/index.md))
- हिन्दी (hi): [Base64 एन्कोडर और डिकोडर](https://acrafto.com/hi/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/hi/base64-encoder-decoder-online/index.md))
- Bahasa Indonesia (id): [Base64 encode dan decode](https://acrafto.com/id/konverter-base64-online/) ([Markdown](https://acrafto.com/id/konverter-base64-online/index.md))
- Tiếng Việt (vi): [Mã hóa và giải mã Base64](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/) ([Markdown](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/index.md))
- ไทย (th): [เข้ารหัสและถอดรหัส Base64](https://acrafto.com/th/base64-encoder-decoder/) ([Markdown](https://acrafto.com/th/base64-encoder-decoder/index.md))
- עברית (he): [קידוד ופענוח Base64](https://acrafto.com/he/base64-encoder-decoder/) ([Markdown](https://acrafto.com/he/base64-encoder-decoder/index.md))
