Een afbeelding coderen naar Base64 / Data URI

converteert je afbeeldingen naar Base64-strings, ideaal om afbeeldingen direct in HTML of CSS te embedden zonder extra HTTP-verzoek
Bestandsformaat

Je kunt een onbeperkt aantal afbeeldingen uploaden met een maximaal gewicht van 20M.

Beveiliging

Je gegevens worden niet op onze servers opgeslagen.

Ondersteunde browsers

Alle recente browsers worden ondersteund. Mocht je toch een bug tegenkomen, laat het ons weten zodat we hem kunnen oplossen.

Wat is een Data URI?

Een Data URI is een URL die direct de gegevens van een bron bevat in plaats van naar een extern bestand te wijzen. De algemene vorm is data:[<mediatype>][;base64],<data>. Voor een afbeelding heeft men typisch data:image/png;base64,iVBORw0KGgo…. De bron is ingebed in de HTML, CSS of JSON en wordt geladen zonder enige extra HTTP-aanvraag.

Waarom een afbeelding in Base64 coderen?

Veelvoorkomende redenen:

  • HTTP-aanvragen verminderen: een pictogram direct in CSS integreren in plaats van het naast het document te laden
  • E-mailhandtekening met inline afbeelding: geen risico dat de afbeelding wordt geblokkeerd als externe inhoud
  • Web Components / Web Workers: waar het laden van een externe bron vaak een scope- of CORS-probleem oplevert
  • Lokale opslag (LocalStorage, IndexedDB, database): een avatar-thumbnail serialiseren als string
  • Self-contained snippets: een HTML-bestand dat zichzelf voldoet, zonder externe afhankelijkheid

Typische gebruiksgevallen

Enkele concrete contexten waarin Base64-afbeeldingscodering gerechtvaardigd is:

  • Inline SVG-pictogrammen in CSS (background-image: url("data:image/svg+xml;base64,…"))
  • Gepersonaliseerde e-mailhandtekeningen met logo
  • Snel prototypen van een zelfstandige pagina die per e-mail wordt gedeeld
  • Zelfstandige web components (één enkel implementeerbaar bestand)
  • PDF-generatie aan browserkant (jsPDF) met ingebedde miniaturen
  • Testgegevens (mocks) die afbeeldingen bevatten

Hoe u het gebruikt

Drie stappen:

  1. Upload uw afbeelding (PNG, JPG, SVG, WebP, GIF) via de drop-zone
  2. Klik op "Coderen"
  3. Kopieer de resulterende Data URI met de speciale knop en plak deze in uw HTML, CSS of JSON

Beperkingen en goede praktijken

Base64 is geen wondermiddel. Enkele voorzorgsmaatregelen:

  • Base64 verhoogt de grootte met ~33%: 4 ASCII-tekens voor elke 3 binaire bytes
  • Gecodeerde afbeeldingen worden niet apart in de cache geplaatst door de browser; ze worden opnieuw geladen met de HTML/CSS die ze bevat
  • Verkies voor afbeeldingen van minder dan 10 KB; daarboven is een extern bestand over het algemeen efficiënter
  • Voor SVG, verkies URL-codering (via encodeURIComponent) boven Base64: het resultaat is korter en blijft parseerbaar als tekst
  • Moderne buildtools (Webpack, Vite) automatiseren de keuze Base64 vs. extern bestand via een instelbare drempelgrootte

Concrete voorbeelden

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

Wat is het verschil tussen Base64 en binair?

Binair vertegenwoordigt de ruwe bytes van een bestand. Base64 is een codering die deze bytes omzet in 64 afdrukbare ASCII-tekens (A-Z, a-z, 0-9, +, /). Tekstcontexten (HTML, JSON, e-mail) kunnen geen binair transporteren; Base64 lost dit probleem op ten koste van een groottetoename van 33%.

Waarom is mijn Data URI zo lang?

Een afbeelding van 30 KB binair wordt ~40 KB in Base64. En elk teken is een ASCII-byte, dus ja, de tekenreeks is lang. Het is inherent aan de codering. Voor grote afbeeldingen, houd een extern bestand.

