> base64 | decode | PNG <
// Dekod Base64-strenger og data-URI-er tilbake til PNG-bilder — alfa bevares, umiddelbar forhåndsvisning, nedlasting med ett klikk
Dekodet PNG vises her
Bit-perfekt
Den dekodede PNG-en er byte-identisk med originalen — alfa, palett og fargeprofil overlever round-trip uskadd.
Lokal dekoding
Base64-nyttelasten dekodes i nettleseren din med atob(). Ingen serveropplasting, ingen logging av PNG-bytene dine.
Sanntids forhåndsvisning
Se det dekodede bildet, dimensjonene og omtrentlig filstørrelse umiddelbart før du laster ned.
// OM BASE64 TIL PNG
Hva dette verktøyet aksepterer
- >Data-URI: data:image/png;base64,iVBORw0KGgo…
- >Rå PNG-Base64-nyttelast (starter med iVBORw0KGgo)
- >Base64 med innebygde mellomrom / linjeskift
- >Standard RFC 4648-alfabet (+/, valgfri =-utfylling)
- >URL-sikker Base64 (-_) — normaliseres automatisk ved dekoding
- >Unicode-bevisst innliming — BOM-er fjernes
Vanlige bruksområder
- >Lagre et skjermbilde fra en DOM-inspektørs data-URI
- >Trekke ut en logo fra en data-uri CSS-bakgrunn
- >Gjenopprette et bilde fra et JSON-API-svar
- >Gjenopprette et bilde fra en TEXT-kolonne i en database
- >Gjenopprette en PNG fra en e-post-MIME-del
- >Inspisere et ikon innebygd i en inline-SVG
- >Feilsøke en ødelagt <img src="data:image/png;base64,…">-tagg
Slik fungerer Base64 → PNG-dekoding
Dekoderen fjerner ethvert data-URI-prefiks, normaliserer mellomrom og URL-sikre tegn, og kaller deretter atob() for å konvertere hver gruppe på 4 tegn tilbake til 3 binære byte. Byte-arrayet pakkes i en Blob med MIME-typen image/png, får en object-URL og gjengis i et <img>-element. Siden Base64 er bijektiv med binær, er utdataene bit-identiske med den opprinnelige PNG-en — en SHA-256 av den dekodede filen samsvarer med originalen.
Eksempel på PNG-data-URI:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==
Ytelse og kompatibilitet
- >Dekoding er O(n) på nyttelastlengden — håndterer 100 MB+ uten problemer
- >Bruker nettleserens native atob() — ingen tung JS-shim
- >Støtter flerbilde-APNG når fremviseren støtter det
- >Fungerer i alle moderne nettlesere (Chrome, Firefox, Safari, Edge)
- >Mobiltilpasset forhåndsvisning med knip-for-å-zoome
- >Nedlasting bruker en Blob-URL — ingen mellomliggende server-round-trip
// SLIK DEKODER DU BASE64 TIL PNG
Trinn 1: Lim inn
Lim inn Base64-strengen eller hele data-URI-en i inndatafeltet
Trinn 2: Dekod
Klikk på [DECODE] — PNG-en gjengis umiddelbart i forhåndsvisningen
Trinn 3: Inspiser
Sjekk dimensjoner, filstørrelse og alfakanal før du lagrer
Trinn 4: Last ned
Klikk på [DOWNLOAD .png] for å lagre en bit-identisk PNG på disk
// KODEEKSEMPLER — BASE64 TIL PNG
JavaScript (Browser)
// Decode Base64 → PNG Blob → download link
const b64 = 'iVBORw0KGgoAAAANSUhEUg...';
const bin = atob(b64);
const arr = new Uint8Array(bin.length);
for (let i = 0; i < bin.length; i++) arr[i] = bin.charCodeAt(i);
const blob = new Blob([arr], { type: 'image/png' });
const url = URL.createObjectURL(blob);
window.open(url);
Dekod en rå Base64-nyttelast til en Blob og åpne den. For en full data-URI aksepterer <img>-taggen den direkte.
Node.js
const fs = require('fs');
const b64 = 'iVBORw0KGgoAAAANSUhEUg...';
fs.writeFileSync('out.png', Buffer.from(b64, 'base64'));
Énlinjer som bruker Nodes innebygde Buffer til å dekode Base64 og skrive en PNG-fil.
Python
import base64
with open('out.png', 'wb') as f:
f.write(base64.b64decode('iVBORw0KGgoAAAANSUhEUg...'))
Kun standardbiblioteket — dekod Base64-tekst tilbake til PNG-byte.
PHP
<?php
file_put_contents('out.png', base64_decode('iVBORw0KGgoAAAANSUhEUg...'));
Énlinjer som bruker innebygde base64_decode() og file_put_contents().
Shell (macOS / Linux)
echo 'iVBORw0KGgoAAAANSUhEUg...' | base64 -d > out.png
POSIX base64 -d / -D leser tekst fra stdin og skriver den dekodede PNG-en til stdout.
// FAQ — BASE64 TIL PNG
Q: Hva er Base64-til-PNG-dekoding?
A: Det reverserer en Base64-kodet PNG tilbake til den opprinnelige binærformen. Strengen du limer inn, er 4 ASCII-tegn per 3 binære byte; dekoderen leser 4 tegn om gangen, bruker RFC 4648-alfabetoppslaget og skriver 3 byte per gruppe til strengen er oppbrukt. Det resulterende byte-arrayet er en komplett, gyldig PNG-fil som du kan forhåndsvise, lagre eller sende hvor som helst en vanlig PNG aksepteres.
Q: Hvordan vet jeg at Base64-strengen virkelig er en PNG?
A: De første 8 bytene i hver PNG er den magiske signaturen 89 50 4E 47 0D 0A 1A 0A. Base64-kodet starter disse 8 bytene alltid med iVBORw0KGgo. Derfor er enhver Base64-streng som starter med iVBORw0KGgo en PNG. Andre formater har ulike prefikser: /9j/ er JPEG, R0lGOD er GIF, UklGR er WebP. Dekoderen vår oppdager PNG-er automatisk fra dette magiske prefikset og faller tilbake på MIME-typen i data-URI-en hvis den finnes.
Q: Kan jeg lime inn en data-URI eller bare rå Base64?
A: Begge deler. Hvis strengen din starter med data:image/png;base64,, fjerner dekoderen prefikset automatisk. Hvis du limer inn bare nyttelastdelen, utleder vi PNG-MIME-typen fra de magiske bytene. Mellomrom, linjeskift, vognreturer og tabulatorer normaliseres før dekoding, så du kan lime inn et pent formatert JSON-svar uten å ødelegge noe.
Q: Den dekodede PNG-en er ødelagt — hvorfor?
A: Vanlige årsaker:
• Avkortet streng — Base64 ble kuttet av et sted (f.eks. av en linjegrense i kopikilden din). En komplett PNG-Base64 slutter med RU5ErkJggg== (IEND-chunken); mangler den, er filen ufullstendig.
• URL-sikkert alfabet — hvis strengen bruker -_ i stedet for +/ (base64url), normaliserer verktøyet vårt det; andre dekodere kan avvise det.
• Dobbeltkodet — PNG-en ble Base64-kodet to ganger. Dekod den igjen.
• Ikke en PNG — nyttelasten er faktisk JPEG eller WebP. Bruk vår generiske Base64 → Bilde-dekoder som oppdager ethvert format automatisk.
Q: Mister dekoding tilbake til PNG kvalitet eller gjennomsiktighet?
A: Nei. Base64 er en bit-for-bit reversibel transformasjon. Den dekodede PNG-en er byte-identisk med originalen: alfakanal, palett (PLTE), gjennomsiktighet (tRNS), fargeprofil (iCCP/sRGB), gamma (gAMA) og fysiske pikseldimensjoner (pHYs) overlever alle. En SHA-256-hash av den dekodede filen samsvarer med hashen av originalen. Hvis du ser noen forskjell, skjedde endringen før koding, ikke under Base64-round-trippet.
Q: Kan jeg dekode Base64 til PNG ved hjelp av terminalen?
A: Ja. På macOS og Linux: echo 'iVBORw0KGgo…' | base64 -d > out.png
(macOS bruker -D i eldre versjoner.)
På Windows PowerShell: [IO.File]::WriteAllBytes('out.png', [Convert]::FromBase64String('iVBORw0KGgo…'))
Hvis strengen er en full data-URI, fjern først prefikset data:image/png;base64, (de fleste sheller aksepterer sed 's|^data:.*base64,||').
Q: Hvor stor kan Base64-PNG-inndataene være?
A: Vi dekoder i nettleseren, så grensen er enhetens minne — komfortabelt 100 MB+ på desktop. En 100 MB dekodet PNG ville trenge ~135 MB Base64-tekst, som de fleste nettlesere limer inn uten problemer. Hvis du jobber med svært store vitenskapelige eller medisinske PNG-er, bør du vurdere dekoding på serversiden i stedet, fordi ytelsen til atob() i nettleseren forringes nær minnetaket.
Q: Fungerer denne dekoderen offline?
A: Ja. All dekoding bruker de native API-ene atob() + Uint8Array + Blob, som er innebygd i enhver moderne nettleser. Etter at siden er lastet inn én gang, kan du koble fra nettverket og fortsette å dekode. Ingen eksterne tjenester, ingen server-round-trip, ingen analyse av bildenyttelasten din.
Q: Hva er forskjellen mellom en Base64-PNG og en vanlig PNG-fil?
A: De inneholder nøyaktig de samme bytene. En vanlig .png-fil er den rå binæren; en Base64-PNG-streng er den samme binæren omskrevet i 64-tegns ASCII-alfabetet. Base64-formen er 33 % større, men trygg å legge inn i HTML-attributter, JSON-strenger, CSS-url()-er og e-poster. Du kan ikke legge rå PNG-byte inn i HTML — de inneholder null-byte og high-bit-tegn som ødelegger tekstparsere. Base64 er løsningen.
Q: Lastes en Base64-PNG raskere enn en separat .png-fil?
A: Bare for små bilder. Base64 sparer én HTTP-round-trip, som kan være 50–100 ms på en ny tilkobling — nyttig for kritiske UI-ikoner under 4 KB. For alt større vinner en separat .png-fil servert med langvarige cache-headere nesten alltid, fordi (a) gzip komprimerer Base64-tekst dårlig, (b) data-URI-er ikke kan caches uavhengig, og (c) de blokkerer HTML-parsing. Bruk Base64 for above-the-fold-mikroressurser, ikke hero-bilder.
Q: Kan jeg dekode Base64 til PNG uten å laste opp dataene noe sted?
A: Ja — dette verktøyet kjører 100 % på klientsiden. Base64-strengen din dekodes i JavaScript på enheten din, pakkes lokalt i en Blob og vises via URL.createObjectURL(). Ingenting lastes opp. Du kan verifisere dette ved å åpne nettverksfanen i nettleserens dev-verktøy mens du dekoder — ingen forespørsler sendes ut. Å kjøre hele flyten offline (flymodus) fungerer også etter den første sideinnlastingen.
Q: Hvordan dekoder jeg Base64 til PNG i produksjonskode?
A: I Node.js: fs.writeFileSync('out.png', Buffer.from(b64, 'base64')). I Python: open('out.png','wb').write(base64.b64decode(b64)). I Go: b, _ := base64.StdEncoding.DecodeString(b64); os.WriteFile("out.png", b, 0644). I Java: Files.write(Path.of("out.png"), Base64.getDecoder().decode(b64)). I Rust: std::fs::write("out.png", base64::decode(b64)?)?. I PHP: file_put_contents('out.png', base64_decode($b64)). Standardbiblioteket i hver runtime leveres med en Base64-dekoder — du trenger sjelden en tredjepartsavhengighet.
Q: Base64 til PNG vs. Base64 til JPG — hvilken dekoder bør jeg bruke?
A: Bruk Base64 → PNG når Base64-strengen starter med iVBORw0KGgo (eller data-URI-en sier data:image/png;base64,). Bruk Base64 → JPG når strengen starter med /9j/4AAQ eller /9j/2wC. Hvis du er usikker, bruk vår generiske Base64 → Bilde-dekoder som inspiserer de magiske bytene og velger riktig format automatisk. Tving aldri et format som ikke samsvarer med nyttelasten — den dekodede filen vil være gyldige byte, men uleselig.