BMP til Base64-konverter

Kod Windows-bitmapfiler (.bmp) som Base64. Fordi BMP som regel er ukomprimeret, kan du konvertere filen til PNG, JPEG eller WebP først og få et meget kortere resultat.

Kører udelukkende i din browser. Intet bliver uploadet.

Sådan bruger du værktøjet

  1. Træk en .bmp-fil hen på feltet, klik for at vælge en, eller indsæt et billede.
  2. Vælg PNG under Konvertér til for at få et tabsfrit og meget mindre resultat, eller behold BMP, hvis det modtagende system kræver det.
  3. Sammenlign den oprindelige størrelse med den kodede størrelse for at se besparelsen.
  4. Kopiér eller download resultatet som data URI, rå Base64, img-tag, CSS-regel eller Markdown-billede.

Hvad er en BMP-fil?

BMP er Windows-formatet til enhedsuafhængige bitmaps. Det gemmer pixel række for række, næsten altid uden komprimering (der findes en simpel run-length-tilstand til billeder med 4 og 8 bit). MIME-typen er image/bmp, selv om nogle systemer angiver image/x-ms-bmp, og Base64-outputtet starter med Qk, som er de kodede bogstaver BM.

Uden komprimering følger størrelsen direkte af dimensionerne. Et 24-bit-billede på 800 gange 600 pixel fylder ca. 1,4 MB, og Base64-udgaven er tæt på 1,9 MB tekst.

Konvertér til PNG før kodningen

PNG er også tabsfrit, så et typisk 24-bit-bitmap, der konverteres til PNG, beholder sine pixel nøjagtigt, mens filen skrumper, ofte flere gange og endnu mere for skærmbilleder og flad grafik. Til fotos, der er gemt som BMP, giver JPEG eller WebP med god kvalitet en endnu kortere streng. Den oprindelige og den kodede størrelse, der vises for hvert billede, gør forskellen let at se.

Hvornår du skal beholde den oprindelige BMP

Nogle modtagere forventer et ægte bitmap: ældre Windows-software, label- og bonprintere, små skærme, der styres af mikrocontrollere, eller testfiler, der skal matche en fil byte for byte. I de tilfælde skal du lade konverteringen være slået fra; Base64-outputtet er så en nøjagtig kopi af filen. Alle større browsere kan vise data:image/bmp-billeder, men til websider og e-mail er PNG det bedre format.

Den samme konvertering i et script med Python og Pillow:

from PIL import Image
import base64, io

buf = io.BytesIO()
Image.open('scan.bmp').save(buf, 'PNG')
uri = 'data:image/png;base64,' + base64.b64encode(buf.getvalue()).decode()

Ofte stillede spørgsmål

Hvorfor er min BMP-streng i Base64 så lang?

BMP gemmer alle pixel uden komprimering, og Base64 lægger yderligere en tredjedel oveni. Konverterer du først til PNG, bliver strengen som regel dramatisk kortere, uden at du mister nogen detaljer.

Mister jeg kvalitet ved at konvertere BMP til PNG?

Nej. PNG er et tabsfrit format, så pixelene forbliver de samme. Det er kun måden, de gemmes på, der ændres.

Kan browsere vise en data:image/bmp-URI?

Ja, Chrome, Edge, Firefox og Safari viser alle BMP. E-mailprogrammer og mange onlineplatforme håndterer formatet mindre pålideligt, så der er PNG det sikreste valg.

Understøtter BMP gennemsigtighed?

En 32-bit-BMP kan gemme en alfakanal, men programmer og browsere behandler den uensartet. Hvis du har brug for gennemsigtighed, så konvertér til PNG eller WebP.