Převodník Base64 na obrázek
Vložíš řetězec Base64, klikneš na Dekódovat a stáhneš hotový obrázkový soubor. Převodník rozpozná osm formátů a výsledek je bajt po bajtu shodný se souborem, který byl kdysi zakódován. Textový zápis je přitom o třetinu delší než samotný soubor.
Náhled obrázku
Co je Base64 a co je data URI?
Base64 zapisuje binární data, tedy i hotový obrázkový soubor, jako řetězec obyčejných textových znaků. Převod postupuje po třech bajtech. Bajt má osm bitů, zatímco jediný znak Base64 jich nese šest. Tři bajty souboru se proto vejdou přesně do čtyř textových znaků. Abeceda má 64 pozic: velká písmena od A do Z, malá od a do z, číslice od 0 do 9 a k tomu plus a lomítko. Když na konci chybí bajty do plné čtveřice znaků, volná místa zabere znak rovná se.[1]

Takto se přenášejí přílohy elektronické pošty a stejně tak se obrázek dostane přímo do kódu stránky, bez samostatného souboru na serveru.[2]
Samotný řetězec zatím neříká, co představuje. To řekne až adresa data URI, jejíž stavbu popisuje dokument RFC 2397 ze srpna 1998. Má podobu data:[typ][;base64],data. U obrázku PNG vypadá začátek takto: data:image/png;base64, — a hned za čárkou následuje vlastní řetězec. Když typ chybí, příjemce předpokládá, že dostal obyčejný text.[3]
Prohlížeče dnes blokují otevírání adres data: v hlavním okně, protože se tímto způsobem šířily phishingové stránky.[4] Obrázek uložený v takové adrese si tedy prohlédneš v kódu, který ho obsahuje, nebo v nástroji, který tuto adresu přečte. Stačí vložit řetězec do pole výše a stisknout tlačítko Dekódovat.
Jak převést Base64 na obrázek?
Vlož řetězec do pole Base64 na levé straně a stiskni tlačítko Dekódovat. Obrázek se objeví v kartě Náhled obrázku a pod ním zůstane tlačítko Stáhnout, které soubor uloží na disk pod názvem dekodovany-obrazek. Tlačítko Vymazat vše vyprázdní pole i náhled najednou.
Prefix data:image/png;base64, můžeš vložit spolu s řetězcem, nebo ho nechat v kódu, ze kterého kopíruješ. Bez prefixu přečte převodník prvních osmnáct bajtů dat a rozpozná formát podle signatury samotného souboru. Na tomto rozpoznání závisí přípona staženého souboru: obrázek BMP se uloží jako dekodovany-obrazek.bmp a ikona webu jako dekodovany-obrazek.ico.
Řetězec zkopírovaný ze zdrojového kódu e-mailu bývá zalomený po 76 znacích a převodník ho přečte právě v této podobě. Standard, podle kterého prohlížeče čtou Base64, nařizuje nejprve odstranit z dat všechny bílé znaky, tedy i mezery a konce řádků.[5] Řetězec vložený na tucet řádků dá stejný obrázek jako řetězec vložený na jediný řádek.
Celá práce probíhá na tvém počítači. Řetězec zůstává v paměti otevřené karty, soubor vzniká na tvém zařízení a po zavření stránky obojí zmizí z paměti prohlížeče.
Nad poli stojí přepínač formátů s nápisem Base64 na JPG. Kliknutí na kterýkoli z obou formátů otevře seznam a volba z něj tě přenese na stránku převodníku pro tuto dvojici. Opačný směr, tedy zápis hotového souboru jako řetězce znaků, obstará převodník obrázku na Base64.
Proč je řetězec Base64 delší než soubor?
Textový zápis potřebuje čtyři znaky na každé tři bajty, takže řetězec zabere víc místa než data, která popisuje. Výpočet je krátký: počet bajtů vydělíš třemi, výsledek zaokrouhlíš nahoru a vynásobíš čtyřmi.
Z tohoto vzorce vycházejí dvě čísla, která ukazují měřítko. Ikona webu váží 2 678 bajtů a po zakódování dá 3 572 znaků. Fotografie o rozměrech 1920 na 1280 pixelů váží 476 485 bajtů a její textový zápis má 635 316 znaků. Přírůstek činí pokaždé zhruba třetinu, tedy asi 33 procent.[2] Přesně o tolik naroste i soubor se styly nebo šablona zprávy, do nichž se takový obrázek vloží.
Base64 data přenáší a nic v nich nemění. Po dekódování dostaneš soubor bajt po bajtu shodný s tím, který byl kdysi zakódován. Ověřili jsme to na osmi souborech různých formátů, když jsme porovnali jejich kontrolní součty před zakódováním a po zpětném přečtení.
Délku řetězce omezuje samotný prohlížeč. Chromium a Firefox dnes přijímají adresy data: do 512 MB a Safari do 2048 MB. Ve Firefoxu se tato hranice posunula dvakrát. Verze 97 ji zvedla z 256 KB na 32 MB. Verze 136 ji dovedla k dnešním 512 MB.[4]
Jaké formáty převodník rozpozná?
| Formát obrázku | Signatura | Typ MIME | Přípona |
|---|---|---|---|
| PNG | 89 50 4E 47 | image/png | .png |
| JPG | FF D8 | image/jpeg | .jpg |
| WebP | RIFF + WEBP | image/webp | .webp |
| GIF | GIF87a / GIF89a | image/gif | .gif |
| AVIF | ftypavif | image/avif | .avif |
| BMP | BM | image/bmp | .bmp |
| SVG | <svg / <?xml | image/svg+xml | .svg |
| ICO | 00 00 01 00 | image/x-icon | .ico |
Kolik znaků má obrázek zapsaný v Base64?
| Obrázek | Rozměry v pixelech | Velikost souboru v bajtech | Znaků v řetězci Base64 |
|---|---|---|---|
| Ikona webu v PNG | 32 × 32 | 2 678 | 3 572 |
| Grafika na stránku ve WebP | 800 × 600 | 104 128 | 138 840 |
| Fotografie k článku v JPG | 1200 × 630 | 157 419 | 209 892 |
| Fotografie na banner v JPG | 1920 × 1280 | 476 485 | 635 316 |
| Logo s průhledným pozadím v PNG | 512 × 512 | 577 420 | 769 896 |
| Fotografie z fotoaparátu v JPG | 3840 × 2560 | 1 405 512 | 1 874 016 |
Čím se liší dvě abecedy Base64?
| Prvek zápisu | Standardní abeceda | Abeceda pro adresy a názvy souborů |
|---|---|---|
| Znak s číslem 62 | plus | spojovník |
| Znak s číslem 63 | lomítko | podtržítko |
| Výplňový znak | rovná se | rovná se, v tokenech se obvykle vynechává |
| Kde ji potkáš | adresy data URI, kód stránky, přílohy pošty | parametry adresy, tokeny JWT, názvy souborů |
| Co s takovým řetězcem | vlož ho do pole a stiskni Dekódovat | zaměň každý spojovník za plus a každé podtržítko za lomítko, pak stiskni Dekódovat |
Kde najdeš řetězec Base64 k vložení?
Čtyři místa, kde je obrázek zapsaný textem, spolu s tím, kterou část označit.
Zdrojový kód stránky obsahuje řetězec v atributu src
Otevři stránku a stiskni Ctrl+U, na Macu Cmd+Option+U. V okně s kódem najdi úsekdata:image. Označ ho spolu s celým řetězcem, který za ním následuje, až po uvozovku uzavírající atributsrc.Soubor se styly si ho ukládá do vlastnosti background-image
Obrázek na pozadí bývá zapsaný jakobackground-image: url("data:image/png;base64,…"). Do pole vlož jen samotnou adresu, tedy úsek od slovadatapo uzavírací uvozovku, a vynechurl(na začátku i závorku na konci.E-mail ho nese ve svém zdrojovém kódu
Zobrazení zdrojového kódu zprávy ukáže obrázky vložené přímo do těla. Předchází jim hlavičkaContent-Transfer-Encoding: base64a samotný řetězec začíná po prázdném řádku a je zalomený po 76 znacích. Zkopíruj ho celý, i s tímto zalomením.Odpověď API ho předá jako hodnotu pole
JSON přenáší pouze text, a tak služby vracející obrázek ho vracejí právě v Base64, jako hodnotu jediného pole. Zkopíruj obsah tohoto pole bez uvozovek, které ho obklopují.
Co s obrázkem po dekódování?
Stažený soubor je běžný obrázek a vstoupí do každého dalšího nástroje.
Obrázek dostane nové rozměry
Soubor vytažený z kódu má rozměry, které kdosi vybral pro onu stránku. Nové mu dáš v editoru obrázků, kde ořízneš výřez a zadáš cílovou šířku.Soubor míří na webovou stránku
PNG vytažené ze stylu obvykle váží víc, než dnešní stránka potřebuje. Lehčí soubor se zachovanou průhledností připraví převodník PNG na WebP.Dekódovaný soubor se ukázal jako ikona webu
Přípona.icoznamená, že dekódovaný soubor je ikona webu. Zbývající velikosti ikony spolu s hotovými značkami k vložení do kódu ti dá generátor favicon.Opačný směr
Vlastní obrázek proměníš v řetězec připravený k vložení do kódu převodníkem obrázku na Base64. Je to tatáž dvojice nástrojů, jen obráceně.
Převést ostatní soubory do formátu JPG
Zdroje
- RFC 4648: The Base16, Base32, and Base64 Data Encodings — IETF
- Base64 — Wikipedie
- RFC 2397: The "data" URL scheme — IETF
- Data URLs — MDN Web Docs
- Infra Standard, forgiving base64 decode — WHATWG
Velikosti souborů v tabulkách jsme změřili tak, že jsme hotové obrázky protáhli tímto převodníkem v prohlížeči, a uvádíme je tak, jak je počítá nástroj. Popisy obou formátů vycházejí ze zdrojů uvedených výše.
Poslední revize obsahu: · napsal a zkontroloval tým Arteon
Nejčastější dotazy k převodu Base64 na obrázek
Co dělat, když řetězec nemá prefix data:image/…?
Vlož samotný řetězec a stiskni Dekódovat. Převodník přečte prvních osmnáct bajtů dat, rozpozná podle nich formát a chybějící prefix si doplní sám, ještě než vykreslí náhled.
Dostane se vložený řetězec na server?
Celá práce probíhá ve tvém prohlížeči. Řetězec zůstává v paměti karty od vložení až po zavření stránky a soubor, který stahuješ, vzniká na tvém vlastním zařízení.
Mění dekódování kvalitu obrázku?
Dekódovaný soubor je bajt po bajtu shodný se souborem, který byl zakódován. Base64 přenáší data v jiné podobě a nic z nich neubírá, takže kvalita závisí jen na originálu.
Řetězec má spojovníky a podtržítka místo plusu a lomítka. Co s tím?
To je abeceda určená pro adresy a názvy souborů, popsaná v oddílu 5 dokumentu RFC 4648. Zaměň v editoru každý spojovník za plus a každé podtržítko za lomítko, výsledek vlož do pole a stiskni Dekódovat.
Jak dlouhý řetězec prohlížeč přijme?
Chromium a Firefox dnes zvládají adresy data: do 512 MB a Safari do 2048 MB. Fotografie z fotoaparátu dá po zakódování řetězec pod dva miliony znaků, tedy méně než 2 MB textu, a do těchto mezí se vejde s velkou rezervou.
Proč řetězec vložený do adresního řádku obrázek neukáže?
Prohlížeče blokují otevírání adres data: v hlavním okně, protože se tímto způsobem rozesílaly phishingové stránky. Obrázek z takové adresy uvidíš v kódu, který ho obsahuje, nebo v tomto převodníku.
Otevře převodník i adresu zapsanou procenty, bez Base64?
Ano. Adresu ve tvaru data:image/svg+xml,%3Csvg… vložíš stejně jako kteroukoli jinou a stažený soubor dostane příponu .svg. Tento zápis používají nástroje pro sestavení webu, když vkládají vektorovou grafiku přímo do kódu.
Jak proměním vlastní obrázek v řetězec Base64?
Tento směr obstará převodník obrázku na Base64. Nahraješ tam soubor a nástroj vrátí hotovou data URI k vložení do kódu.

Pomozte nám vylepšit naše nástroje
Máte nápad, našli jste chybu nebo chcete něco navrhnout? Napište nám – odpovíme do 24 hodin.







