# Base64 Encoder a Decoder

> Zakódujte nebo dekódujte text do Base64 online. Podpora UTF-8 (čeština) i URL-safe formátu. Běží přímo v prohlížeči, zdarma a bez registrace.

URL: https://acrafto.com/cs/base64-decoder-encoder/

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.

Potřebujete převést čitelný text do formátu Base64 pro použití v HTTP hlavičkách, nebo naopak rozluštit obsah API tokenu? Náš **Base64 Text Encoder & Decoder** je specializovaný nástroj pro práci s textovými řetězci, který si poradí i se záludnostmi, jako je diakritika nebo speciální znaky.

> **Pracujete s obrázky?**  
> Pokud váš kód začíná `data:image/png...` nebo chcete převést soubor na text, tento nástroj vám zobrazí jen nesmyslné znaky. Použijte náš specializovaný nástroj pro převod na obrázek.

## Jak formát base64 funguje?

Mnoho lidí používá Base64 denně, ale málokdo ví, jak funguje “pod kapotou”. Nejde o magii, ale o prostou matematiku s bity.

Běžný text v počítači je uložen po 8 bitech (1 byte). Base64 však používá “abecedu” o 64 znacích (`A-Z`, `a-z`, `0-9`, `+`, `/`). Protože `2^6 = 64`, jeden znak Base64 reprezentuje přesně **6 bitů** informace.

**Proces převodu (Algoritmus):**

1. Vezmou se tři znaky vašeho textu (3 × 8 bitů = 24 bitů).
2. Těchto 24 bitů se rozdělí na čtyři skupiny po 6 bitech.
3. Každé skupině se přiřadí znak z tabulky Base64.

**Důsledek:** Protože děláme ze 3 znaků 4 znaky, výsledný Base64 řetězec je vždy přibližně **o 33 % delší** než původní text.

## Problém znaková sady: Proč běžné Base64 konvertory ničí češtinu?

Pokud jste někdy zkoušeli zakódovat slovo “Kůň” v konzoli prohlížeče pomocí funkce `btoa('Kůň')`, pravděpodobně jste dostali chybu: *String contains characters outside of the Latin1 range.*

Base64 byl původně navržen pro 7-bitové ASCII znaky. Čeština, emoji a další speciální symboly (UTF-8) však zabírají v paměti více bytů (multibyte characters).

- Písmeno `a` = 1 byte.
- Písmeno `ř` = 2 byty.
- Emoji 🚀 = 4 byty.

Náš nástroj tento problém řeší. Před samotným kódováním do Base64 text správně převedeme na sekvenci UTF-8 bytů. Díky tomu můžete bezpečně kódovat JSON objekty, české texty i moderní symboly bez rizika poškození dat.

## Kde se Base64 textové kódování používá?

Zatímco obrázky v Base64 slouží hlavně pro vkládání do CSS/HTML, textové Base64 má zcela jiné využití v backendových systémech:

### 1\. HTTP Basic Authentication

Když se přihlašujete k API, hlavička často vypadá takto: `Authorization: Basic dcW+aXZhdGVsOmhlc2xv` Za tímto kódem se skrývá jednoduše spojené jméno a heslo ve formátu `uživatel:heslo`. Náš nástroj vám umožní tyto hlavičky snadno generovat nebo kontrolovat.

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

Moderní webové aplikace používají pro přihlášení tzv. JWT. Takový token vypadá jako tři dlouhé řetězce oddělené tečkou. Část s daty (Payload) je obyčejný JSON objekt zakódovaný v Base64.

- **Tip:** Zkuste sem vložit prostřední část vašeho JWT tokenu a dekódovat ji. Uvidíte přesně, jaká data o vás aplikace eviduje (např. ID uživatele, expirace).

### 3\. Konfigurační soubory (Kubernetes Secrets)

Platformy jako Kubernetes ukládají tajné údaje (Secrets) v konfiguračních YAML souborech právě v Base64. Nejedná se o šifrování, ale o způsob, jak do textového souboru uložit binární data nebo text s problematickými znaky (nové řádky, uvozovky).

## Co je to “URL Safe Base64 encoding” a proč na tom záleží?

Standardní Base64 abeceda obsahuje znaky `+` (plus) a `/` (lomeno). Oba tyto znaky mají v URL adresách speciální význam:

- `/` odděluje adresáře.
- `+` se často interpretuje jako mezera.

Pokud byste poslali standardní Base64 v URL parametru (např. `site.com?token=ab/cd+ef`), server by mohl data přečíst špatně.

**Řešení (URL Safe mód):** Náš přepínač aktivuje variantu **Base64URL** (podle RFC 4648), která provádí tyto změny:

- `+` se mění na `-` (pomlčka).
- `/` se mění na `_` (podtržítko).
- Na konci se odstraňují znaky `=` (padding), které v URL nejsou potřeba.

---

## Mýtus: Base64 není šifrování!

Je důležité si uvědomit zásadní rozdíl, který začátečníci často pletou:

1. **Kódování (Encoding - Base64):** Slouží k přenosu dat. Je to jako zabalit věc do kufru, aby se nerozbila cestou. Kdokoliv kufr najde, může ho otevřít (dekódovat) a vidět obsah. **Není to bezpečné pro tajná data.**
2. **Šifrování (Encryption - AES, RSA):** Zamyká data klíčem. Bez klíče se k obsahu nedostanete.
3. **Hashování (Hashing - SHA, MD5):** Jednosměrný proces (např. pro ukládání hesel). Z výsledku nelze získat původní text.

*Pokud potřebujete poslat heslo nebo citlivý údaj, samotné Base64 nestačí. Musíte použít HTTPS (SSL/TLS), které přenos zašifruje.*

---

## Často kladené otázky (FAQ)

### Co znamenají znaky "=" na konci řetězce?

To je tzv. "padding" (vycpávka). Protože Base64 kóduje data po skupinách 3 znaků, může se stát, že délka původního textu není dělitelná třemi. Znaky \`=\` se přidávají na konec, aby dekodér poznal, kolik bitů má na konci ignorovat.

### Proč se dekódovaný text zobrazuje jako "rozsypaný čaj"?

Pravděpodobně se snažíte dekódovat data, která nejsou textem. Pokud Base64 řetězec reprezentuje zkomprimovaný soubor (ZIP), obrázek nebo šifrovaná data, převod na text (UTF-8) nedává smysl. Zkuste zjistit původ dat.

### Funguje nástroj offline?

Ano. Veškerá logika převodu je napsána v JavaScriptu a běží přímo ve vašem prohlížeči. Jakmile se stránka načte, můžete se odpojit od internetu a nástroj bude stále fungovat. Vaše data se nikam neodesílají.

## Other languages

- 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))
- Polski (pl): [Koder i dekoder Base64](https://acrafto.com/pl/koder-dekoder-base64-online/) ([Markdown](https://acrafto.com/pl/koder-dekoder-base64-online/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))
