Så använder du verktyget
- Släpp en .bmp-fil på släppytan, klicka för att välja en fil eller klistra in en bild.
- Välj PNG under Konvertera till för ett förlustfritt och mycket mindre resultat, eller välj Behåll original om det mottagande systemet kräver BMP.
- Jämför originalstorleken med den kodade storleken för att se besparingen.
- Kopiera eller ladda ned resultatet som data URI, rå Base64, img-tagg, CSS-regel eller Markdown-bild.
Vad är en BMP-fil?
BMP är Windows format för enhetsoberoende bitmappar (device-independent bitmap). Det lagrar pixlarna rad för rad, nästan alltid utan komprimering (ett enkelt läge med skurlängdskodning finns för 4- och 8-bitarsbilder). MIME-typen är image/bmp, även om vissa system rapporterar image/x-ms-bmp, och Base64-resultatet börjar med Qk, de kodade bokstäverna BM.
Utan komprimering följer storleken direkt av måtten. En 24-bitarsbild på 800 gånger 600 pixlar kräver ungefär 1,4 MB, och dess Base64 blir nästan 1,9 MB text.
Konvertera till PNG före kodningen
PNG är också förlustfritt, så en typisk 24-bitars bitmapp som konverteras till PNG behåller exakt samma pixlar medan filen krymper, ofta flera gånger om och ännu mer för skärmbilder och grafik med jämna färgytor. För foton som har sparats som BMP ger JPEG eller WebP med god kvalitet en ännu kortare sträng. Originalstorleken och den kodade storleken som visas för varje bild gör det lätt att se skillnaden.
När du bör behålla den ursprungliga BMP-filen
Vissa mottagare förväntar sig en riktig bitmapp: äldre Windows-program, etikett- och kvittoskrivare, små displayer som styrs av mikrokontroller eller testdata som måste matcha en fil byte för byte. I de fallen låter du Behåll original vara valt; Base64-resultatet är då en exakt kopia av filen. Alla större webbläsare kan visa data:image/bmp-bilder, men för webbsidor och e-post är PNG ett bättre format.
Samma konvertering i ett skript, med Python och 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()
Vanliga frågor
Varför är min BMP-sträng i Base64 så lång?
BMP lagrar varje pixel utan komprimering, och Base64 lägger till ytterligare en tredjedel ovanpå det. Konverterar du först till PNG blir strängen oftast dramatiskt kortare, utan att några detaljer går förlorade.
Försämras kvaliteten när BMP konverteras till PNG?
Nej. PNG är ett förlustfritt format, så pixlarna förblir desamma. Det enda som ändras är hur de lagras.
Kan webbläsare visa en data:image/bmp-URI?
Ja, Chrome, Edge, Firefox och Safari visar alla BMP. E-postprogram och många onlineplattformar hanterar formatet mindre tillförlitligt, så där är PNG det säkrare valet.
Har BMP stöd för transparens?
En 32-bitars BMP kan lagra en alfakanal, men program och webbläsare hanterar den inkonsekvent. Om du behöver transparens bör du konvertera till PNG eller WebP.