Base64 kodér a dekodér

Převádějte text a soubory do Base64 a zpět. Správně zachází s Unicode, podporuje base64url bezpečné pro URL a přesně řekne, proč neplatný vstup selhal.

Běží v prohlížečiBez registraceNic se neodesílá

Výstup Base64

Jak používat: Base64 kódování / dekódování

  1. Zvolte Kódovat nebo Dekódovat.
  2. Napište nebo vložte vstup. Výsledek se aktualizuje během psaní.
  3. Pro URL, JWT a názvy souborů zaškrtněte Bezpečné pro URL, aby se použily - a _, a případně vynechte doplnění =.
  4. Pro vložení obrázku nebo fontu klikněte na Kódovat soubor a nechte zaškrtnuté Výstup jako data URI.
  5. Zkopírujte výsledek, nebo ho tlačítkem Prohodit pošlete zpět opačným směrem.

Jak Base64 funguje

Base64 reprezentuje binární data pomocí 64 tisknutelných znaků ASCII: A-Z, a-z, 0-9, + a /. Každé 3 bajty vstupu se stanou 4 znaky, takže zakódovaná data jsou asi o 33 % větší. Když délka vstupu není násobkem 3, výstup se doplní jedním nebo dvěma znaky =. Base64 je kódování, ne šifrování: dekódovat ho může kdokoli.

Standardní Base64 vs. base64url

Znaky + a / mají v URL a cestách k souborům zvláštní význam. Abeceda bezpečná pro URL z RFC 4648 §5 je nahrazuje znaky - a _ a obvykle vynechává doplnění. JWT, mnoho parametrů OAuth a některá cloudová API používají base64url. Zdejší dekodér automaticky přijímá obě abecedy.

Unicode a past btoa()

V prohlížečích btoa("café") funguje, ale btoa("日本") vyhodí výjimku, protože btoa přijímá jen Latin-1. Správný postup je nejprve zakódovat text na bajty UTF-8, což tento nástroj dělá. V JavaScriptu: btoa(String.fromCharCode(...new TextEncoder().encode(text))), v Node.js Buffer.from(text).toString('base64').

Běžné použití

  • Data URI pro malé obrázky a fonty v CSS nebo HTML
  • Hlavičky HTTP Basic authentication (zakódované user:password)
  • Binární přílohy v JSON payloadech a e-mailech (MIME)
  • Kubernetes Secrets, které ukládají hodnoty v Base64

Časté dotazy

Je Base64 šifrování?
Ne. Base64 je vratné kódování bez klíče. Dekódovat ho může kdokoli, takže ho nikdy nepoužívejte ke skrývání hesel nebo tajemství.
Proč se moje Base64 nedá dekódovat?
Častými příčinami jsou znaky mimo abecedu (často zatoulaná uvozovka nebo zalomení řádku z kopírování), zkrácený řetězec nebo příměs textu, který není Base64. Chybová zpráva ukazuje pozici prvního problému.
Dekódovaný výstup vypadá jako nesmysl. Proč?
Data jsou nejspíš binární, například obrázek, komprimovaný soubor nebo šifrované bajty, a ne text. Nástroj to rozpozná, zobrazí hex výpis a umožní stáhnout surové bajty.
Potřebuji doplnění =?
Mnoho dekodérů včetně tohoto funguje i bez něj, protože z délky poznají, kolik bajtů chybí. Některé striktní dekodéry ho vyžadují. JWT a většina použití base64url doplnění vynechává.
Nahrávají se moje soubory?
Ne. Soubory se čtou a kódují lokálně přes File API prohlížeče. Nic se neposílá na server.

Související nástroje