Kod et billede til Base64 / Data URI

konverterer dine billeder til base64-filer, ideel til direkte integration af billeder i HTML- eller CSS-kode
Filformat

Du kan uploade et ubegrænset antal billeder med en maksimal vægt på 20M.

Sikkerhed

Dine data gemmes ikke på vores servere.

Understøttede browsere

Alle nyere browsere understøttes. Men hvis du støder på en fejl, så lad os det vide for rettelse.

Hvad er en data-URI?

En Data-URI er en URL, der direkte indeholder data fra en ressource i stedet for pege på en ekstern fil. Dens generelle form er data:[][;base64],. For et billede har vi typisk data:image/png;base64,iVBORw0KGgo…. Ressourcen er indlejret i HTML, CSS eller JSON og indlæst uden yderligere HTTP-anmodning.

Hvorfor kode et billede i Base64?

Fælles motiver:

  • Reducer HTTP-anmodninger: Integrer et ikon direkte i CSS'en i stedet for at indlæse det som supplement til dokumentet
  • E-mailsignatur med indbygget billede: ingen risiko for, at billedet blokeres som fjernindhold
  • Webkomponenter / Webarbejdere: hvor indlæsning af en ekstern ressource ofte udgør et scoping- eller CORS-problem
  • Lokal lagring (LocalStorage, IndexedDB, database): serialiser et avatar-miniaturebillede til streng
  • Selvstændige uddrag: en selvstændig HTML-fil uden eksterne afhængigheder

Typiske anvendelsestilfælde

Nogle konkrete sammenhænge, hvor Base64-billedkodning er berettiget:

  • SVG-inline-ikoner i CSS (baggrundsbillede: url("data:image/svg+xml;base64,…"))
  • Personlige e-mailsignaturer med logo
  • Hurtig prototyping af en selvstændig side delt via e-mail
  • Fristående webkomponenter (en enkelt deployerbar fil)
  • PDF-generering på browsersiden (jsPDF) med indlejrede miniaturebilleder
  • Testdata (håner), der indeholder billeder

Hvordan man bruger det

Tre trin:

  1. Upload dit billede (PNG, JPG, SVG, WebP, GIF) via dropzonen
  2. Klik på "Encode"
  3. Kopiér den resulterende data-URI med den dedikerede knap, og indsæt den i din HTML, CSS eller JSON

Grænser og bedste praksis

Base64 er ikke en sølvkugle. Nogle forholdsregler:

  • Base64 øger størrelsen med ~33 %: 4 ASCII-tegn for hver 3 binære bytes
  • Kodede billeder cachelagres ikke separat af browseren; de genindlæses med HTML/CSS, der indeholder dem
  • Foretrukket for billeder mindre end 10 KB; derudover er en ekstern fil generelt mere effektiv
  • For SVG skal du foretrække URL-kodning (via encodeURIComponent) frem for Base64: Resultatet er kortere og forbliver parserbart som tekst
  • Moderne byggeværktøjer (Webpack, Vite) automatiserer valget mellem Base64 og Base64. ekstern fil via en konfigurerbar tærskelstørrelse

Konkrete eksempler

HTML:

pixel

CSS:

.ikon {
  baggrund: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0i…") no-repeat;
  bredde: 16px;
  højde: 16px;
}

JSON (mock data):

{
  "bruger": {
    "name": "Adrien",
    "avatar": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA…"
  }
}

FAQ

Hvad er forskellen mellem Base64 og binær?

Binær repræsenterer de rå bytes af en fil. Base64 er en kodning, der transformerer disse bytes i 64 printbare ASCII-tegn (A-Z, a-z, 0-9, +, /). Det gør tekstkontekster (HTML, JSON, e-mail) ikke kan ikke bære binær; Base64 løser dette problem på bekostning af en størrelse overhead på 33 %.

Hvorfor er min data-URI så lang?

Et 30 KB-billede i binært bliver ~40 KB i Base64. Og hvert tegn er en ASCII-byte, så ja, kæden er lang. Dette er iboende til kodningen. For store billeder skal du beholde en ekstern fil.

Understøtter alle browsere data-URI'er?

Ja, uden undtagelse blandt moderne browsere (Chrome, Firefox, Safari, Edge siden IE8 endda). Grænser historisk: IE8 begrænset til 32 KB. Ikke flere bekymringer i dag på nettet.

Hvordan afkoder man en data-URI?

Vores Base64 billeddekoder gør det modsatte: indsæt din data-URI, få billedfilen (PNG, JPG, SVG, WebP) klar til at uploade eller gemme.

Base64 vs. URL-kodning til SVG'er?

For SVG producerer URL-kodning (med encodeURIComponent) en kortere streng end Base64 og forbliver læsbar som tekst. Dette er det anbefalede valg i CSS, når du integrerer en SVG inline. For binære formater (PNG, JPG) forbliver Base64 obligatorisk.

Påvirker Base64-kodning billedkvaliteten?

Nej. Kodningen er tabsfri: det er en binær byte ↔ Base64 strengbijektion. Pixels originalen er strengt bevaret. Kun størrelsen på den transporterede fil stiger med 33 %.

Ofte stillede spørgsmål

Hvornår er det bedre at undgå data-URI'en?

Så snart et billede overstiger ti kilobyte og vil sandsynligvis blive genbrugt på flere sider er en ekstern fil at foretrække. Browseren kan derefter sætte den ind cache separat fra den HTML, der refererer til den. En data-URI udvider hoveddokumentet og kræver for at downloade billedet igen ved hver sideindlæsning.

Er mit billede sendt til en server?

Billedet passerer gennem vores server under kodningen og opbevares ikke efter returnering af resultatet. Der anmodes ikke om tredjepartstjenester. For en strengt fortrolig fil, den lokale ækvivalent er base64 -w 0 my-image.png på Linux eller certutil -encode på Windows.

Hvorfor vælge URL-kodning frem for base64 for en SVG?

En SVG er XML-tekst. Base64-kodet, bliver den ulæselig og omkring 33 % større. I URL-kodning via encodeURIComponent forbliver resultatet læsbart og kortere. I CSS skal du skrive url("data:image/svg+xml;utf8,") med tegnene undslupne specials resulterer i en endelig fil, der er mindre end en base64-version.

Hvilken maksimal størrelse kan jeg kode?

Filstørrelsen, der accepteres af formularen, er begrænset til et par megabyte, tilstrækkeligt til langt de fleste ikoner, thumbnails og avatarer. Ud over det, forlader du rimelig brug en data-URI: en statisk fil, der serveres af dit CDN, vil være meget mere effektiv for browseren hvad angår dine Core Web Vitals-metrics.

Hvorfor cacherer browseren ikke en data-URI?

HTTP-cache fungerer efter URL. En data-URI er en del af det dokument, der indeholder det, så det er genopladet med det. Et eksternt ikon i icon.png er omvendt cachelagret én gang for alle og genbrugt på alle sider, der refererer til det. Dette er det vigtigste Dette er grunden til, at Data URI forbliver et nicheværktøj, ikke en generel erstatning.

Anmodningseksempel

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

Inputskema

Felt Type Påkrævet Standard
file file

dette værktøj forventer en fil - brug Content-Type multipart/form-data i stedet for application/json

Endpoints

  • GET https://cdrn.fr/api/v1/tools - lister alle tilgængelige værktøjer
  • GET https://cdrn.fr/api/v1/tools/base64-image-encoder - henter skemaet for dette værktøj
  • POST https://cdrn.fr/api/v1/tools/base64-image-encoder/execute - udfører dette værktøj med et JSON-payload