# Base64 kódovač a dekódovač

> Pokročilý nástroj na kódovanie a dekódovanie textu do Base64. Rieši problémy so slovenčinou (UTF-8) a podporuje URL-safe formát. Beží v prehliadači, zadarmo.

URL: https://acrafto.com/sk/base64-kodovac-dekodovac-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.

Potrebujete previesť čitateľný text do formátu Base64 pre použitie v HTTP hlavičkách, alebo naopak rozlúštiť obsah API tokenu? Náš **Base64 Text Enkodér & Dekodér** je špecializovaný nástroj na prácu s textovými reťazcami, ktorý si poradí aj so záludnosťami, ako je diakritika alebo špeciálne znaky.

> **Pracujete s obrázkami?**  
> Ak váš kód začína `data:image/png...` alebo chcete previesť súbor na text, tento nástroj vám zobrazí len nezmyselné znaky. Použite náš špecializovaný nástroj na prevod na obrázok.

## Ako funguje formát Base64?

Mnoho ľudí používa Base64 denne, ale málokto vie, ako funguje “pod kapotou”. Nejde o mágiu, ale o jednoduchú matematiku s bitmi.

Bežný text v počítači je uložený po 8 bitoch (1 bajt). Base64 však používa “abecedu” so 64 znakmi (`A-Z`, `a-z`, `0-9`, `+`, `/`). Pretože `2^6 = 64`, jeden znak Base64 reprezentuje presne **6 bitov** informácie.

**Proces prevodu (Algoritmus):**

1. Vezmú sa tri znaky vášho textu (3 × 8 bitov = 24 bitov).
2. Týchto 24 bitov sa rozdelí na štyri skupiny po 6 bitoch.
3. Každej skupine sa priradí znak z tabuľky Base64.

**Dôsledok:** Pretože robíme z 3 znakov 4 znaky, výsledný Base64 reťazec je vždy približne **o 33 % dlhší** ako pôvodný text.

## Problém znakovej sady: Prečo bežné Base64 konvertory ničia slovenčinu?

Ak ste niekedy skúšali zakódovať slovo “Kôň” v konzole prehliadača pomocou funkcie `btoa('Kôň')`, pravdepodobne ste dostali chybu: *String contains characters outside of the Latin1 range.*

Base64 bol pôvodne navrhnutý pre 7-bitové ASCII znaky. Slovenčina, emoji a ďalšie špeciálne symboly (UTF-8) však zaberajú v pamäti viac bajtov (multibyte characters).

- Písmeno `a` = 1 bajt.
- Písmeno `ľ` = 2 bajty.
- Emoji 🚀 = 4 bajty.

Náš nástroj tento problém rieši. Pred samotným kódovaním do Base64 text správne prevedieme na sekvenciu UTF-8 bajtov. Vďaka tomu môžete bezpečne kódovať JSON objekty, slovenské texty aj moderné symboly bez rizika poškodenia dát.

## Kde sa Base64 textové kódovanie používa?

Zatiaľ čo obrázky v Base64 slúžia hlavne na vkladanie do CSS/HTML, textové Base64 má úplne iné využitie v backendových systémoch:

### 1\. HTTP Basic Authentication

Keď sa prihlasujete k API, hlavička často vyzerá takto: `Authorization: Basic cG91xb7DrXZhdGXEvjpoZXNsbw==` Za týmto kódom sa skrýva jednoducho spojené meno a heslo vo formáte `používateľ:heslo`. Náš nástroj vám umožní tieto hlavičky ľahko generovať alebo kontrolovať.

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

Moderné webové aplikácie používajú na prihlásenie tzv. JWT. Takýto token vyzerá ako tri dlhé reťazce oddelené bodkou. Časť s dátami (Payload) je obyčajný JSON objekt zakódovaný v Base64.

- **Tip:** Skúste sem vložiť prostrednú časť vášho JWT tokenu a dekódovať ju. Uvidíte presne, aké dáta o vás aplikácia eviduje (napr. ID používateľa, expirácia).

### 3\. Konfiguračné súbory (Kubernetes Secrets)

Platformy ako Kubernetes ukladajú tajné údaje (Secrets) v konfiguračných YAML súboroch práve v Base64. Nejde o šifrovanie, ale o spôsob, ako do textového súboru uložiť binárne dáta alebo text s problematickými znakmi (nové riadky, úvodzovky).

## Čo je to “URL Safe Base64 encoding” a prečo na tom záleží?

Štandardná Base64 abeceda obsahuje znaky `+` (plus) a `/` (lomka). Oba tieto znaky majú v URL adresách špeciálny význam:

- `/` oddeľuje adresáre.
- `+` sa často interpretuje ako medzera.

Ak by ste poslali štandardný Base64 v URL parametri (napr. `site.com?token=ab/cd+ef`), server by mohol dáta prečítať zle.

**Riešenie (URL Safe režim):** Náš prepínač aktivuje variant **Base64URL** (podľa RFC 4648), ktorá vykonáva tieto zmeny:

- `+` sa mení na `-` (pomlčka).
- `/` sa mení na `_` (podčiarkovník).
- Na konci sa odstraňujú znaky `=` (padding), ktoré v URL nie sú potrebné.

---

## Mýtus: Base64 nie je šifrovanie!

Je dôležité si uvedomiť zásadný rozdiel, ktorý začiatočníci často mýlia:

1. **Kódovanie (Encoding - Base64):** Slúži na prenos dát. Je to ako zabaliť vec do kufra, aby sa nerozbila cestou. Ktokoľvek kufor nájde, môže ho otvoriť (dekódovať) a vidieť obsah. **Nie je to bezpečné pre tajné dáta.**
2. **Šifrovanie (Encryption - AES, RSA):** Zamyká dáta kľúčom. Bez kľúča sa k obsahu nedostanete.
3. **Hashovanie (Hashing - SHA, MD5):** Jednosmerný proces (napr. na ukladanie hesiel). Z výsledku nemožno získať pôvodný text.

*Ak potrebujete poslať heslo alebo citlivý údaj, samotné Base64 nestačí. Musíte použiť HTTPS (SSL/TLS), ktoré prenos zašifruje.*

---

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

### Čo znamenajú znaky "=" na konci reťazca?

To je tzv. "padding" (výplň). Pretože Base64 kóduje dáta po skupinách 3 znakov, môže sa stať, že dĺžka pôvodného textu nie je deliteľná tromi. Znaky \`=\` sa pridávajú na koniec, aby dekodér poznal, koľko bitov má na konci ignorovať.

### Prečo sa dekódovaný text zobrazuje ako "rozsypaný čaj"?

Pravdepodobne sa snažíte dekódovať dáta, ktoré nie sú textom. Ak Base64 reťazec reprezentuje skomprimovaný súbor (ZIP), obrázok alebo šifrované dáta, prevod na text (UTF-8) nedáva zmysel. Skúste zistiť pôvod dát.

### Funguje nástroj offline?

Áno. Všetka logika prevodu je napísaná v JavaScripte a beží priamo vo vašom prehliadači. Akonáhle sa stránka načíta, môžete sa odpojiť od internetu a nástroj bude stále fungovať. Vaše dáta sa nikam neodosielajú.

## 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))
- 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))
