Zakódovat obrázek do Base64 / Data URI

převede vaše obrázky na base64 soubory, ideální pro integraci obrázků přímo do HTML nebo CSS kódu
Formát souboru

Můžete načíst neomezený počet obrázků o maximální váze 20M.

Bezpečnost

Vaše data nejsou uložena na našich serverech.

Podporované prohlížeče

Všechny nedávné prohlížeče jsou podporovány. Pokud přesto narazíte na bug, dejte nám vědět pro opravu.

Co je Data URI?

Data URI je URL, která obsahuje přímo data zdroje místo odkazu na vzdálený soubor. Obecný tvar je data:[<mediatype>][;base64],<data>. Pro obrázek typicky máme data:image/png;base64,iVBORw0KGgo…. Zdroj je vložen do HTML, CSS nebo JSON a načten bez jakéhokoli dodatečného HTTP požadavku.

Proč kódovat obrázek do Base64?

Časté motivace:

  • Redukce HTTP požadavků: integrace ikony přímo do CSS místo dodatečného načítání
  • Inline emailový podpis: žádné riziko, že bude obrázek blokován jako vzdálený obsah
  • Web Components / Web Workers: kde načtení externího zdroje často způsobuje problém se scope nebo CORS
  • Lokální úložiště (LocalStorage, IndexedDB, databáze): serializace miniaturního avataru jako řetězec
  • Self-contained snippets: HTML soubor, který si vystačí sám, bez externí závislosti

Typické případy použití

Některé konkrétní kontexty, kde se base64 kódování obrázku ospravedlňuje:

  • Inline SVG ikony v CSS (background-image: url("data:image/svg+xml;base64,…"))
  • Personalizované emailové podpisy s logem
  • Rychlé prototypování autonomní stránky sdílené e-mailem
  • Autonomní web components (jediný nasaditelný soubor)
  • Generování PDF na straně prohlížeče (jsPDF) s vloženými miniaturami
  • Testovací data (mocks) obsahující obrázky

Jak ho používat

Tři kroky:

  1. Nahrajte obrázek (PNG, JPG, SVG, WebP, GIF) přes drop zónu
  2. Klikněte na « Kódovat »
  3. Zkopírujte výslednou Data URI věnovaným tlačítkem a vložte ji do svého HTML, CSS nebo JSON

Limity a osvědčené postupy

Base64 není zázračné řešení. Několik opatření:

  • Base64 zvětšuje velikost o ~33 %: 4 ASCII znaky na každé 3 binární bajty
  • Kódované obrázky nejsou cachovány samostatně prohlížečem; načítají se s HTML/CSS, které je obsahuje
  • Preferovat pro obrázky menší než 10 KB; nad to je externí soubor obvykle efektivnější
  • Pro SVG preferovat URL kódování (přes encodeURIComponent) místo Base64: výsledek je kratší a zůstává parsovatelný jako text
  • Moderní build nástroje (Webpack, Vite) automatizují volbu Base64 vs. externí soubor přes konfigurovatelný velikostní práh

Konkrétní příklady

HTML:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgYAAAAAMAAS+rJYwAAAAASUVORK5CYII=" alt="pixel">

CSS:

.icon {
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0i…") no-repeat;
  width: 16px;
  height: 16px;
}

JSON (mock data):

{
  "user": {
    "name": "Adrien",
    "avatar": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA…"
  }
}

FAQ

Jaký je rozdíl mezi Base64 a binárním?

Binární reprezentuje surové bajty souboru. Base64 je kódování, které transformuje tyto bajty do 64 tisknutelných ASCII znaků (A-Z, a-z, 0-9, +, /). Textové kontexty (HTML, JSON, email) nemohou přenášet binární data; Base64 řeší tento problém za cenu 33 % větší velikosti.

Proč je moje Data URI tak dlouhá?

Obrázek o 30 KB v binární podobě se v Base64 stane ~40 KB. A každý znak je jeden ASCII bajt, takže ano, řetězec je dlouhý. Je to inherentní kódování. Pro velké obrázky raději externí soubor.

Podporují všechny prohlížeče Data URI?

Ano, bez výjimky v moderních prohlížečích (Chrome, Firefox, Safari, Edge dokonce od IE8). Historické limity: IE8 měl strop 32 KB. Dnes na webu žádná starost.

Jak dekódovat Data URI?

Náš dekodér Base64 obrázků dělá opačnou operaci: vložte vaši Data URI, získejte obrázek (PNG, JPG, SVG, WebP) připravený k nahrání nebo uložení.

Base64 vs. URL kódování pro SVG?

Pro SVG produkuje URL kódování (s encodeURIComponent) kratší řetězec než Base64 a zůstává čitelné jako text. To je doporučená volba v CSS při vkládání inline SVG. Pro binární formáty (PNG, JPG) zůstává Base64 povinný.

Ovlivňuje Base64 kódování kvalitu obrázku?

Ne. Kódování je bezztrátové: je to bijekce binární bajt ↔ Base64 řetězec. Pixely originálu jsou striktně zachovány. Pouze velikost přenášeného souboru roste o 33 %.

Často kladené otázky

Kdy je lepší se Data URI vyhnout?

Jakmile obrázek přesáhne deset kilobajtů a může být znovu použit na více stránkách, je externí soubor preferovaný. Prohlížeč jej pak může cachovat odděleně od HTML, které jej referencuje. Data URI prodlužuje hlavní dokument a nutí znovu stahovat obrázek při každém načtení stránky.

Je můj obrázek odesílán na server?

Obrázek prochází naším serverem po dobu kódování a není uchován po vrácení výsledku. Žádná třetí služba není volána. Pro striktně důvěrný soubor je lokální ekvivalent base64 -w 0 muj-obrazek.png na Linuxu nebo certutil -encode ve Windows.

Proč preferovat URL kódování místo base64 pro SVG?

SVG je XML text. Kódován v base64 se stává nečitelným a asi o 33 % objemnější. V URL kódování přes encodeURIComponent zůstává výsledek čitelný a kratší. V CSS dává psaní url("data:image/svg+xml;utf8,<svg…>") s escapovanými speciálními znaky menší konečný soubor než base64 verze.

Jakou maximální velikost mohu kódovat?

Velikost souboru přijímaná formulářem je omezena na několik megabajtů, dostatek pro velkou většinu ikon, miniatur a avatarů. Nad to vyjdete z rozumného případu použití Data URI: statický soubor servírovaný vaším CDN bude mnohem efektivnější pro prohlížeč i pro vaše Core Web Vitals metriky.

Proč prohlížeč necachuje Data URI?

HTTP cache funguje podle URL. Data URI je součástí dokumentu, který ji obsahuje, takže se znovu načítá s ním. Externí ikona v icon.png, naopak, je cachována jednou provždy a opakovaně používána na všech stránkách, které ji referencují. To je hlavní důvod, proč Data URI zůstává nišovým nástrojem, ne obecnou náhradou.

Ukázka požadavku

curl -X POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute \
  -F "file=@/path/to/file"

Vstupní schéma

Pole Typ Povinné Výchozí
file file

tento nástroj očekává soubor - použijte Content-Type multipart/form-data místo application/json

Koncové body

  • GET https://cdrn.fr/api/v1/tools - vypíše všechny dostupné nástroje
  • GET https://cdrn.fr/api/v1/tools/base64-image-encoder - získá schéma tohoto nástroje
  • POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute - spustí tento nástroj s JSON payloadem