Base64 je schéma kódování binárních dat do textu, které představuje binární data pomocí sady 64 tisknutelných ASCII znaků. Bylo navrženo pro bezpečný přenos binárních dat přes systémy, které pracují pouze s textem — jako je e-mail (MIME), HTTP hlavičky a XML. Název "Base64" pochází od 64 znaků použitých v kódovací abecedě.
Kódování funguje tak, že tři bajty vstupu (24 bitů) rozdělí do čtyř 6-bitových skupin. Každá 6-bitová hodnota se přiřadí jednomu znaku v abecedě Base64. Pokud délka vstupu není násobkem tří, přidají se znaky výplně (=), aby výstup dosáhl násobku čtyř znaků. Výsledkem je řetězec přibližně o 33 % větší než původní data, ale bezpečný pro přenos jako prostý text.
Proč použít tento nástroj?
Tento kodér správně zpracovává text Unicode, podporuje standardní i URL-safe varianty a kóduje zcela v prohlížeči — vaše data nikdy neopustí váš počítač.
⚡
Okamžité kódování
Výsledky se zobrazují během psaní. Žádná tlačítka ke kliknutí, žádné čekání na odpověď serveru.
🔗
Přepínač URL-safe
Přepínejte jedním kliknutím mezi standardním (+/) a URL-safe (-_) kódováním. Doplnění se pro variantu URL-safe automaticky odstraňuje.
🔒
Plně na straně klienta
Veškeré kódování probíhá lokálně ve vašem prohlížeči pomocí nativního API btoa a TextEncoder. Na žádný server se nic neodesílá.
🎛️
Podpora Unicode
Správně zpracovává plný Unicode včetně emodži, znaků CJK a libovolného textu UTF-8 pomocí encodeURIComponent před kódováním.
Jak používat tento online encoder Base64
Žádný účet, žádná instalace, žádné nahrávání — vložte text a zakódovaný výstup se okamžitě zobrazí.
1
Vložte nebo napište text
Klikněte na vstupní pole a vložte libovolný text — prosté řetězce, JSON payloady, API klíče, e-mailové adresy nebo libovolný obsah UTF-8. Kódování se live aktualizuje během psaní.
2
Vyberte variantu
Vyberte Standard (RFC 4648) pro MIME, HTTP Basic Auth a obecné použití. Vyberte URL-safe pro JWT tokeny, parametry query stringu, názvy souborů a jakýkoli kontext, kde by + nebo / narušily parsování URL.
3
Zkopírujte výstup
Kliknutím na Kopírovat odešlete řetězec Base64 do schránky jedním klikem. Výstup je připraven k přímému vložení do kódu, konfiguračního souboru nebo API požadavku.
4
Použijte ve své aplikaci
Vložte zakódovaný řetězec tam, kde je potřeba — Authorization hlavičky, data URI, JSON pole, proměnné prostředí nebo Kubernetes secrets. Pro URL-safe výstup je odsazení již odstraněno.
Abeceda Base64
Base64 používá 64 znaků: velká písmena A–Z (hodnoty 0–25), malá písmena a–z (26–51), číslice 0–9 (52–61) a dva speciální znaky pro hodnoty 62 a 63. Standardní varianta RFC 4648 používá + a /; varianta URL-safe je nahrazuje - a _, aby se předešlo konfliktům v URL a názvech souborů.
A–Z
0–25
ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z
26–51
abcdefghijklmnopqrstuvwxyz
0–9
52–61
0123456789
+, /
62–63
Standard RFC 4648 — vyhněte se v URL a názvech souborů
-, _
62–63
Varianta URL-safe (RFC 4648 §5) — bezpečná v URL a názvech souborů
Standardní Base64 vs URL-safe
Standardní abeceda Base64 používá + a /, což jsou speciální znaky v URL a cestách k souborům. Varianta URL-safe je nahrazuje - a _ a obvykle vynechává doplňkové znaky =. Používejte URL-safe kódování pro JWT tokeny, data v řetězcích dotazů, názvy souborů a jakýkoli kontext, kde by + nebo / mohly být nesprávně interpretovány.
Vstup
Standardní
URL-safe
Man
TWFu
TWFu
Hello
SGVsbG8=
SGVsbG8
A
QQ==
QQ
1+1=2
MSsxPTI=
MSsxPTI
Běžné případy použití
E-mailové přílohy (MIME)
SMTP byl navržen pro 7bitový ASCII text. Kódování Base64 používá standard MIME k bezpečnému vložení binárních příloh (obrázky, PDF, spustitelné soubory) do e-mailových zpráv.
Datová URI
Vkládejte obrázky, písma a další prostředky přímo do HTML nebo CSS pomocí datových URI: data:image/png;base64,... — čímž odstraníte zbytečné HTTP požadavky pro malé prostředky.
API payloady
REST API často vyžadují Base64 kódování binárních polí (nahrávání souborů, kryptografické klíče, certifikáty) při vkládání do JSON, protože JSON nemá binární typ.
Konfigurační soubory
Kubernetes tajemství, proměnné prostředí a konfigurace CI/CD běžně ukládají binární tajemství a certifikáty jako řetězce Base64, aby se předešlo problémům s escapováním.
HTTP Basic Auth
HTTP hlavička Authorization: Basic kóduje přihlašovací údaje jako Base64(uživatelské_jméno:heslo). To není šifrování — poskytuje pouze kódování pro přenos v hlavičkách.
JWT tokeny
JSON Web Tokeny používají URL-safe Base64 (base64url) ke kódování segmentů hlavičky a payloadu, čímž je token bezpečný pro použití v URL a HTTP hlavičkách bez escapování.
Kdy Base64 NEPOUŽÍVAT
Base64 je transportní kódování, nikoli bezpečnostní mechanismus. Toto jsou nejčastější nesprávná použití způsobující reálné problémy v produkci:
✕
Ne pro bezpečnost ani šifrování
Base64 je triviálně reverzibilní — k jeho dekódování není potřeba žádný klíč ani heslo. Kdokoli, kdo uvidí řetězec Base64, ho může dekódovat během sekund. Nikdy nepoužívejte Base64 jako náhradu za šifrování, hashování nebo řízení přístupu.
✕
Ne pro kompresi
Base64 zvyšuje velikost výstupu o přibližně 33 %. Je opakem komprese. Nepoužívejte ho ke snížení velikosti payloadu — použijte místo toho gzip, Brotli nebo zstd.
✕
Ne pro ukládání binárních souborů
Ukládání velkých binárních souborů jako Base64 v databázích nebo JSON API výrazně plýtvá úložným prostorem a pamětí. Použijte objektové úložiště (S3, R2, Cloudflare) a obsluhujte binární soubory přímo.
Příklady kódu
Jak zakódovat řetězec v Base64 v populárních jazycích a prostředích:
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, '')
Online existuje několik encoderů Base64. Klíčové rozdíly pro každodenní použití vývojáři jsou soukromí, správnost a podpora variant.
Plně soukromé — žádný server
Tento encoder běží zcela ve vašem prohlížeči pomocí nativního API btoa a TextEncoder. Váš text není nikdy přenášen na žádný server — bezpečné pro API klíče, tokeny a tajemství.
Unicode-správné kódování
Mnoho online nástrojů Base64 tiše poškozuje neASCII vstup. Tento nástroj správně zpracovává celý Unicode — emoji, CJK, arabštinu a veškerý text UTF-8 — předchozím kódováním do bytů UTF-8.
Obě varianty na jednom místě
Většina nástrojů nabízí pouze standardní Base64. Tento encoder poskytuje standardní variantu (+/) i URL-safe variantu (-_) s automatickým zpracováním odsazení — bez potřeby ručního nahrazování znaků.
Často kladené dotazy
Je Base64 totéž co šifrování?
Ne. Base64 je schéma kódování, nikoli šifrování. Je triviálně reverzibilní kýmkoliv — k jeho dekódování není potřeba žádný klíč ani heslo. Nikdy nepoužívejte Base64 k ochraně citlivých dat. K tomuto účelu použijte řádné šifrování (AES, RSA).
Proč výstup Base64 končí = nebo ==?
Base64 pracuje ve skupinách po 3 bajtech (24 bitech), přičemž produkuje 4 znaky Base64. Pokud délka vstupu není násobkem 3, přidají se doplňkové znaky (=), aby délka výstupu byla násobkem 4. Jeden = znamená, že poslední skupina měla 2 bajty; dva = znamenají, že měla 1 bajt.
Co je URL-safe Base64?
URL-safe Base64 (definovaný v RFC 4648 §5) nahrazuje + za - a / za _, takže zakódovaný řetězec lze použít v URL, názvech souborů a HTTP hlavičkách bez procentového kódování. Obvykle také vynechává doplňkové znaky =.
O kolik Base64 zvyšuje velikost souboru?
Kódování Base64 zvyšuje velikost přibližně o 33 %. Každé 3 bajty vstupu se stanou 4 znaky výstupu. Pro soubor o velikosti 1 MB bude výstup Base64 přibližně 1,37 MB.
Mohu s tímto nástrojem kódovat binární soubory?
Tento nástroj kóduje textové řetězce (které jsou pak zpracovány jako bajty UTF-8). Pro kódování libovolných binárních souborů (obrázky, PDF, spustitelné soubory) použijte jazykovou knihovnu nebo CLI nástroj, který čte surové bajty.
Jaký je rozdíl mezi btoa() a Buffer.from().toString('base64')?
btoa() je vestavěná funkce prohlížeče pracující s řetězci Latin-1; pro znaky mimo ASCII vyhodí chybu, pokud je nejprve nezakódujete na bajty UTF-8 (pomocí encodeURIComponent). Buffer.from(text).toString('base64') v Node.js zpracovává řetězce UTF-8 přímo a je preferovaným přístupem na straně serveru.
Funguje Base64 s binárními soubory?
Tento nástroj kóduje textové řetězce jako UTF-8 byty do Base64. Pro binární soubory (obrázky, PDF, spustitelné soubory) použijte CLI nástroj nebo jazykovou knihovnu, která čte surové byty. V prohlížeči použijte FileReader.readAsDataURL(), které vrátí data URI s binárním obsahem zakódovaným v Base64.
Existuje limit velikosti pro kódování?
Tento nástroj běží zcela v prohlížeči bez serverového limitu. Praktické limity závisí na paměti vašeho prohlížeče. Pro velmi velké vstupy (nad několik MB) je efektivnější CLI nástroj jako base64 (Linux/macOS) nebo certutil -encode (Windows).