Ondersteunen alle browsers Data URI's?

Ja, zonder uitzondering onder moderne browsers (Chrome, Firefox, Safari, Edge, zelfs sinds IE8). Historische limieten: IE8 was gelimiteerd op 32 KB. Geen probleem meer vandaag op het web.

Hoe decodeer ik een Data URI?

Onze Base64-afbeeldingsdecoder voert de omgekeerde bewerking uit: plak uw Data URI, krijg het afbeeldingsbestand (PNG, JPG, SVG, WebP) klaar om te uploaden of op te slaan.

Base64 vs. URL-codering voor SVG's?

Voor SVG produceert URL-codering (met encodeURIComponent) een kortere tekenreeks dan Base64 en blijft deze leesbaar als tekst. Het is de aanbevolen keuze in CSS bij het inline integreren van een SVG. Voor binaire formaten (PNG, JPG) blijft Base64 verplicht.

Beïnvloedt Base64-codering de kwaliteit van de afbeelding?

Nee. De codering is lossless: het is een bijectie binaire byte ↔ Base64-tekenreeks. De originele pixels blijven strikt behouden. Alleen de grootte van het getransporteerde bestand neemt toe met 33%.

Veelgestelde vragen

Wanneer kunt u beter de Data URI vermijden?

Zodra een afbeelding meer dan een tiental kilobytes overschrijdt en waarschijnlijk op meerdere pagina's wordt hergebruikt, is een extern bestand de voorkeur. De browser kan deze dan apart van de HTML die ernaar verwijst, in de cache plaatsen. Een Data URI verlengt het hoofddocument en verplicht u om de afbeelding bij elke pagina-load opnieuw te downloaden.

Wordt mijn afbeelding naar een server verzonden?

De afbeelding passeert onze server gedurende de tijd van de codering en wordt niet bewaard na de terugkeer van het resultaat. Geen enkele service van derden wordt geraadpleegd. Voor een strikt vertrouwelijk bestand is het lokale equivalent base64 -w 0 mijn-afbeelding.png onder Linux of certutil -encode onder Windows.

Waarom de voorkeur geven aan URL-codering boven base64 voor een SVG?

Een SVG is XML-tekst. In base64 gecodeerd wordt deze onleesbaar en ongeveer 33% omvangrijker. In URL-codering via encodeURIComponent blijft het resultaat leesbaar en korter. In CSS levert het schrijven van url("data:image/svg+xml;utf8,<svg…>") met de speciale tekens geëscaped een kleiner eindbestand op dan een base64-versie.

Wat is de maximale grootte die ik kan coderen?

De bestandsgrootte die door het formulier wordt geaccepteerd, is beperkt tot enkele megabytes, voldoende voor de overgrote meerderheid van pictogrammen, miniaturen en avatars. Daarboven verlaat u de redelijke gebruikscase van een Data URI: een statisch bestand dat door uw CDN wordt geserveerd, zal veel efficiënter zijn voor de browser en voor uw Core Web Vitals-metrieken.

Waarom plaatst de browser een Data URI niet in de cache?

De HTTP-cache werkt per URL. Een Data URI maakt deel uit van het document dat hem bevat, dus wordt deze opnieuw geladen met het document. Een extern pictogram in icon.png daarentegen wordt eenmaal in de cache geplaatst en hergebruikt op alle pagina's die ernaar verwijzen. Dat is de belangrijkste reden waarom de Data URI een nicheproduct blijft, geen algemene vervanger.

Voorbeeldverzoek

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

Invoerschema

Veld Type Vereist Standaard
file file

deze tool verwacht een bestand - gebruik Content-Type multipart/form-data in plaats van application/json

Endpoints

  • GET https://cdrn.fr/api/v1/tools - toont alle beschikbare tools
  • GET https://cdrn.fr/api/v1/tools/base64-image-encoder - geeft het schema van deze tool terug
  • POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute - voert deze tool uit met een JSON-payload