Zakódovat obrázek do Base64 / Data URI
- Dashboard
- Dokumentace
- API
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:
- Nahrajte obrázek (PNG, JPG, SVG, WebP, GIF) přes drop zónu
- Klikněte na « Kódovat »
- 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ástrojeGET https://cdrn.fr/api/v1/tools/base64-image-encoder- získá schéma tohoto nástrojePOST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute- spustí tento nástroj s JSON payloadem