Koda en bild till Base64 / Data URI
- Panel
- Dokumentation
- API
Filformat
Du kan ladda upp ett obegränsat antal bilder med en maxstorlek på 20M.
Säkerhet
Dina data lagras inte på våra servrar.
Webbläsare som stöds
Alla nyare webbläsare stöds. Skulle du ändå stöta på en bugg, säg till så fixar vi den.
Vad är en Data URI?
En Data URI är en URL som direkt innehåller en resurs data istället för att
peka på en fjärrfil. Den allmänna formen är
data:[<mediatype>][;base64],<data>. För en bild har man typiskt
data:image/png;base64,iVBORw0KGgo…. Resursen är inbäddad i HTML, CSS eller JSON
och laddas utan någon ytterligare HTTP-förfrågan.
Varför koda en bild i Base64?
Vanliga motiv:
- Minska HTTP-förfrågningar: bädda in en ikon direkt i CSS istället för att ladda den utöver dokumentet
- Email-signatur med inline-bild: ingen risk att bilden blockeras som fjärrinnehåll
- Web Components / Web Workers: där det ofta är problematiskt med scope eller CORS att ladda en extern resurs
- Lokal lagring (LocalStorage, IndexedDB, databas): serialisera en avatarminiatyr som sträng
- Självständiga snippets: en HTML-fil som är fristående, utan externa beroenden
Typiska användningsfall
Några konkreta sammanhang där Base64-kodning av bild är motiverad:
- Inline SVG-ikoner i CSS (
background-image: url("data:image/svg+xml;base64,…")) - Personliga e-postsignaturer med logotyp
- Snabb prototyp av en fristående sida som delas via e-post
- Fristående web components (en enda deploybar fil)
- PDF-generering på klientsidan (jsPDF) med inbäddade miniatyrer
- Testdata (mocks) som innehåller bilder
Så använder du det
Tre steg:
- Ladda upp din bild (PNG, JPG, SVG, WebP, GIF) via dropzonen
- Klicka på "Koda"
- Kopiera den resulterande Data URI:n med den dedikerade knappen och klistra in den i din HTML, CSS eller JSON
Gränser och bästa praxis
Base64 är ingen mirakellösning. Några försiktighetsåtgärder:
- Base64 ökar storleken med ~33 %: 4 ASCII-tecken per 3 binära bytes
- Kodade bilder cachas inte separat av webbläsaren; de laddas om tillsammans med den HTML/CSS som innehåller dem
- Att föredra för bilder under 10 KB; bortom det är en extern fil oftast mer effektiv
- För SVG, föredra URL-kodning (via
encodeURIComponent) framför Base64: resultatet blir kortare och förblir parsbart som text - Moderna byggverktyg (Webpack, Vite) automatiserar valet Base64 vs extern fil via en konfigurerbar tröskelstorlek
Konkreta exempel
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
Vad är skillnaden mellan Base64 och binär?
Binärt representerar de råa byten i en fil. Base64 är en kodning som omvandlar dessa bytes till 64 utskrivbara ASCII-tecken (A-Z, a-z, 0-9, +, /). Textsammanhang (HTML, JSON, e-post) kan inte transportera binärt; Base64 löser det problemet till priset av en storleksökning på 33 %.
Varför är min Data URI så lång?
En 30 KB-bild i binärt format blir ~40 KB i Base64. Och varje tecken är en ASCII-byte, så ja, strängen är lång. Det är inneboende i kodningen. För stora bilder, behåll en extern fil.
Stöder alla webbläsare Data URI?
Ja, utan undantag bland moderna webbläsare (Chrome, Firefox, Safari, Edge sedan IE8). Historiska begränsningar: IE8 hade en gräns på 32 KB. Inget bekymmer idag på webben.
Hur avkodar man en Data URI?
Vår Base64-bildavkodare gör den omvända operationen: klistra in din Data URI, få tillbaka bildfilen (PNG, JPG, SVG, WebP) redo att ladda upp eller spara.
Base64 vs URL-kodning för SVG?
För SVG ger URL-kodning (med encodeURIComponent) en kortare sträng än
Base64 och förblir läsbar som text. Det är det rekommenderade valet i CSS när man bäddar in en inline SVG.
För binära format (PNG, JPG) är Base64 fortfarande obligatoriskt.
Påverkar Base64-kodning bildens kvalitet?
Nej. Kodningen är lossless: det är en bijektion binär byte ↔ Base64-sträng. De ursprungliga pixlarna är strikt bevarade. Endast storleken på den transporterade filen ökar med 33 %.
Vanliga frågor
När är det bättre att undvika Data URI?
Så snart en bild överstiger ett tiotal kilobyte och troligen återanvänds på flera sidor är en extern fil att föredra. Webbläsaren kan då cacha den separat från HTML:en som refererar till den. En Data URI förlänger huvuddokumentet och tvingar till nedladdning av bilden vid varje sidladdning.
Skickas min bild till en server?
Bilden passerar genom vår server under själva kodningen och sparas inte efter att resultatet
skickats tillbaka. Ingen tredjepartstjänst anlitas. För en strikt konfidentiell fil
är den lokala motsvarigheten base64 -w 0 mon-image.png på Linux eller
certutil -encode på Windows.
Varför föredra URL-kodning framför base64 för en SVG?
En SVG är XML-text. Kodad i base64 blir den oläslig och ungefär 33 % större.
Med URL-kodning via encodeURIComponent förblir resultatet läsbart och kortare.
I CSS ger url("data:image/svg+xml;utf8,<svg…>") med specialtecken
escapade en mindre slutgiltig fil än en base64-version.
Vilken maximal storlek kan jag koda?
Den filstorlek som accepteras av formuläret är begränsad till några megabyte, tillräckligt för den stora majoriteten av ikoner, miniatyrer och avatarer. Bortom det lämnar du det rimliga användningsfallet för en Data URI: en statisk fil serverad av ditt CDN blir mycket effektivare för webbläsaren såväl som för dina Core Web Vitals-mätningar.
Varför cachar webbläsaren inte en Data URI?
HTTP-cache fungerar per URL. En Data URI är en del av det dokument som innehåller den, så den
laddas om tillsammans med det. En extern ikon i icon.png, däremot, cachas
en gång för alla och återanvänds på alla sidor som refererar till den. Det är den huvudsakliga
anledningen till att Data URI förblir ett nischverktyg, inte en allmän ersättning.
Exempelförfrågan
curl -X POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute \
-F "file=@/path/to/file"
Indatasschema
| Fält | Typ | Obligatorisk | Standard |
|---|---|---|---|
file |
file | ✓ | – |
detta verktyg förväntar sig en fil - använd Content-Type multipart/form-data istället för application/json
Slutpunkter
GET https://cdrn.fr/api/v1/tools- listar alla tillgängliga verktygGET https://cdrn.fr/api/v1/tools/base64-image-encoder- hämtar schemat för detta verktygPOST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute- kör detta verktyg med en JSON-payload