Kép kódolása Base64 / Data URI-be
- Irányítópult
- Dokumentáció
- API
Fájlformátum
Korlátlan számú képet tölthet fel, legfeljebb 20M.
Biztonság
Az Ön adatait nem tároljuk szervereinken.
Támogatott böngészők
Az összes legújabb böngésző támogatott. Ha azonban hibát észlel, tudassa velünk a javítás érdekében.
Mi az a Data URI?
A Data URI egy olyan URL, amely egy távoli fájlra való mutatás helyett közvetlenül tartalmazza egy erőforrás adatait. Általános formája:
data:[<mediatype>][;base64],<data>. Egy kép esetén ez jellemzően
data:image/png;base64,iVBORw0KGgo…. Az erőforrás beágyazódik a HTML, CSS vagy JSON kódba, és minden további HTTP kérés nélkül betöltődik.
Miért kódoljunk képet Base64 formátumba?
A leggyakoribb okok:
- HTTP kérések csökkentése: egy ikon közvetlen beágyazása a CSS-be ahelyett, hogy külön töltenénk be a dokumentum mellett.
- E-mail aláírás beágyazott képpel: nincs kockázata annak, hogy a képet távoli tartalomként blokkolják.
- Web Components / Web Workers: ahol egy külső erőforrás betöltése gyakran scope vagy CORS problémákat okoz.
- Helyi tárolás (LocalStorage, IndexedDB, adatbázis): egy avatár bélyegképének sorosítása karakterláncként.
- Önálló kódrészletek: egy HTML fájl, amely önmagában is működőképes, külső függőségek nélkül.
Jellemző felhasználási esetek
Néhány konkrét kontextus, ahol a Base64 képkódolás indokolt:
- Beágyazott SVG ikonok CSS-ben (
background-image: url("data:image/svg+xml;base64,…")) - Személyre szabott e-mail aláírások logóval
- E-mailben megosztott önálló oldalak gyors prototipizálása
- Önálló webkomponensek (egyetlen telepíthető fájl)
- PDF generálás böngésző oldalon (jsPDF) beágyazott bélyegképekkel
- Képeket tartalmazó tesztadatok (mockok)
Hogyan használjuk
Három lépés:
- Töltse fel a képet (PNG, JPG, SVG, WebP, GIF) a feltöltési zónán keresztül.
- Kattintson a „Kódolás” gombra.
- Másolja ki a kapott Data URI-t a megfelelő gombbal, és illessze be a HTML, CSS vagy JSON kódjába.
Korlátok és bevált gyakorlatok
A Base64 nem csodaszer. Néhány óvintézkedés:
- A Base64 ~33%-kal növeli a méretet: 4 ASCII karakter minden 3 bináris bájt után.
- A kódolt képeket a böngésző nem gyorsítótárazza külön; azokat a tartalmukkal együtt tölti be újra a HTML/CSS-sel.
- Érdemes 10 KB alatti képeknél használni; e felett általában hatékonyabb egy külső fájl.
- SVG esetén preferálja az URL kódolást (
encodeURIComponent-en keresztül) a Base64 helyett: az eredmény rövidebb és szövegként olvasható marad. - Modern build eszközök (Webpack, Vite) automatizálják a választást a Base64 és a külső fájl között egy beállítható méretkorlát alapján.
Konkrét példák
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 adatok):
{
"user": {
"name": "Adrien",
"avatar": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA…"
}
}
GYIK
Mi a különbség a Base64 és a bináris között?
A bináris a fájl nyers bájtjait képviseli. A Base64 egy kódolás, amely ezeket a bájtokat 64 nyomtatható ASCII karakterré alakítja (A-Z, a-z, 0-9, +, /). A szöveges környezetek (HTML, JSON, e-mail) nem tudnak bináris adatokat továbbítani; a Base64 megoldja ezt a problémát 33%-os méretnövekedés árán.
Miért olyan hosszú a Data URI-m?
Egy 30 KB-os bináris kép ~40 KB-os lesz Base64-ben. És minden karakter egy ASCII bájt, tehát igen, a karakterlánc hosszú. Ez a kódolás velejárója. Nagy képek esetén tartsa meg a külső fájlt.
Minden böngésző támogatja a Data URI-kat?
Igen, a modern böngészők kivétel nélkül (Chrome, Firefox, Safari, Edge, még az IE8 óta). Korábbi korlátok: az IE8-nál 32 KB volt a limit. Ma már nincs ilyen gond a weben.
Hogyan dekódoljunk egy Data URI-t?
A Base64 képdekódoló eszközünk elvégzi a fordított műveletet: illessze be a Data URI-t, és kapja meg a feltöltésre vagy mentésre kész képfájlt (PNG, JPG, SVG, WebP).
Base64 vs. URL kódolás SVG-nél?
SVG esetén az URL kódolás (encodeURIComponent segítségével) rövidebb karakterláncot eredményez, mint a Base64, és szövegként olvasható marad. Ez a javasolt választás CSS-ben, ha beágyazott SVG-t használunk. Bináris formátumok (PNG, JPG) esetén a Base64 továbbra is kötelező.
Befolyásolja-e a Base64 kódolás a képminőséget?
Nem. A kódolás lossless (veszteségmentes): ez egy bináris bájt ↔ Base64 karakterlánc megfeleltetés. Az eredeti pixelek szigorúan megőrződnek. Csak a továbbított fájl mérete nő meg 33%-kal.
Gyakran ismételt kérdések
Mikor érdemes elkerülni a Data URI-t?
Amint egy kép meghaladja a tíz kilobájtot, és valószínűleg több oldalon is felhasználásra kerül, egy külső fájl előnyösebb. A böngésző ekkor külön tudja gyorsítótárazni a HTML-től, amely hivatkozik rá. Egy Data URI meghosszabbítja a fő dokumentumot, és minden oldalbetöltéskor újra le kell tölteni a képet.
Elküldik a képemet egy szerverre?
A kép a kódolás idejére áthalad a szerverünkön, de az eredmény visszaküldése után nem őrizzük meg. Semmilyen harmadik fél szolgáltatását nem vesszük igénybe. Szigorúan bizalmas fájl esetén a helyi megfelelője a base64 -w 0 kepem.png Linuxon vagy a certutil -encode Windows alatt.
Miért érdemes az URL kódolást preferálni a base64 helyett SVG-nél?
Az SVG egy XML szöveg. Base64-gyel kódolva olvashatatlanná és körülbelül 33%-kal nagyobbá válik. Az URL kódolással (encodeURIComponent segítségével) az eredmény olvasható és rövidebb marad. CSS-ben a url("data:image/svg+xml;utf8,<svg…>") használata a speciális karakterek eszképelésével kisebb végső fájlt eredményez, mint a base64 verzió.
Mekkora a maximális kódolható méret?
Az űrlap által elfogadott fájlméret néhány megabájtban van korlátozva, ami elegendő az ikonok, bélyegképek és avatárok döntő többségéhez. Ezen túl már kilép a Data URI ésszerű használati köréből: egy CDN által kiszolgált statikus fájl sokkal hatékonyabb lesz mind a böngésző, mind a Core Web Vitals mérőszámai számára.
Miért nem gyorsítótárazza a böngésző a Data URI-t?
A HTTP gyorsítótár URL-ek alapján működik. Egy Data URI része az őt tartalmazó dokumentumnak, így azzal együtt töltődik be újra. Ezzel szemben egy külső ikon, például icon.png, egyszer kerül a gyorsítótárba, és minden olyan oldal újra felhasználja, amely hivatkozik rá. Ez a fő oka annak, hogy a Data URI résmegoldás marad, nem pedig általános helyettesítő.
Kérés példa
curl -X POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute \
-F "file=@/path/to/file"
Bemeneti séma
| Mező | Típus | Kötelező | Alapértelmezett |
|---|---|---|---|
file |
file | ✓ | – |
ez az eszköz fájlt vár - használjon Content-Type multipart/form-data értéket application/json helyett
Végpontok
GET https://cdrn.fr/api/v1/tools- listázza az összes elérhető eszköztGET https://cdrn.fr/api/v1/tools/base64-image-encoder- lekéri ezen eszköz sémájátPOST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute- végrehajtja ezen eszközt JSON payloaddal