Codarea unei imagini în Base64 / Data URI
- Panou de control
- Documentație
- API
Format de fișier
Poți încărca un număr nelimitat de imagini cu o greutate maximă de 20M.
Securitate
Datele tale nu sunt stocate pe serverele noastre.
Browsere suportate
Ansamblul browserelor recente este suportat. Dacă totuși întâlnești un bug, anunță-ne pentru corectare.
Ce este o Data URI?
O Data URI este un URL care conține direct datele unei resurse în loc să
indice spre un fișier la distanță. Forma sa generală este
data:[<mediatype>][;base64],<data>. Pentru o imagine, avem tipic
data:image/png;base64,iVBORw0KGgo…. Resursa este încorporată în HTML, CSS sau JSON
și încărcată fără nicio cerere HTTP suplimentară.
De ce să codezi o imagine în Base64?
Motivațiile curente:
- Reducerea cererilor HTTP: integrarea unei icoane direct în CSS în loc de a o încărca pe lângă document
- Semnătură email cu imagine inline: niciun risc ca imaginea să fie blocată ca conținut la distanță
- Web Components / Web Workers: unde încărcarea unei resurse externe pune adesea o problemă de scope sau de CORS
- Storage local (LocalStorage, IndexedDB, bază de date): serializarea unei miniaturi de avatar într-un string
- Self-contained snippets: un fișier HTML care se autosuficie, fără dependență externă
Cazuri de utilizare tipice
Câteva contexte concrete unde codarea Base64 a imaginii se justifică:
- Icoane SVG inline în CSS (
background-image: url("data:image/svg+xml;base64,…")) - Semnături email personalizate cu logo
- Prototipare rapidă a unei pagini autonome partajate prin e-mail
- Web components autonome (un singur fișier deployabil)
- Generare de PDF pe partea browser (jsPDF) cu miniaturi încorporate
- Date de test (mocks) care conțin imagini
Cum să-l utilizezi
Trei etape:
- Încarcă imaginea ta (PNG, JPG, SVG, WebP, GIF) prin zona de depunere
- Apasă pe « Codează »
- Copiază Data URI rezultantă cu butonul dedicat, și lipește-o în HTML, CSS sau JSON
Limite și bune practici
Base64 nu este o soluție minune. Câteva precauții:
- Base64 crește dimensiunea cu ~33%: 4 caractere ASCII pentru fiecare 3 bytes binari
- Imaginile codate nu sunt puse în cache separat de către browser; sunt reîncărcate cu HTML/CSS-ul care le conține
- De preferat pentru imagini sub 10 KB; dincolo, un fișier extern este în general mai eficient
- Pentru SVG, preferă codarea URL (prin
encodeURIComponent) mai degrabă decât Base64: rezultatul este mai scurt și rămâne parsabil ca text - Instrumentele de build moderne (Webpack, Vite) automatizează alegerea Base64 vs. fișier extern printr-un prag de dimensiune configurabil
Exemple concrete
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
Care este diferența dintre Base64 și binar?
Binarul reprezintă octeții bruți ai unui fișier. Base64 este o codare care transformă acești octeți în 64 de caractere ASCII imprimabile (A-Z, a-z, 0-9, +, /). Contextele text (HTML, JSON, email) nu pot transporta binar; Base64 rezolvă această problemă cu prețul unei creșteri de dimensiune de 33%.
De ce Data URI a mea este atât de lungă?
O imagine de 30 KB în binar devine ~40 KB în Base64. Și fiecare caracter este un byte ASCII, deci da, șirul este lung. Este inerent codării. Pentru imagini mari, păstrează un fișier extern.
Toate browserele suportă Data URI-urile?
Da, fără excepție printre browserele moderne (Chrome, Firefox, Safari, Edge din IE8 chiar). Limite istorice: IE8 plafona la 32 KB. Nicio grijă astăzi pe web.
Cum să decodezi o Data URI?
Decodorul nostru de imagini Base64 face operația inversă: lipește Data URI a ta, recuperează fișierul imagine (PNG, JPG, SVG, WebP) gata de încărcat sau de salvat.
Base64 vs. URL encoding pentru SVG-uri?
Pentru SVG, URL encoding (cu encodeURIComponent) produce un șir mai scurt decât
Base64 și rămâne lizibil ca text. Este alegerea recomandată în CSS când integrezi un SVG inline.
Pentru formatele binare (PNG, JPG), Base64 rămâne obligatoriu.
Codarea Base64 afectează calitatea imaginii?
Nu. Codarea este lossless: este o bijecție octet binar ↔ șir Base64. Pixelii de origine sunt strict păstrați. Doar dimensiunea fișierului transportat crește cu 33%.
Întrebări frecvente
Când este mai bine să eviți Data URI?
Imediat ce o imagine depășește o duzină de kiloocteți și este susceptibilă să fie reutilizată pe mai multe pagini, un fișier extern este preferabil. Browserul poate atunci să o pună în cache separat de HTML-ul care o referențiază. O Data URI alungește documentul principal și obligă la redescărcarea imaginii la fiecare încărcare de pagină.
Imaginea mea este trimisă pe un server?
Imaginea trece prin serverul nostru pe durata codării și nu este păstrată după returnul
rezultatului. Niciun serviciu terț nu este solicitat. Pentru un fișier strict confidențial,
echivalentul local este base64 -w 0 imaginea-mea.png pe Linux sau
certutil -encode sub Windows.
De ce să privilegiezi URL encoding mai degrabă decât base64 pentru un SVG?
Un SVG este text XML. Codat în base64, devine ilizibil și aproximativ 33% mai voluminos.
În URL encoding prin encodeURIComponent, rezultatul rămâne lizibil și mai scurt.
În CSS, a scrie url("data:image/svg+xml;utf8,<svg…>") cu caracterele
speciale escapate dă un fișier final mai mic decât o versiune base64.
Ce dimensiune maximă pot coda?
Dimensiunea fișierului acceptată de formular este limitată la câțiva megaocteți, suficient pentru marea majoritate a icoanelor, miniaturilor și avatarurilor. Dincolo, ieși din cazul de utilizare rezonabil al unei Data URI: un fișier static servit de CDN-ul tău va fi mult mai eficient pentru browser la fel ca și pentru metricile tale Core Web Vitals.
De ce browserul nu pune în cache o Data URI?
Cache-ul HTTP funcționează după URL. O Data URI face parte din documentul care o conține, deci este
reîncărcată cu el. O icoană externă în icon.png, dimpotrivă, este pusă în cache
o singură dată și reutilizată pe toate paginile care o referențiază. Acesta este motivul principal
pentru care Data URI rămâne un instrument de nișă, nu o înlocuire generală.
Exemplu de cerere
curl -X POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute \
-F "file=@/path/to/file"
Schema de intrare
| Câmp | Tip | Obligatoriu | Implicit |
|---|---|---|---|
file |
file | ✓ | – |
acest instrument așteaptă un fișier - utilizați Content-Type multipart/form-data în loc de application/json
Puncte de acces
GET https://cdrn.fr/api/v1/tools- listează toate instrumentele disponibileGET https://cdrn.fr/api/v1/tools/base64-image-encoder- obține schema acestui instrumentPOST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute- execută acest instrument cu un payload JSON